今天則是要介紹如何插入資料,一樣是拿第二日的語法當作示範,
在進入正題之前,先看一下昨天說的創一張class資料表,
語法寫法如下:
CREATE TABLE class(
id int AUTO_INCREMENT,
subject VARCHAR(50) NOT NULL unique,
fee int NOT NULL,
PRIMARY KEY (id)
) ;
如果你寫不出來,一定是我寫得不夠仔細,記得可以留言詢問,
或是請我多敘述一點喔!
INSERT INTO `資料庫`.`資料表` (`欄位1`, `欄位2`, `欄位3`, `欄位4`) VALUES ('值1', '值2', '值3', '值4');
我們前兩天插入兩筆資料時,是分成兩個語法,
用一行INSERT INTO插入一筆資料,兩行就插入兩比,如下:
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1998/08/01', 'Jay', 'M', '2019/02/24');
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1992/04/23', 'Kelly', 'F', '2019/04/05');
但實際上我們可以把兩欄資料用逗號隔開後寫在同一句,如下:
INSERT INTO `education`.`student` (`birth_date`, `full_name`, `gender`, `start_date`) VALUES ('1998/08/01', 'Jay', 'M', '2019/02/24'),('1992/04/23', 'Kelly', 'F', '2019/04/05';
更偷懶一點,可以連資料表的欄位名稱都不寫,
系統會自動[按照順序]插入資料表的第一欄、第二欄、第三欄,如下:
INSERT INTO `education`.`student` VALUES ('1998/08/01', 'Jay', 'M', '2019/02/24'),('1992/04/23', 'Kelly', 'F', '2019/04/05';
一般來說,是使用第二種寫法,
第一種寫法太累了,一大堆重複的字;
第三種寫法雖然快,但如果語法之後會被重複使用,例如儲存成預存程序,(預存程序就像手機的快速撥號鍵,先設定好以後,只要呼叫他就可以使用了,之後會再談),
如果到時候資料表的欄位順序有被變動過,例如欄位順序從生日、姓名、性別改成性別、生日、姓名,那使用第三種語法就會看到性別欄位存了1999/08/01,
生日欄位存了Sam,姓名存了男性,到時候真的會非常非常崩潰,
總之唯一推薦「第二種寫法」。
還有其他種更省力的寫法,像是直接插入從別張表格選出來的資料等等,也都是很常見的INSERT寫法,但我們先學會基本的就好了!
今天就來試著自己寫插入語法吧!
請在class資料表插入五筆資料,分別是
1.id:1 class:piano fee:800
1.id:2 class:drum fee:500
1.id:3 class:guitar fee:300
1.id:4 class:vocal fee:800
1.id:5 class:Songwriting fee:1200