轻松上手,快乐学习!

SQL INSERT INTO 语句


SQL INSERT INTO 语句

INSERT INTO 语句用于在表中插入新记录。

插入语法

可以用两种方式编写INSERT INTO语句。

第一种方法指定列名和要插入的值:

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

如果要为表的所有列添加值,则无需在SQL查询中指定列名。但是,请确保值的顺序与表中的列的顺序相同。INSERT INTO语法如下:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

演示数据库

以下是Northwind示例数据库中“Customers”表的选择:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland

插入示例

以下SQL语句在“Customers”表中插入新记录:

实例

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

运行实例»

查询“Customers”表结果如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway

您是否注意到我们没有在CustomerID字段中插入任​​何数字?
CustomerID列是一个自动增量字段,将在将新记录插入表中时自动生成。


指定列中插入数据

也可以仅在特定列中插入数据。

以下SQL语句将插入新记录,但仅在“CustomerName”,“City”和“Country”列中插入数据(CustomerID将自动更新):

实例

INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');

运行实例»

查询“Customers”表中结果如下所示:

CustomerID CustomerName ContactName Address City PostalCode Country
89 White Clover Markets Karl Jablonski 305 - 14th Ave. S. Suite 3B Seattle 98128 USA
90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
91 Wolski Zbyszek ul. Filtrowa 68 Walla 01-012 Poland
92 Cardinal null null Stavanger null Norway