【MySQL必知必會】第19章:數(shù)據(jù)插入

INSERT時用來插入(或添加)行到表的,插入的方式有一下幾種:

  • 插入完整的行
  • 插入行的一部分
  • 插入多行
  • 插入某些查詢的結(jié)果

19.1 插入完整的行

一般而言INSERT語句需要搭配INTO和VALUES關(guān)鍵字來使用:

INSERT INTO customers
VALUES(NULL,
    'Pep E. LaPew',
    '100 Main Street',
    'Los Angeles',
    'CA',
    '90046',
    'USA',
    NULL,
    NULL);
  • INTO用于指定表名
  • VALUES用于插入新值,但是需要注意的是,新值的順序與每個字段的順序一一對應(yīng);因此這種方式并不安全,應(yīng)盡量避免使用,因為會不能確保插入字段順序而產(chǎn)生錯誤

在INTO后面指定列名可以避免出錯:

INSERT INTO customers(cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country,
    cust_contact,
    cust_email)
VALUES(NULL,
    'Pep E. LaPew',
    '100 Main Street',
    'Los Angeles',
    'CA',
    '90046',
    'USA',
    NULL,
    NULL);

如果想省略列,而需要滿足以下條件:

  • 表定義允許
  • 該列的定義允許為NULL值
  • 定義列有給出默認(rèn)值

19.2 插入多個行

類似于UNION聯(lián)合查詢語句一樣,可以分別使用單個INSERT語句,并用逗號隔開;當(dāng)然也可以省略掉重復(fù)指定列這一步,直接通過逗號來分隔插入的新值即可:

INSERT INTO customers(cust_name,
    cust_address,
    cust_city,
    cust_state,
    cust_zip,
    cust_country)
VALUES(
    'Pep E. LaPew',
    '100 Main Street',
    'Los Angeles',
    'CA',
    '90046',
    'USA'),
    
(
    'M. Martian',
    '42 Galaxy Way',
    'New York',
    'NY',
    '11213',
    'USA');

19.3 插入檢索出的數(shù)據(jù)

除了直接INSERT來插入鍵入的值外,還可以使用SELECT檢索結(jié)果后插入表中:

INSERT INTO table1(col1,
    col2,
    col3,
    col4,
    ....
)

SELECT co1,
    col2,
    col3,
    col4,
    ...
FROM table2;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)據(jù)庫入門 數(shù)據(jù)庫: 保存有組織的數(shù)據(jù)的容器(通常是一個文件或一組文件).數(shù)據(jù)庫軟件應(yīng)該稱為 DBMS(DataB...
    Mjericho閱讀 581評論 0 0
  • 我很喜歡聽故事,進(jìn)入HRForce后我很好奇,所以跟老板公談起公司品牌背后的故事。下面講述的也就是公司品牌B...
    甄有才君閱讀 437評論 2 2
  • 其實有的時候 我要的并不是真的付出多少 只是想要一種支持的態(tài)度或一句話而已啊
    阿姣是只貓閱讀 244評論 0 0

友情鏈接更多精彩內(nèi)容