TDSQL Boundless 删除数据

介绍如何从表中删除数据,主要涵盖 DELETE 和 TRUNCATE TABLE 两种语句的使用方法、区别及注意事项。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、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 sbtest2TRUNCATE PARTITION p202401;

八、注意事项

1. 删除操作前建议先备份重要数据。

2. 生产环境执行大范围删除前,建议先在测试环境验证。

3. 监控删除操作对系统性能的影响。

4. 合理设置事务超时时间,避免长事务阻塞系统。

赞 (0)
上一篇 4天前
下一篇 4天前