tencent cloud

TDSQL Boundless

删除数据

PDF
聚焦模式
字号
最后更新时间: 2026-03-26 14:38:13
介绍如何从表中删除数据,主要涵盖 DELETETRUNCATE TABLE 两种语句的使用方法、区别及注意事项。

DELETE 语句

DELETE 语句是标准 SQL 语法,用于从表中移除指定记录。

语法

DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count];

参数说明

WHERE where_condition:(可选)指定删除条件,仅删除满足条件的记录。
ORDER BY:(可选)指定删除顺序。
LIMIT row_count(可选)限制单次删除的行数。

使用示例

1. 创建测试表。
CREATE TABLE sbtest1 (id INT PRIMARY KEY, v1 INT, v2 INT, v3 INT);
2. 删除满足条件的数据。
DELETE FROM sbtest1 WHERE v1 = 100;
3. 删除指定数量的数据。
DELETE FROM sbtest1 WHERE v2 < 1000 LIMIT 1000;
4. 按顺序删除指定数量的数据。
DELETE FROM sbtest1 ORDER BY id LIMIT 500;
5. 删除整张表的数据。
DELETE FROM sbtest1;

TRUNCATE TABLE

TRUNCATE TABLE 用于快速清空整张表的数据。

语法

TRUNCATE TABLE tbl_name;

使用示例

1. 清空表数据。
-- 创建测试表
CREATE TABLE sbtest1 (
id INT PRIMARY KEY,
v1 INT,
v2 INT,
v3 INT
);

-- 快速清空表中所有数据
TRUNCATE TABLE sbtest1;
2. 清除某个分区。
-- 创建 RANGE 分区表
CREATE TABLE sbtest2 (
id INT,
create_time DATE,
v1 INT,
PRIMARY KEY (id, create_time)
)
PARTITION BY RANGE (TO_DAYS(create_time)) (
PARTITION p202401 VALUES LESS THAN (TO_DAYS('2024-02-01')),
PARTITION p202402 VALUES LESS THAN (TO_DAYS('2024-03-01')),
PARTITION pmax VALUES LESS THAN MAXVALUE
);

-- 快速清理 2024 年 1 月的数据
ALTER TABLE sbtest2
TRUNCATE PARTITION p202401;

注意事项

1. 删除操作前建议先备份重要数据。
2. 生产环境执行大范围删除前,建议先在测试环境验证。
3. 监控删除操作对系统性能的影响。
4. 合理设置事务超时时间,避免长事务阻塞系统。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈