DELETE
功能描述
从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在,将删除表中所有行,结果只保留表结构。

目前仅Iceberg表支持Delete。
注意事项
要删除表中的数据,用户必须对它有DELETE权限。同样也必须有USING子句引用的表以及condition上读取的表的SELECT权限。

避免使用DELETE删除全表数据,考虑使用TRUNCATE TABLE代替。
语法格式
DELETE FROM table_name [ * ] [ [ AS ] alias ] [ USING using_list ] [ WHERE condition ]
参数说明
- table_name:目标表的名字。取值范围:已存在的表名。
- alias:目标表的别名。取值范围:字符串,符合标识符命名规范。
- using_list:using子句。
- condition:一个返回boolean值的表达式,用于判断哪些行需要被删除。
示例
CREATE TABLE reason_t2 ( TABLE_SK INTEGER , TABLE_ID VARCHAR(20) , TABLE_NA VARCHAR(20) ) STORE AS iceberg; INSERT INTO reason_t2 VALUES (1, 'S01', 'StudentA'),(2, 'T01', 'TeacherA'),(3, 'T02', 'TeacherB');
DELETE FROM reason_t2 WHERE TABLE_SK = 2; DELETE FROM reason_t2 AS rt2 WHERE rt2.TABLE_SK = 2;
DELETE FROM reason_t2 WHERE TABLE_SK in (1,3);