1 Fork me on GitHub

13. SQL--insert into语句:插入数据

1. 前言

sql insert into 语句用于向表中插入新的数据行。
语法
insert into 语句有两种基本的用法。

1) 按指定的列插入数据,语法如下:

insert into table_name (column1, column2, column3,...columnn) 
values (value1, value2, value3,...valuen);

column1, column2, column3,...columnn 表示要插入数据的列名,value1, value2, value3,...valuen 表示每列对应的值。

2) 为所有列插入数据,语法如下:

insert into table_name values (value1,value2,value3,...valuen);

为表中所有列添加数据时,可以不在 SQL 语句中指明列的名称,但是,请您确保插入的值的顺序和表中各列的顺序相同。

2. 示例

以下语句将在 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('c语言中文网', 'http://c.biancheng.net/', 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 | C语言中文网      | http://c.biancheng.net/    |  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      |

3. 使用一个表的数据填充另一个表

使用 SELECT 语句可以从另一个表中选取一组数据,这组数据可以使用 INSERT INTO 语句填充到当前的表。但前提是,另一个表中必须有一组字段和当前表的字段是匹配的。

填充的语法如下:

insert into first_table_name [(column1, column2, ... columnn)]
    select column1, column2, ...columnn
    from second_table_name
    [where condition];

 

posted @ 2022-08-30 10:24  v_jjling  阅读(2926)  评论(0编辑  收藏  举报
AmazingCounters.com