如果你在数据库中创建了一个空表,则需要向其中添加记录。在本文中,你将了解如何使用 SQL 中的 INSERT 语句向表中添加记录。
请记住,如果此处提供的语法不起作用,你可以查看你正在使用的 SQL 文档。
SQL INSERT 语句语法
INSERT 语句指定要将记录添加到哪个表中。编写命令 INSERT INTO table_name,然后是关键字 VALUES,后跟要在括号内的每一列中添加的值,并用逗号分隔,如下所示:
INSERT INTO table_name
VALUES (value1, value2, value3...);这些值将按照在表中定义列的顺序被添加到列中。
如何为选定的列赋值
假设你只想为几列提供值 - 例如,如果你想避免手动设置 id,而是自动完成,你将使用以下语法:
INSERT INTO table_name(column1, column2...)
VALUES (value1, value2...);这些值将按照它们在括号中的写入顺序被分配给列。
SQL INSERT 语句示例
让我们创建一个表,然后我们将使用 INSERT 向其中添加前几条记录。
下面的代码将创建一个名为 users 的表,它有 5 列。我们将有一个 id 列作为 PRIMARY KEY(该列将始终具有唯一值,并允许我们唯一标识一行),然后是 name 、age、state 和 email 列。
CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, state TEXT, email TEXT);让我们使用第一个语法将第一条记录添加到该表中。
我们将使用以下查询添加用户 Paul,其 id 为 1,年龄为 24,state 是 Michigan,电子邮件地址为 paul@example.com:
INSERT INTO users
VALUES (1, "Paul", 24, "Michigan", "paul@example.com");这将使表格看起来像这样:

使用此语法,你必须为每一列指定一个值,否则它将引发错误,并且不能运行。
现在让我们使用上面看到的第二种语法添加一些其他记录。
INSERT INTO users (name, state)
VALUES ("Molly", "New Jersey");
INSERT INTO users (name, state, age)
VALUES ("Robert", "New York", 19);在这种情况下,第一个值被分配给第一个提到的列,因此 “Molly” 被分配给 name 列,“New Jersey” 被分配给 state 列。然后对于另一条记录,name 列的值为 “Robert”,state 列为 “New York”,age 列为 19。
未分配值的列会发生什么情况?类型为 INTEGER PRIMARY KEY AUTOINCREMENT 的列会自动更新,确保每一行都具有唯一值。当没有为其他列指定值时,它们被分配一个 NULL 值。
现在表格如下所示。请注意, id 列已更新为在每一行中具有唯一值,即使我们没有明确地为其分配值。尚未分配值的其他列的值为 NULL。

小结
当你刚在数据库中创建表时,它是空的。本文介绍了如何向表中添加记录,开始创建数据库。
原文:Insert Into SQL – SQL Insert Statement Example,作者:Ilenia Magoni