數據庫中增加一條新數據使用的命令是“insert”。INSERT命令可以向數據庫已有的表中插入一行或者多行元組數據,有兩種語法形式:1、配合VALUES關鍵字,語法為“INSERT INTO 表名 (列名1,…列名n) VALUES(值1…,值n);”;2、配合SET關鍵字,語法為“INSERT INTO 表名 SET 列名1= 值1,列名2=值2,…;”。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
數據庫中增加一條新數據使用的命令是insert
。
insert命令插入數據
數據庫與表創建成功以后,需要向數據庫的表中插入數據。可以使用INSERT 語句向數據庫已有的表中插入一行或者多行元組數據。
INSERT 語句有兩種語法形式,分別是 INSERT…VALUES 語句和 INSERT…SET 語句。
1、INSERT…VALUES語句
語法格式為:
INSERT INTO 表名 (列名1,…列名n) VALUES(值1…,值n);
-
首先,在INSERT INTO子句之后,在括號內指定表名和逗號分隔列的列表。
-
然后,將括號內的相應列的逗號分隔值放在VALUES關鍵字之后。
在執行插入語句前,需要具有執行INSERT語句的INSERT權限。
2、INSERT…SET語句
語法格式為:
INSERT INTO 表名 SET 列名1= 值1,列名2=值2,…;
此語句用于直接給表中的某些列指定對應的列值,即要插入的數據的列名在 SET 子句中指定,col_name 為指定的列名,等號后面為指定的數據,而對于未指定的列,列值會指定為該列的默認值。
由 INSERT 語句的兩種形式可以看出:
-
使用 INSERT…VALUES 語句可以向表中插入一行數據,也可以插入多行數據;
-
使用 INSERT…SET 語句可以指定插入行中每列的值,也可以指定部分列的值;
-
INSERT…SELECT 語句向表中插入其他表的數據。
-
采用 INSERT…SET 語句可以向表中插入部分列的值,這種方式更為靈活;
-
INSERT…VALUES 語句可以一次插入多條數據。
insert命令的使用示例:
1、向表中的全部字段添加值
在 test_db 數據庫中創建一個課程信息表 tb_courses,包含課程編號 course_id、課程名稱 course_name、課程學分 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) );
向表中所有字段插入值的方法有兩種:一種是指定所有字段名;另一種是完全不指定字段名。
【實例 1】在 tb_courses 表中插入一條新記錄,course_id 值為 1,course_name 值為“Network”,course_grade 值為 3,info 值為“Computer Network”。
首先查看 tb_courses 表
查詢結果顯示當前表內容為空,沒有數據,接下來執行插入數據的操作
INSERT INTO tb_courses(course_id,course_name,course_grade,course_info) VALUES(1,'Network',3,'Computer Network');
可以看到插入記錄成功。在插入數據時,指定了 tb_courses 表的所有字段,因此將為每一個字段插入新的值。
INSERT 語句后面的列名稱順序可以不是 tb_courses 表定義時的順序,即插入數據時,不需要按照表定義的順序插入,只要保證值的順序與列字段的順序相同就可以。
2、向表中指定字段添加值
為表的指定字段插入數據,是在 INSERT 語句中只向部分字段中插入值,而其他字段的值為表定義時的默認值。
【實例 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';
【