SQL Insert
1. 定義
維基百科:SQL
Insert指令用于向數(shù)據(jù)表中添加記錄。
慕課解釋:SQL Insert,傳聞中增刪查改中的
增,是向數(shù)據(jù)表中寫數(shù)據(jù)的主要途徑。
2. 前言
本小節(jié),我們將一起學(xué)習(xí) SQL Insert。
使用 Insert 插入數(shù)據(jù)可分為普通插入和批量插入兩類,本小節(jié)將分別介紹這兩類插入操作。
本小節(jié)測(cè)試數(shù)據(jù)如下,請(qǐng)先在數(shù)據(jù)庫(kù)中執(zhí)行:
DROP TABLE IF EXISTS imooc_user;
CREATE TABLE imooc_user
(
username varchar(20),
age int
);
3. 普通插入
普通情況下,Insert 插入的數(shù)據(jù)一般為一條。
其語(yǔ)法如下:
INSERT INTO [table_name] ([col1], [col2]) VALUES([val1], [val2]);
其中table_name是待插入數(shù)據(jù)表名稱,col是字段名稱,val是待插入字段值,數(shù)字 1、2 表示多個(gè)字段。
3.1 例1、全字段插入 imooc_user
請(qǐng)書寫 SQL 語(yǔ)句,向imooc_user數(shù)據(jù)表中插入一條記錄,username為pedro,age為23。
分析:
根據(jù)插入語(yǔ)法寫出語(yǔ)句即可。
語(yǔ)句:
INSERT INTO imooc_user(username,age) VALUES('pedro',23);
插入成功后,數(shù)據(jù)表信息如下:
+----------+-----+
| username | age |
+----------+-----+
| pedro | 23 |
+----------+-----+
imooc_user 共有 username 和 age 兩個(gè)字段,在插入時(shí),如果插入的數(shù)據(jù)是全字段,那么可以省略前面的 col 。
省略后的語(yǔ)法如下:
INSERT INTO [table_name] VALUES([val1], [val2]);
因此上述例子的答案還可以這樣寫:
INSERT INTO imooc_user VALUES('pedro',23);
3.2 例2、單字段插入 imooc_user
請(qǐng)書寫 SQL 語(yǔ)句,向imooc_user數(shù)據(jù)表中插入一條記錄,username為pedro。
分析:
根據(jù)插入語(yǔ)法寫出語(yǔ)句即可。
語(yǔ)句:
INSERT INTO imooc_user(username) VALUES('pedro');
插入成功后,數(shù)據(jù)表信息如下:
+----------+--------+
| username | age |
+----------+--------+
| pedro | <null> |
+----------+--------+
注意: 如果 age 字段有 NOT NULL 約束,在只插入 username 的情況下,該次插入會(huì)報(bào)錯(cuò)。
4. 批量插入
SQL除了普通插入外,也提供了批量插入來(lái)一次性插入多條記錄。
批量插入數(shù)據(jù)的語(yǔ)法如下:
INSERT INTO [table_name] ([col1], [col2]) VALUES ([val1], [val2]),([val1], [val2]);
批量插入與普通插入的區(qū)別在于,VALUES關(guān)鍵字后面接受多個(gè)字段元組,每個(gè)()代表一個(gè)字段元組,一個(gè)字段元組會(huì)生成一條記錄。
4.1 例3、批量插入 imooc_user
請(qǐng)書寫 SQL 語(yǔ)句,向imooc_user表中插入兩條記錄,第一條記錄username為pedro,age為23;第二條記錄username為mike,age為18。
分析:
根據(jù)批量插入語(yǔ)法寫出語(yǔ)句即可。
語(yǔ)句:
INSERT INTO imooc_user(username,age) VALUES('pedro',23),('mike',18);
插入成功后,數(shù)據(jù)表信息如下:
+----------+-----+
| username | age |
+----------+-----+
| pedro | 23 |
| mike | 18 |
+----------+-----+
5. 總結(jié)
- Insert 是數(shù)據(jù)表增加數(shù)據(jù)的主要方式,語(yǔ)法簡(jiǎn)單,作用卻大,請(qǐng)多加練習(xí)。
- 并不是每個(gè) RDBMS 都支持批量插入 ,批量插入的移植性并不好,如果你使用的數(shù)據(jù)庫(kù)不支持,請(qǐng)將它改為多個(gè)普通插入。
pedrogao ·
2025 imooc.com All Rights Reserved |