Insert Into SQL - 如何插入到表的查询[示例语句]

178 阅读3分钟

如果你想向你的SQL表添加数据,那么你可以使用INSERT 语句。

在这篇文章中,我将向你展示如何使用INSERT 语句来添加单行、多行,以及将行从一个SQL表复制到另一个表。

基本的INSERT语法

下面是在SQL中向表中添加记录的基本语法:

INSERT INTO table_name (column1, column2, column3,etc)
VALUES (value1, value2, value3, etc);

第一行代码使用INSERT 语句,后面是你想添加数据的表的名称。在表名之后,你应该指定列名。

第二行代码是你要添加行的值的地方。重要的是,值的数量要与指定的列的数量相匹配,否则你会得到一个错误信息。

如何向一个SQL表添加行

在这个例子中,我们有一个名为dogs 的表,其列为id,namegender 。 我们想添加一个名为AXEL 的狗。

这就是向表中添加AXEL 的代码:

INSERT INTO dogs(id, name, gender) VALUES (1, 'AXEL', 'M');

这就是表格的样子:

如果值的数量与列的数量不一致会发生什么?

如前所述,列的数量必须与值的数量相匹配。

如果我改变代码,删除一个值,那么我将得到一个错误信息:

INSERT INTO dogs(id, name, gender) VALUES (1, 'AXEL');

因为我们指定了3列,所以我们需要为添加到表中的每一行提供三个值。

如果你忽略了列的约束会发生什么?

当你创建SQL表时,你将添加列约束,作为列的规则。

在我们的dogs 表中,namegender 列有一个约束,即NOT NULL 。这个规则意味着该行不能没有一个值。

当我试图为gender 添加NULL 时,我得到了一个错误信息:

INSERT INTO dogs(id, name, gender) VALUES (1, 'AXEL', NULL);

当添加行时,你在创建SQL表时指定的任何约束都需要被尊重。

如何在SQL中向表添加多行

如果你想一次向表中添加多条记录,那么你可以使用这个语法:

INSERT INTO table_name (column1, column2, column3,etc)
VALUES 
	(value1, value2, value3, etc),
    (value1, value2, value3, etc),
    (value1, value2, value3, etc);
	

重要的是要记住每行之间的逗号,否则你会得到一个错误信息:

这是一次性向表中添加八只狗的代码:

INSERT INTO dogs(id, name, gender) 
VALUES 
    (1, 'AXEL', 'M'),
    (2, 'Annie', 'F'),
    (3, 'Ace', 'M'),
    (4, 'Zelda', 'F'),
    (5, 'Diesel', 'M'),
    (6, 'Tilly', 'F'),
    (7, 'Leroy', 'M'),
    (8, 'Olivia', 'F');

这就是该表现在的样子:

如何从一个表中复制行并将其插入另一个表中

你可以使用SELECTINSERT 语句将行从一个SQL表复制到另一个表中。

这就是基本的语法:

INSERT INTO table_name1 (columns) 
SELECT columns FROM table_name2;

在这个例子中,我创建了一个cats 表,里面有三条记录,列名与dogs 表相同:

我们可以使用以下代码将所有的cats 数据添加到dogs 表中:

INSERT INTO dogs SELECT * FROM  cats;

这就是新的dogs 表的样子,其中增加了cats

结论

如果你想向你的SQL表添加数据,那么你可以使用INSERT 语句。

这里是向你的SQL表添加行的基本语法:

INSERT INTO table_name (column1, column2, column3,etc)
VALUES (value1, value2, value3, etc);

第二行代码是你将添加行的值的地方。重要的是,值的数量要与指定的列的数量相匹配,否则你会得到一个错误信息。

当你试图在向表中添加行时忽略列的限制,那么你将收到一个错误信息。

如果你想一次向表中添加多条记录,那么你可以使用这个语法:

INSERT INTO table_name (column1, column2, column3,etc)
VALUES 
	(value1, value2, value3, etc),
    (value1, value2, value3, etc),
    (value1, value2, value3, etc);

你可以使用SELECTINSERT 语句,将行从一个SQL表复制到另一个表中。

这就是基本的语法:

INSERT INTO table_name1 (columns) 
SELECT columns FROM table_name2;

我希望你喜欢这篇文章,祝你的SQL之旅好运。