數(shù)據(jù)庫(kù)中增加一條新數(shù)據(jù)使用的命令是“insert”。INSERT命令可以向數(shù)據(jù)庫(kù)已有的表中插入一行或者多行元組數(shù)據(jù),有兩種語(yǔ)法形式:1、配合VALUES關(guān)鍵字,語(yǔ)法為“INSERT INTO 表名 (列名1,…列名n) VALUES(值1…,值n);”;2、配合SET關(guān)鍵字,語(yǔ)法為“INSERT INTO 表名 SET 列名1= 值1,列名2=值2,…;”。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
數(shù)據(jù)庫(kù)中增加一條新數(shù)據(jù)使用的命令是insert
。
insert命令插入數(shù)據(jù)
數(shù)據(jù)庫(kù)與表創(chuàng)建成功以后,需要向數(shù)據(jù)庫(kù)的表中插入數(shù)據(jù)??梢允褂肐NSERT 語(yǔ)句向數(shù)據(jù)庫(kù)已有的表中插入一行或者多行元組數(shù)據(jù)。
INSERT 語(yǔ)句有兩種語(yǔ)法形式,分別是 INSERT…VALUES 語(yǔ)句和 INSERT…SET 語(yǔ)句。
1、INSERT…VALUES語(yǔ)句
語(yǔ)法格式為:
INSERT INTO 表名 (列名1,…列名n) VALUES(值1…,值n);
-
首先,在INSERT INTO子句之后,在括號(hào)內(nèi)指定表名和逗號(hào)分隔列的列表。
-
然后,將括號(hào)內(nèi)的相應(yīng)列的逗號(hào)分隔值放在VALUES關(guān)鍵字之后。
在執(zhí)行插入語(yǔ)句前,需要具有執(zhí)行INSERT語(yǔ)句的INSERT權(quán)限。
2、INSERT…SET語(yǔ)句
語(yǔ)法格式為:
INSERT INTO 表名 SET 列名1= 值1,列名2=值2,…;
此語(yǔ)句用于直接給表中的某些列指定對(duì)應(yīng)的列值,即要插入的數(shù)據(jù)的列名在 SET 子句中指定,col_name 為指定的列名,等號(hào)后面為指定的數(shù)據(jù),而對(duì)于未指定的列,列值會(huì)指定為該列的默認(rèn)值。
由 INSERT 語(yǔ)句的兩種形式可以看出:
-
使用 INSERT…VALUES 語(yǔ)句可以向表中插入一行數(shù)據(jù),也可以插入多行數(shù)據(jù);
-
使用 INSERT…SET 語(yǔ)句可以指定插入行中每列的值,也可以指定部分列的值;
-
INSERT…SELECT 語(yǔ)句向表中插入其他表的數(shù)據(jù)。
-
采用 INSERT…SET 語(yǔ)句可以向表中插入部分列的值,這種方式更為靈活;
-
INSERT…VALUES 語(yǔ)句可以一次插入多條數(shù)據(jù)。
insert命令的使用示例:
1、向表中的全部字段添加值
在 test_db 數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)課程信息表 tb_courses,包含課程編號(hào) course_id、課程名稱(chēng) course_name、課程學(xué)分 course_grade 和課程備注 course_info
CREATE TABLE tb_courses( course_id INT NOT NULL AUTO_INCREMENT, course_name CHAR(40) NOT NULL, course_grade FLOAT NOT NULL, course_info CHAR(100) NULL, PRIMARY KEY(course_id) );
向表中所有字段插入值的方法有兩種:一種是指定所有字段名;另一種是完全不指定字段名。
【實(shí)例 1】在 tb_courses 表中插入一條新記錄,course_id 值為 1,course_name 值為“Network”,course_grade 值為 3,info 值為“Computer Network”。
首先查看 tb_courses 表
查詢(xún)結(jié)果顯示當(dāng)前表內(nèi)容為空,沒(méi)有數(shù)據(jù),接下來(lái)執(zhí)行插入數(shù)據(jù)的操作
INSERT INTO tb_courses(course_id,course_name,course_grade,course_info) VALUES(1,'Network',3,'Computer Network');
可以看到插入記錄成功。在插入數(shù)據(jù)時(shí),指定了 tb_courses 表的所有字段,因此將為每一個(gè)字段插入新的值。
INSERT 語(yǔ)句后面的列名稱(chēng)順序可以不是 tb_courses 表定義時(shí)的順序,即插入數(shù)據(jù)時(shí),不需要按照表定義的順序插入,只要保證值的順序與列字段的順序相同就可以。
2、向表中指定字段添加值
為表的指定字段插入數(shù)據(jù),是在 INSERT 語(yǔ)句中只向部分字段中插入值,而其他字段的值為表定義時(shí)的默認(rèn)值。
【實(shí)例 2】在 tb_courses 表中插入一條新記錄,course_name 值為“System”,course_grade 值為 4,course_info 值為“Operating System”
INSERT INTO tb_courses SET course_name = 'System', course_grade = 4, course_info = 'Operation System';
【