语法:
TRUNCATE TABLE table_name;
其中,table_name 是要截断(清空)的表的名称。
示例:
假设有一个表 employees:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(255),
department_id INT
);
INSERT INTO employees (employee_id, employee_name, department_id)
VALUES (1, 'John', 101),
(2, 'Alice', 102),
(3, 'Bob', 101);
如果要清空该表,保留表结构,可以使用 TRUNCATE TABLE:
TRUNCATE TABLE employees;
这将删除表中的所有行,但保留表结构和列定义。
注意事项:
1. TRUNCATE TABLE 是一个 DDL(数据定义语言)命令,因此在执行时会自动提交事务。不同于 DELETE 命令,它不会生成事务日志,因此在一些数据库系统中执行速度更快。
2. 由于 TRUNCATE TABLE 是一次性操作,不会触发 DELETE 触发器。如果需要触发触发器,可能需要使用 DELETE 命令。
3. TRUNCATE TABLE 不支持带有 WHERE 子句的条件,它总是删除整个表中的所有行。
在一些情况下,特别是在清理大型表时,使用 TRUNCATE TABLE 可以更加高效。然而,需要注意的是,由于其特性,它并不适用于所有场景,特别是在需要满足复杂条件的删除操作时。
转载请注明出处:http://www.zyzy.cn/article/detail/3355/SQL