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 |