删除数据
在MySQL中,可以使用delete语句来删除表中记录。
delete from <表名> [where 删除条件];
where子句表示为删除操作限定删除条件,若省略则代表删除表中的所有行。
示例1:删除成绩表sc中s_id为1的记录
delete from sc where s_id=1;
示例2:删除所有的学生成绩记录
delete from sc;
清除表中所有记录也可以直接使用truncate
truncate 表名;
示例:
-- 先重新上传数据到sc表
insert into sc(s_id,c_id,score) values
(1,1,80),
(1,2,90),
(1,3,99),
(2,1,70),
(2,2,60),
(2,3,80),
(3,1,80),
(3,2,80),
(3,3,80),
(4,1,50),
(4,2,30),
(4,3,20),
(5,1,76),
(5,2,87),
(6,1,31),
(6,3,34),
(7,2,89),
(7,3,98);
-- 再使用truncate删除表中数据
truncate sc;
delete与truncate的区别:
- delete可以添加删除条件删除表中部分数据,truncate只能删除表中全部数据。
- delete对表进行扫描逐条删除表中数据并保留表结构,truncate直接把表删除(drop)然后再创建(create)一张新表,执行速度比delete快。