SQL INSERT

在表中插入数据

在前一章中,我们在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 |
+----+--------------------+------------+-------------+


浙ICP备17015664号-1 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载