跳到主要内容

删除数据

表中插入数据后,可以使用 DELETE 语句或其他语句来删除表中的记录。本文介绍了相关语句的使用方法和示例。

数据删除准备

在删除表数据前,请确认以下事项:

  • 请确认您已连接到 seekdb,连接数据库的操作请参见 连接方式概述

  • 请确认您已拥有待操作的表的 DELETE 权限。如果使用 TRUNCATE TABLE 语句清空表数据,则还需要拥有该表的 CREATE 权限。查看当前用户权限的相关操作请参见 查看用户权限。如果不具备该权限,请联系管理员为您授权,用户授权的相关操作请参见 直接授予权限

使用 DELETE 语句删除数据

通常使用 DELETE 语句来删除表中的部分数据或全部数据。

信息

除了 DELETE 语句外,REPLACE INTO 语句也可能会删除数据,REPLACE INTO 语句相关的操作及示例请参见 替换数据

简单的 DELETE 语句的语法格式如下:

DELETE FROM table_name [ WHERE condition ] ;
参数是否必填描述
table_name指定需要删除数据的表。
[ WHERE condition ]条件子句指定要删除的数据必须满足的条件,如果没有提供就全表删除。

删除部分数据

通过 DELETE 语句加 WHERE 条件,可以删除表中满足条件的部分数据。

删除 t_insert 表中符合 value = 10004 的所有行记录,示例如下:

DELETE FROM t_insert WHERE value = 10004;
Query OK, 1 row affected

删除所有数据

当表中的数据量较小时,可以直接使用 DELETE 语句删除所有行记录。

示例:

  • 删除 t_insert 表中的所有行数据。

    DELETE FROM t_insert;
    Query OK, 3 row affected

    当表中数据记录多达百万以上,一次性执行删除可能会出现性能问题,建议根据表内的信息使用 WHERE 条件进行分批删除,或者直接 使用 TRUNCATE TABLE 语句清空表数据

  • 筛选表 t_insertvalue 列数据,分别执行多条语句分批删除 value < 10000value < 20000value < 30000 的数据。

    DELETE FROM t_insert WHERE value < 100000;

    DELETE FROM t_insert WHERE value < 200000;

    DELETE FROM t_insert WHERE value < 300000;

使用 TRUNCATE TABLE 语句清空表数据

TRUNCATE TABLE 语句用于完全清空指定表,但是保留表结构,包括表中定义的分区信息。从逻辑上来讲,该语句等价于删除所有行的 DELETE FROM 语句。

TRUNCATE TABLE 语句的语法格式如下:

TRUNCATE [TABLE] table_name;

通过 TRUNCATE TABLE 语句清空表 t_insert 表中的所有数据,示例如下:

TRUNCATE TABLE t_insert;

更多 TRUNCATE TABLE 语句的使用及说明请参见 TRUNCATE TABLE

相关文档