SQL INSERT INTO 語句
INSERT INTO 語句用于向表中插入新的數(shù)據(jù)行。
SQL INSERT INTO 語法
INSERT INTO 語句可以用兩種形式編寫。
第一個表單沒有指定要插入數(shù)據(jù)的列的名稱,只提供要插入的值,即可添加一行新的數(shù)據(jù):
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
第二種,如果要為表中的所有列添加值,則不需要在SQL查詢中指定列名稱。但是,請確保值的順序與表中的列順序相同。INSERT INTO語法如下所示:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
演示數(shù)據(jù)庫
在本教程中,我們將使用著名的 Northwind 示例數(shù)據(jù)庫。
以下是"Customers" 表中的數(shù)據(jù):
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
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 實(shí)例
假設(shè)我們想在"Customers"表中插入一個新行。
我們可以使用以下SQL語句:
實(shí)例
VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
現(xiàn)在,選自 "Customers" 表的數(shù)據(jù)如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
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列是一個自動遞增字段,在將新記錄插入到表中時自動生成。 |
僅在指定的列中插入數(shù)據(jù)
我們還可以只在指定的列中插入數(shù)據(jù)。
以下SQL語句插入一個新行,但只在“CustomerName”、“City”和“Country”列中插入數(shù)據(jù)(CustomerID字段將自動更新):
實(shí)例
VALUES ('Cardinal', 'Stavanger', 'Norway');
現(xiàn)在,選自 "Customers" 表的數(shù)據(jù)如下所示:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
87 | Wartian Herkku | Pirkko Koskitalo | Torikatu 38 | Oulu | 90110 | Finland |
88 | Wellington Importadora | Paula Parente | Rua do Mercado, 12 | Resende | 08737-363 | Brazil |
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 |
使用另一個表填充一個表
您可以通過另一個表上的SELECT語句查詢出來的字段值,然后將數(shù)據(jù)填充到本表中,條件是另一個表所查詢的字段與本表要插入數(shù)據(jù)的字段是一一對應(yīng)的。
INSERT INTO first_table_name [(column1, column2, ... columnN)]
SELECT column1, column2, ...columnN
FROM second_table_name
[WHERE condition];
更多建議: