2021-01-26

SQL : INSERT INTO 語法(Syntax)格式

SQL : INSERT INTO 的語法(Syntax),有三個基本的語法:
  • 將指定的資料值插入資料表格內:
    INSERT INTO 資料表名稱 [(資料欄位名稱, ...)] VALUES (資料欄位值, ...);

  • 將SELECT執行結果插入資料表格內:
    INSERT INTO 資料表名稱 [(資料欄位名稱, ...)]  SELECT執行結果;

  • 以資料表結構定義時所設定的預設值插入資料表格內:
    INSERT INTO 資料表名稱 [(資料欄位名稱, ...)]DEFAULT VALUES;
INSERT INTO的 語法格式:
[ WITH [ RECURSIVE ] cte-table-name AS (select-stmt), ...]
{INSERT | REPLACE | INSERT OR REPLACE | insert-type ... } INTO 
   資料表名稱  [AS 別名] [( 資料欄位名稱,...)] { [VALUES (資料值or運算式,) | select-stmt | DEFAULT VALUES}
ON CONFLICT [(索引欄位, ... ) | [WHERE 條件式] ]
DO { NOTHING | UPDATE SET 欄位名稱=運算式, ... [ WHERE 條件式 ]}

  1. cte : common table expression
  2. select-stmt : select statements
  3. insert-type : INSERT, REPLACE, INSERT OR REPLACE, INSERT OR ROLLBACK, INSERT OR ABORT, INSERT OR FAIL, INSERT OR IGNORE
  4. 如果主鍵的對應值存在,就REPLACE指定的資料值;如果主鍵的對應值不存在,就插入這筆資料。有效的利用這個語法規則,可以大大的降低程式設計的複雜度。

 參考資料: