DELETE 语句用于删除表中的行。
语法
DELETE FROM 表名称 WHERE 列名称 = 值
例表
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
Wilson | Fred | Zhongshan 23 | Nanjing |
删除某行
"Fred Wilson" 会被删除:
DELETE FROM Person WHERE LastName = 'Wilson'
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Gates | Bill | Xuanwumen 10 | Beijing |
删除所有行
可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:
DELETE FROM table_name
或者
DELETE * FROM table_name
delete 与 truncate 应用区别:
1、对于删除整个表的所有数据时,delete并不会释放表所占用的空间
2、如果用户确定是 删除 整表的所有数据,那么使用 truncate table 速度更快
--刪除所有部門信息:使用delete delete from table_name; --刪除所有部門信息:TRUNCATE truncate table table_name;
DELETE例子
请参考具有以下记录的CUSTOMERS表:
ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 6 Komal 22 MP 4500.00 7 Muffy 24 Indore 10000.00
以下命令是一个示例,将删除ID为6的客户的记录:
DELETE FROM CUSTOMERS WHERE ID = 6;
删除后CUSTOMERS表的记录如下:
ID NAME AGE ADDRESS SALARY 1 Ramesh 32 Ahmedabad 2000.00 2 Khilan 25 Delhi 1500.00 3 kaushik 23 Kota 2000.00 4 Chaitali 25 Mumbai 6500.00 5 Hardik 27 Bhopal 8500.00 7 Muffy 24 Indore 10000.00
如果你想删除CUSTOMERS表中的所有记录,则不需要使用WHERE子句。
DELETE FROM CUSTOMERS;
执行后,CUSTOMERS表将不会有任何记录。