MySQL INSERT INTO 语句
MySQL INSERT INTO 语句
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 |