1. 程式人生 > 實用技巧 >MySQL 插入資料( INSERT INTO)

MySQL 插入資料( INSERT INTO)

INSERT INTO

在建立資料庫完成之後,我們需往資料庫中出入資料,在MySQL中可以使用INSERT語句向資料庫已有資料庫表插入一行或者多行資料

基本語法:

  INSERT語句有兩種語法形式,分別是INSERT..VALUES....語句和INSERT...SET...語句

兩種語法的使用方式如下:

  INSERT LALUES::

  INSERT INTO 表名 (列明,列明1,列明2...)VALUES(數值,數值1,數值2,數值3)

  語法註釋:

  • 表名:資料庫中被操縱的表名(需要出入資料的資料庫表名)
  • 列名:資料表中指定出入資料的列名(如需要向表中所有的列去插入資料,可直接忽略列名,直接採用INSERT 表名 VALUES(值...)
  • VALUES 或 VALUE子句:包含資料庫的資料清單(值),清單中的資料順序要和列的順序相對應

  INSERT SET:

  INSERT INTO 表名 SET 列名=值,列名1 = 值1,列名2=值2...

  語法註釋:

  • 表名:資料庫中被操縱的表名(需要出入資料的資料庫表名)
  • 列名:資料表中指定出入資料的列名
  • 上述語句是給表中需要操作的某些被指定的列插入值,插入資料的列名在SET字句中被指定,= (等號)後面為指定列的值,未指定的列,預設插入預設值

由 INSERT 語句的兩種形式可以看出:

  • 使用 INSERT…VALUES 語句可以向表中插入一行資料,也可以插入多行資料;
  • 使用 INSERT…SET 語句可以指定插入行中每列的值,也可以指定部分列的值;
  • INSERT…SELECT 語句向表中插入其他表的資料。
  • 採用 INSERT…SET 語句可以向表中插入部分列的值,這種方式更為靈活;
  • INSERT…VALUES 語句可以一次插入多條資料。
  • 用單條INSERT語句處理多個插入藥別使用多條INSET語句更快
  • 當使用單條INSERT語句插入插入多行時,只需要將每行資料用園括號括起來即可

下面為例項示範:

資料表結構:

使用INSERT VALUES向資料庫插入語句:

  INSERT INTO BEIMU(BEI_ID, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (3,'誇誇', 23,'2021-01-08');

  --列名帶不是`都可以執行

  INSERT INTO BEIMU(BEI_ID, BEI_NAME, BEI_AGE, BEI_BIRTHDAY) VALUES ('2','北木 ', '24','2021-01-08');

  INSERT INTO BEIMU(`BEI_ID`, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (1,'南海', 18,'2021-01-08');

使用INSERT SET 向資料庫插入語句:

  INSERT INTO BEIMU(BEI_ID, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (3,'誇誇', 23,'2021-01-08');

  INSERT INTO BEIMU(BEI_ID, BEI_NAME, BEI_AGE, BEI_BIRTHDAY) VALUES ('2','北木 ', '24','2021-01-08');
  
  INSERT INTO BEIMU(`BEI_ID`, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (1,'南海', NULL,'2021-01-08');

上面我插入資料時,插入某個欄位為null值,我們使用INSERT SET插入

  INSERT INTO BEIMU SET `BEI_AGE` ='24' 

  資料表結果:

上表5為我插入的資料,資料庫中的BEI_ID設定為自動增長,表中我只插入了一列資料,其他列預設為空值(如果某I列設定為必輸列,此列必須賦值,不然那會報錯:Field 'BEI_NAME' doesn't have a default value 意思是該列名優定義預設值)

對所有列插入資料:

INSERT INTO BEIMU VALUES(4,"貝珠",'18','2021-01-11')

結果如下:

對於出入資料庫的運算還有INSERT INTO SELECT從一個表複製資訊到另一個表,INSERT INTO SELECT 語句從一個表複製資料,然後把資料插入到一個已存在的表中,這點我們在高高階SQL中講述,到時候回顧下現在的內容。