MySQL INSERT INTO 语句

MySQL INSERT INTO 语句

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

INSERT INTO 实例

以下 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