MySQL INSERT INTO 语句
MySQL INSERT INTO 语句
INSERT INTO
语句用于向表中插入新记录。
INSERT INTO 语法
INSERT INTO
语句有两种写法:
1. 指定列名和要插入的值
INSERT INTO 表名 (列1, 列2, 列3, ...)
VALUES (值1, 值2, 值3, ...);
2. 如果为表中的所有列添加值,则无需在 SQL 查询中指定列名。但请确保值的顺序与表中的列顺序相同。此时,INSERT INTO
语法如下:
INSERT INTO 表名
VALUES (值1, 值2, 值3, ...);
演示数据库
以下是 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');
The selection from the "Customers" table will now look like this
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');
The selection from the "Customers" table will now look like this
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 |