最新的Web开发教程
 

SQL INSERT INTO声明


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


该SQL INSERT INTO语句

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

SQL INSERT INTO语法

它可以编写INSERT INTO语句两种形式。

第一种形式不指定列名其中数据将被插入,只有它们的值:

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

第二种形式指定要插入的两个列名和值:

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

演示数据库

在本教程中,我们将使用众所周知的Northwind示例数据库。

下面是从选择"Customers"表:

客户ID 顾客姓名 联系人姓名 地址 邮政编码 国家
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
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

INSERT INTO示例

假设我们希望在插入新行"Customers"表。

我们可以用下面的SQL语句:

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

试一试»

从选择"Customers"表现在这个样子:

客户ID 顾客姓名 联系人姓名 地址 邮政编码 国家
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
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

你有没有注意到,我们没有插入任何数量到客户id字段?
CustomerID列会自动在表中每个记录的唯一编号更新。


插入数据将只在指定的列

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

下面的SQL语句将插入新行,但只能在插入数据"CustomerName""City""Country"列(以及客户ID字段当然也会自动更新):

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

试一试»

从选择"Customers"表现在这个样子:

客户ID 顾客姓名 联系人姓名 地址 邮政编码 国家
87 Wartian Herkku Pirkko Koskitalo Torikatu 38 Oulu 90110 Finland
88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
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