MySQL入門教程:使用INSERT語句插入新數據
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MySQL入門教程:使用INSERT語句插入新數據,語法:INSERT [INTO] tbl_name [(col_name,...)] VALUES (pression,...),…
INSERT [INTO] tbl_name SET col_name=expression, ...
讓我們開始利用 INSERT 語句來增加記錄,這是一個 SQL 語句,需要為它指定希望插入數據行的表或將值按行放入的表。INSERT 語句具有幾種形式:
可指定所有列的值:
例如:
shell> mysql –u root –p
mysql> use mytest;
mysql> insert into worker values(“tom”,”tom@yahoo.com”);
“INTO”一詞自 MySQL 3.22.5 以來是可選的。(這一點對其他形式的 INSERT 語句也成立。)VALUES 表必須包含表中每列的值,并且按表中列的存放次序給出。(一般,這就是創建表時列的定義次序。如果不能肯定的話,可使用 DESCRIBE tbl_name 來查看這個次序。)
使用多個值表,可以一次提供多行數據。
MySQL>insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’);
有多個值表的INSERT ... VALUES的形式在MySQL 3.22.5或以后版本中支持。
可以給出要賦值的那個列,然后再列出值。
這對于希望建立只有幾個列需要初始設置的記錄是很有用的。
例如:
mysql>insert into worker (name) values (‘tom’);
自 MySQL 3.22.5 以來,這種形式的 INSERT 也允許多個值表:
mysql>insert into worker (name) values (‘tom’), (‘paul’);
在列的列表中未給出名稱的列都將賦予缺省值。
自 MySQL 3.22 .10 以來,可以 col_name = value 的形式給出列和值。
例如:
mysql>insert into worker set name=’tom’;
在 SET 子句中未命名的行都賦予一個缺省值。
使用這種形式的 INSERT 語句不能插入多行。
一個expression可以引用在一個值表先前設置的任何列。
例如,你能這樣:
mysql> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);
但不能這樣:
mysql> INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15);