INSERT INTO 敘述句 (SQL INSERT INTO Statement)
INSERT 是用來新增資料 (new row) 至某資料表 (table)。INSERT INTO 語法 (SQL INSERT INTO Syntax)
INSERT INTO table_name (column1, column2, column3,···) VALUES (value1, value2, value3,···);或,您也可以簡寫成這樣
INSERT INTO table_name VALUES (value1, value2, value3,···);
使用簡寫的語法每個欄位的值都必需要依序輸入。
INSERT INTO 敘述句實例 (Example)
假設我們想從下面的「customers」資料表中新增一顧客的資料:| C_Id | Name | City | Address | Phone |
|---|---|---|---|---|
| 1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
| 2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
我們可以使用以下的 INSERT INTO 敘述句:
INSERT INTO customers (C_Id, Name, City, Address, Phone) VALUES (3, '李三', '高雄縣', 'ZZ路300號', '07-12345678');或,您也可以簡寫成這樣
INSERT INTO customers VALUES (3, '李三', '高雄縣', 'ZZ路300號', '07-12345678');
查詢新增後的結果如下:
| C_Id | Name | City | Address | Phone |
|---|---|---|---|---|
| 1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
| 2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
| 3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
只輸入幾個特定的欄位值
您也可以只輸入幾個特定的欄位值INSERT INTO customers (C_Id, Name, City) VALUES (3, '李三', '高雄縣');
查詢新增後的結果如下:
| C_Id | Name | City | Address | Phone |
|---|---|---|---|---|
| 1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
| 2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
| 3 | 李三 | 高雄縣 |
一次新增多筆資料 - INSERT ... SELECT
您可以INSERT INTO table_name VALUES (value1, value2, value3,···), (value2_1, value2_2, value2_3,···), (value3_1, value3_2, value3_3,···), ······;或
您可以利用子查詢,從其它的資料表中取得資料來作一次多筆新增:
INSERT INTO table_name (column1, column2, column3,···) SELECT othercolumn1, othercolumn2, othercolumn3,··· FROM othertable_name;
在子查詢中您也可以利用WHERE、GROUP BY及HAVING等子句來作有條件的新增資料。