如果你想向你的SQL表添加数据,那么你可以使用INSERT 语句。
在这篇文章中,我将向你展示如何使用INSERT 语句来添加单行、多行,以及将行从一个SQL表复制到另一个表。
基本的INSERT语法
下面是在SQL中向表中添加记录的基本语法:
INSERT INTO table_name (column1, column2, column3,etc)
VALUES (value1, value2, value3, etc);
第一行代码使用INSERT 语句,后面是你想添加数据的表的名称。在表名之后,你应该指定列名。
第二行代码是你要添加行的值的地方。重要的是,值的数量要与指定的列的数量相匹配,否则你会得到一个错误信息。
如何向一个SQL表添加行
在这个例子中,我们有一个名为dogs 的表,其列为id,name 和gender 。 我们想添加一个名为AXEL 的狗。
这就是向表中添加AXEL 的代码:
INSERT INTO dogs(id, name, gender) VALUES (1, 'AXEL', 'M');
这就是表格的样子:

如果值的数量与列的数量不一致会发生什么?
如前所述,列的数量必须与值的数量相匹配。
如果我改变代码,删除一个值,那么我将得到一个错误信息:
INSERT INTO dogs(id, name, gender) VALUES (1, 'AXEL');

因为我们指定了3列,所以我们需要为添加到表中的每一行提供三个值。
如果你忽略了列的约束会发生什么?
当你创建SQL表时,你将添加列约束,作为列的规则。
在我们的dogs 表中,name 和gender 列有一个约束,即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');
这就是该表现在的样子:

如何从一个表中复制行并将其插入另一个表中
你可以使用SELECT 和INSERT 语句将行从一个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);
你可以使用SELECT 和INSERT 语句,将行从一个SQL表复制到另一个表中。
这就是基本的语法:
INSERT INTO table_name1 (columns)
SELECT columns FROM table_name2;
我希望你喜欢这篇文章,祝你的SQL之旅好运。