MYSQL向表中插入資料(INSERT)
阿新 • • 發佈:2021-01-31
文章目錄
前言:
MYSQL有四條常用語句,本文介紹第二個INSERT,顧名思義,就是用來向表中插入資料。
用法:
INSERT有四種用法
1,插入一個完整的行。
2,插入多行。
3,將檢索的結果插入。
插入一條完整的行
語句1(推薦使用):
INSERT INTO 表名(
列名,
列名,
列名,
)
VALUES(
值,
值,
值,
)
語句2(避免使用)
INSERT INTO 表名
VALUES(
值,
值,
值,
可以看到語句二更為簡單,但是並不推薦使用,因為
第一點,語句二太依賴表中列的次序,列多的話錯了怎麼辦。
第二點,在表結構發生改變時,無法保證輸入順序跟其列的順序保持一致。安全性難以保證。而語句一由於其資訊對應,很難出錯。
注意
1,INSERT一般不會產生輸出。給你顯示結果。
2,一般不要使用語句2,列名沒有明確的INSERT語句。
3,在滿足以下倆種情況之一時,插入時列名可以省略
1,該表允許此列為空值
2,在該表定義時給出預設值,就是說沒有指定時,其值會使用預設值。
否則採用這種方式,列名一定要給全,不然就插入失敗了。
插入多行資料
格式
INSERT INTO 表名(
列名,
列名,
列名,
)
VALUES(
值,
值,
值,
);
INSERT INTO 表名(
列名,
列名,
列名,
)
VALUES(
值,
值,
值,
);
依次類推;
如果插入的這幾條資料列的順序相同,那麼可以採用下面的方式:
格式
INSERT INTO 表名(
列名,
列名,
列名,
)
VALUES(
值,
值,
值,
),
VALUES(
值,
值,
值,
);
依次類推
在這裡,用第二個的速度比第一個更快,因為在資料庫操作時處理單條資料插入,比處理多條資料時插入快。
插入檢索到的資料(可以用來將表的資料匯入到新的相同結構表中)
格式:
INSERT INTO 表名(
列名,
列名,
)
SELECT(
列名,
列名,
列名,
)FROM 表名;
這裡不需要保持列名相同,它使用的是列的位置,將被匯入表的每個位置對應要匯入表的第幾列
注意
1,因為INSERT操作執行較為耗時,在執行可能會降低處理等待的SELECT的效能。這些可以使用LOW_PRIORITY來降低INSERT的優先順序,讓優先順序大於它的語句先執行。這種方法同樣對UPDATE和DELETE語句有效。