DELETE
用于删除表中的记录。
语法
DELETE FROM table_name
[ WHERE condition ]
示例
- 删除CUSTOMER表中name为张三的数据:
DELETE FROM customer WHERE name='张三';
- 删除CUSTOMER表中所有的行:
DELETE FROM customer WHERE 1=1;
注意事项
- 删除全表数据且表数据量非常大时会造成严重性能问题。一般表记录数超过10万行,建议通过删表重建方式替代删除全表数据;
- DELETE暂时不支持带表的别名;
- DELETE WHERE条件中暂时不支持子查询和函数;
- 二级分区表的DELETE语句必须包含二级分区条件。删除TRADE表2月份的数据(biz_date为二级分区列)
DELETE FROM trade where biz_date>=20180201 and biz_date<=20180228;
- 频繁使用DELETE操作也会造成性能问题,强烈建议WHERE条件中带上主键,性能会达到最优;