在MySQL通过DELETE语句删除数据表中的数据。在此,我们先准备一张数据表,代码如下:
1.
-- 创建学生表 create table student( id int, name varchar(30), age int, gender varchar(30) ); -- 插入数据 insert into student (id,name,age,gender) values (2,
'lucy'
,17,
'female'
),(3,
'jack'
,19,
'male'
),(4,
'tom'
,18,
'male'
),(5,
'sal'
,19,
'female'
),(6,
'sun'
,20,
'male'
) ,(7,
'sad'
,13,
'female'
),(8,
'sam'
,14,
'male'
);
1. DELETE基本语法
在该语法中:表名用于指定要执行删除操作的表;[WHERE 条件表达式]为可选参数用于指定删除的条件。
DELETE
FROM 表名 [WHERE 条件表达式];
2. DELETE删除部分数据
示例:删除age等于14的所有记录 MySQL命令:
delete
from student where age=14;
3. DELETE删除全部数据
示例:删除student表中的所有记录 MySQL命令:
delete
from student;
4. TRUNCATE和DETELE的区别
TRUNCATE和DETELE都能实现删除表中的所有数据的功能,但两者也是有区别的:
1、DELETE语句后可跟WHERE子句,可通过指定WHERE子句中的条件表达式只删除满足条件的部分记录;但是,TRUNCATE语句只能用于删除表中的所有记录。
2、使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时自动增加字段的默认初始值重新由1开始;使用DELETE语句删除表中所有记录后,再次向表中添加记录时自动增加字段的值为删除时该字段的最大值加1
3、DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句