一、单表新增数据
单表新增数据是SQL中最基本的操作。首先,我们需要指定表名和要插入的列名和对应的值,如下:
INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);
例如,我们有一个学生表student,有id、name、age和gender四个字段,我们要向其中新增一个学生,可以这样写:
INSERT INTO student (id, name, age, gender) VALUES (1, '张三', 18, '男');
这样就向student表中新增了一条数据。
二、批量新增数据
有时候我们需要一次性向表中插入多条数据,这个时候可以使用INSERT INTO SELECT语句。首先,我们需要将要插入的数据以SELECT语句的形式列出,然后将其插入到目标表中。
例如,我们有一个学生表student,有id、name、age和gender四个字段,我们要向其中新增多个学生,可以这样写:
INSERT INTO student (id, name, age, gender) SELECT 2, '李四', 19, '女' UNION ALL SELECT 3, '王五', 20, '男' UNION ALL SELECT 4, '赵六', 18, '女';
这样就向student表中新增了三条数据。
三、新增数据时使用默认值
有时候,我们的表中可能有一些字段定义了默认值,这些字段在插入数据时可以不指定值。例如,我们在student表中新增一条数据,但是不指定id值,表中定义了id字段的默认值为自增长,则可以这样写:
INSERT INTO student (name, age, gender) VALUES ('张三', 18, '男');
这样就向student表中新增了一条数据,id字段的值会自动增加。
四、新增数据时使用子查询
有时候我们需要将一张表中的数据插入到另一张表中,这个时候可以使用INSERT INTO SELECT子查询语句。例如,我们有一个学生表student1,有id、name、age和gender四个字段,我们需要将student1表中的所有学生插入到student2表中,则可以这样写:
INSERT INTO student2 (id, name, age, gender) SELECT id, name, age, gender FROM student1;
这样就将student1表中的所有学生插入到student2表中。
五、新增数据时返回自动生成的ID
在有些场景下,我们需要新增数据之后立即获取自动生成的ID值,这个时候可以使用LAST_INSERT_ID()函数。例如,我们向student表中新增一条数据,并且需要立即获取自动生成的id值,可以这样写:
INSERT INTO student (name, age, gender) VALUES ('张三', 18, '男'); SELECT LAST_INSERT_ID();
执行完INSERT INTO语句之后,LAST_INSERT_ID()函数将返回自动生成的id值。
原创文章,作者:NRZW,如若转载,请注明出处:https://www.506064.com/n/138438.html