MySQL Insert 語句詳細解析

一、語法結構

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

INSERT語句可以插入指定的列和值,如果未指定列,那麼就必須為表中的每個列提供值,插入的數據將行列一一對應。如果指定了列,則可以插入不完整的行,每種情況下,插入的數據必須是與表中定義的每個列的數據類型相匹配的。

二、插入單行數據

INSERT INTO user (id, name, age) VALUES (1, 'Lucy', 18);

以上示例中,向user表中插入了一行數據,包括id、name和age三列,分別為1、’Lucy’和18。

如果不指定列名,則需要同時插入表中每一列的值。可以使用null值佔位符來佔位一個或多個值。

INSERT INTO user VALUES (2, 'Jack', 20, 'male');

以上示例中,向user表中插入了一行數據,分別為2、’Jack’、20和’male’。

三、插入多行數據

INSERT INTO user (id, name, age) VALUES (3, 'Amy', 22), (4, 'Tom', 26), (5, 'Anne', 21);

以上示例中,向user表中插入了三行數據,分別為3、’Amy’、22;4、’Tom’、26;5、’Anne’、21。

四、從另一個表插入數據

INSERT INTO user SELECT * FROM temp_user;

以上示例中,從temp_user表中讀取所有行和列的數據,然後將其插入到user表中。

也可以通過指定列名來插入數據。需要保證兩個表的列數和數據類型匹配。

INSERT INTO user (id, name) SELECT id, name FROM temp_user;

以上示例中,從temp_user表中讀取id和name列的數據,然後將其插入到user表中相應的列中。

五、忽略重複的行

當插入數據時,可能會遇到重複的行,如果不希望插入重複的行,則可以使用IGNORE關鍵字。

INSERT IGNORE INTO user (id, name) VALUES (1, 'Lucy');

以上示例中,如果user表中已經存在id為1的行,則插入操作會被忽略,不會產生警告或錯誤。

六、替換重複的行

除了忽略重複的行,還可以通過REPLACE關鍵字來替換重複的行。

REPLACE INTO user (id, name) VALUES (1, 'John');

以上示例中,如果user表中已經存在id為1的行,則新的數據將會替換掉舊的數據,如果表中不存在id為1的行,則插入操作會正常執行。

七、批量插入

如果需要插入大量數據,則可以將數據寫入文件,然後使用LOAD DATA關鍵字來批量插入。

LOAD DATA INFILE '/path/to/data.txt' INTO TABLE user;

以上示例中,從/data.txt文件中讀取數據,並將其插入到user表中。

原創文章,作者:MZIPS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332827.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
MZIPS的頭像MZIPS
上一篇 2025-01-27 13:34
下一篇 2025-01-27 13:34

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python for循環語句列印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句列印九九乘法表。列印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python輸出語句用法介紹

    Python作為一種高級編程語言,為編程帶來了極大的便利和快捷。而輸出語句則是Python編程中不可缺少的一部分,它能夠讓我們看到程序運行的結果、判斷程序的正確性和優化程序等。本文…

    編程 2025-04-28

發表回復

登錄後才能評論