INSERT INTO
语句用于向表中插入新记录。
INSERT INTO 语法
INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
INSERT INTO 示例
演示数据库
在猿变手册教程中,我们将使用 猿变 样本数据库。
下面是选自 "articles" 表的数据:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------—+--------+---------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+
INSERT INTO实例
INSERT INTO articles (id, title, author, a_type, pub_date)
VALUES (199,'SQL自增ID','大猿',333, "2005-01-03");
执行以上 SQL,再读取 "articles" 表,数据如下所示:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------—+--------+---------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
|199 |SQL自增 | 大猿 | 333 | 2005-01-03 00:00:00 |
+----+--------------+----------+--------+---------------------+
请注意:
id 列一般是自动更新的,这在后面会讲到。
在指定的列插入数据
我们也可以在指定的列插入数据, 其他列会采用默认值。
下面的 SQL 语句将插入一个新行,但是只在 "title"、"author" 和 "a_type" 列插入数据(id 字段、pub_date会自动更新):
INSERT INTO articles (title, author, a_type)
VALUES ('字段默认值','大猿',332);
执行以上 SQL,再读取 "Websites" 表,数据如下所示:
+----+--------------+----------+--------+---------------------+
| id | title | author | a_type | pub_date |
+----+--------------+---------—+--------+---------------------+
| 1 | hadoop简介 | 大猿 | 311 | 2003-01-05 11:23:00 |
| 2 | python元类 | 小猿 | 163 | 2003-01-11 13:00:01 |
| 3 | HTML基础 | 猿大头 | 497 | 2004-03-09 12:00:00 |
| 4 | JavaScript | 猿媛 | 20 | 2005-11-3 17:34:12 |
| 5 | ETL快速入门 | 猿媛 | 3 | 2005-11-7 18:40:00 |
|199 |SQL自增 | 大猿 | 333 | 2005-01-03 00:00:00 |
| 200 | 字段默认值 | 大猿 | 332 | 2005-01-05 15:30:21 |
+----+--------------+----------+--------+---------------------+
其中 pub_date自动设置为发表文章时的当前时间值
讨论区