SQL中的删除语句主要有三种:`DELETE`、`DROP`和`TRUNCATE`。它们各自有不同的用途和语法:
DELETE语句
用途:用于删除表中的行。
语法:`DELETE FROM 表名称 WHERE 列名称 = 值`。如果不指定`WHERE`子句,则删除表中的所有行。
示例:
删除`student`表中姓名为张三丰的学生信息:`DELETE FROM student WHERE name = '张三丰'`。
删除`customers`表中`customer_id`为2的行:`DELETE FROM customers WHERE customer_id = 2`。
DROP语句
用途:用于删除表及其定义,释放空间。删除后,表将不再存在,且无法恢复。
语法:`DROP TABLE 表名称`。如果表不存在,则不会报错。
示例:
删除名为`customers`的表:`DROP TABLE customers`。
TRUNCATE语句
用途:用于清空表中的数据,但保留表的结构和定义。删除速度比`DELETE`快,且使用的系统和事务日志资源少。
语法:`TRUNCATE TABLE 表名称`。如果不指定`WHERE`子句,则删除表中的所有行。
示例:
删除`employees`表中的所有数据:`TRUNCATE TABLE employees`。
建议
删除特定行:使用`DELETE`语句,并通过`WHERE`子句指定条件。
删除整个表:使用`DROP`语句,需谨慎操作,因为表结构及其数据将被永久删除。
清空表数据:使用`TRUNCATE`语句,速度快,适用于不需要保留表结构的情况。