SQL INSERT INTO
精华
小牛编辑
170浏览
2023-03-14
SQL
INSERT INTO 语句用于向表中插入新的数据行。
1) 按指定的列插入数据,语法如下:
2) 为所有列插入数据,语法如下:
上述所有语句将为 website 表添加以下数据:
填充的语法如下:
语法
INSERT INTO 语句有两种基本的用法。1) 按指定的列插入数据,语法如下:
INSERT INTO table_name (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
2) 为所有列插入数据,语法如下:
INSERT INTO table_name VALUES (value1,value2,value3,...valueN);
为表中所有列添加数据时,可以不在 SQL 语句中指明列的名称,但是,请您确保插入的值的顺序和表中各列的顺序相同。示例
以下语句将在 website 表中插入 7 条记录:INSERT INTO website(name, url, age, alexa, uv, country) VALUES('百度', 'https://www.baidu.com/', 21, 4, 5010.5, 'CN'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('淘宝', 'https://www.taobao.com/', 17, 8, 3996.75, 'CN'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('小牛知识库', 'https://www.xnip.cn/', 12, 7923, 11.62, 'CN'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('Google', 'https://www.google.com/', 23, 1, 36474, 'US'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('GitHub', 'https://github.com/', 13, 95, 216.3, 'US'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('Stack Overflow', 'https://stackoverflow.com/', 16, 48, 592.2, 'US'); INSERT INTO website(name, url, age, alexa, uv, country) VALUES('Yandex', 'http://www.yandex.ru/', 11, 53, 591.82, 'RU');您也可以使用第二种形式向 website 表中插入一条记录,如下所示:
INSERT INTO website VALUES(8, 'VK', 'https://vk.com/', 23, 23, 1206, 'RU');
上述所有语句将为 website 表添加以下数据:
+----+------------------+----------------------------+-----+-------+---------+---------+ | id | name | url | age | alexa | uv | country | +----+------------------+----------------------------+-----+-------+---------+---------+ | 1 | 百度 | https://www.baidu.com/ | 21 | 4 | 5010.5 | CN | | 2 | 淘宝 | https://www.taobao.com/ | 17 | 8 | 3996.75 | CN | | 3 | 小牛知识库 | https://www.xnip.cn/ | 12 | 7923 | 11.62 | CN | | 4 | Google | https://www.google.com/ | 23 | 1 | 36474 | US | | 5 | GitHub | https://github.com/ | 13 | 95 | 216.3 | US | | 6 | Stack Overflow | https://stackoverflow.com/ | 16 | 48 | 592.2 | US | | 7 | Yandex | http://www.yandex.ru/ | 11 | 53 | 591.82 | RU | | 8 | VK | https://vk.com/ | 23 | 23 | 1206 | RU | +----+------------------+----------------------------+-----+-------+---------+---------+
使用一个表的数据填充另一个表
使用 SELECT 语句可以从另一个表中选取一组数据,这组数据可以使用 INSERT INTO 语句填充到当前的表。但前提是,另一个表中必须有一组字段和当前表的字段是匹配的。填充的语法如下:
INSERT INTO first_table_name [(column1, column2, ... columnN)] SELECT column1, column2, ...columnN FROM second_table_name [WHERE condition];