1. 程式人生 > 其它 >MYSQL向表中插入資料(INSERT)

MYSQL向表中插入資料(INSERT)

技術標籤:mysqlmysql資料庫sql

文章目錄


前言:

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語句有效。