SQL删除语句的基本格式是`DELETE FROM 表名 WHERE 条件`。以下是几种使用删除语句的情况:
1. 删除特定条件的行:
DELETE FROM 表名 WHERE 列名 = 值;
例如,删除`student`表中姓名为`张三丰`的学生信息:
DELETE FROM student WHERE name = '张三丰';
2. 删除满足多个条件的行:
DELETE FROM 表名 WHERE 列1 = 值1 AND/OR 列2 = 值2;
例如,删除`employee`表中`lastname`为`May`或`firstname`为`Mike`或`Eric`的员工信息:
DELETE FROM employee WHERE lastname = 'May' OR firstname = 'Mike' OR firstname = 'Eric';
3. 删除表中的所有行(需谨慎操作以避免数据丢失):
DELETE FROM 表名;
4. 使用别名进行多表删除(SQL92语法):
DELETE t1, t2 FROM 表1 t1 INNER JOIN 表2 t2 ON t1.连接条件 = t2.连接条件 WHERE 筛选条件;
例如,删除`beauty`表中黄晓明及其女朋友的信息:
DELETE b, bo FROM `beauty` b INNER JOIN `boys` bo ON b.boyfriend_id = bo.id WHERE bo.boyName = '黄晓明';
5. 使用`TRUNCATE`命令清空表数据(保留表结构,不能撤消还原):
TRUNCATE TABLE 表名;
例如,清空`grade`表:
TRUNCATE TABLE grade;
请注意,在使用`DELETE`语句时,如果表有外键约束,删除操作可能会受到限制,需要先处理外键约束。而`TRUNCATE`命令则可以快速删除表中的所有数据,但会重置自增列的表的标识符。