在表中插入数据
在前一章中,我们在demo数据库中创建了一个名为persons的表。现在我们在新创建的数据库表中插入一些数据。
INSERT INTO
语句用于向数据库表中插入新行。
语法
表中插入数据的基本语法如下:
INSERT INTO table_name (column1,column2,...) VALUES (value1,value2,...);
这里的column1,column2,...
表示字段名称,而value1,value2,...
表示这些列的对应值。
让我们在persons表中插入一些记录。
1. 查看表结构
在添加记录之前,最好先搞清楚表结构。在MySQL命令行上执行以下命令。它将显示表中字段信息,即列名、数据类型、约束等。
mysql> DESCRIBE persons;
输出如下:
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| birth_date | date | YES | | NULL | |
| phone | varchar(15) | NO | UNI | NULL | |
+------------+-------------+------+-----+---------+----------------+
3. 将记录添加到表中
下面的语句在persons表中插入一个新行。
INSERT INTO persons (name, birth_date, phone)
VALUES ('Peter Wilson', '1990-07-15', '0711-020361');
您是否注意到,我们没有为id
字段插入任何值。因为,如前面章节提到,id
字段用AUTO_INCREMENT
标记,它告诉MySQL如果这个字段没有指定值,就自动给它赋一个值。
注意: 像字符串和日期这样的非数字值必须始终用引号括起来,数字值不能用引号括起来。
同样,在persons表中插入另一行,如下所示:
INSERT INTO persons (name, birth_date, phone)
VALUES ('Carrie Simpson', '1995-05-01', '0251-031259');
以类似的方式在persons表中再插入一行:
INSERT INTO persons (name, birth_date, phone)
VALUES ('Victoria Ashworth', '1996-10-17', '0695-346721');
现在,执行以下命令,从persons表中选取记录,
SELECT * FROM persons;
输出将如下所示:
+----+--------------------+------------+-------------+
| id | name | birth_date | phone |
+----+--------------------+------------+-------------+
| 1 | Peter Wilson | 1990-07-15 | 0711-020361 |
| 2 | Carrie Simpson | 1995-05-01 | 0251-031259 |
| 3 | Victoria Ashworth | 1996-10-17 | 0695-346721 |
+----+--------------------+------------+-------------+