目录

MySQL INSERT INTO 语句


MySQL INSERT INTO 语句

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

插入语法

可以写成INSERT INTO声明有两种方式:

1. 指定要插入的列名称和值:

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

2. 如果要为表的所有列添加值,则无需在 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

通过练习测试一下

练习:

在中插入一条新记录Customers表格。

 Customers 
CustomerName, 
Address, 
City, 
PostalCode,
Country
 
'Hekkan Burger',
'Gateveien 15',
'Sandnes',
'4306',
'Norway';

开始练习