SQL 删除表
DELETE语句用于删除表中的行。如果你想要从表中删除特定的行,应该使用WHERE条件。
DELETE FROM table_name [WHERE condition];
但是如果您不指定WHERE条件,它将删除表中的所有行。
DELETE FROM table_name;
DELETE语句与TRUNCATE语句之间的区别
有一些与DELETE语句类似的术语,如DROP语句和TRUNCATE语句,但它们并不完全相同,它们之间存在一些差异。
DELETE语句只根据WHERE子句定义的条件从表中删除行,或者在未指定条件时删除表中的所有行。
但它不释放表占用的空间。
TRUNCATE语句用于删除表中的所有行并释放占用的空间。
让我们看一个”employee”表。
Emp_id | Name | Address | Salary |
---|---|---|---|
1 | Aryan | Allahabad | 22000 |
2 | Shurabhi | Varanasi | 13000 |
3 | Pappu | Delhi | 24000 |
执行以下查询以截断表:
TRUNCATE TABLE employee;
DROP和TRUNCATE语句的区别
当你使用drop语句时,它会删除表的行以及表的定义,所以该表与其他表之间的所有关系将不再有效。
当你删除一个表时:
- 表结构将被删除
- 关系将被删除
- 完整性约束将被删除
- 访问权限也将被删除
另一方面,当我们 TRUNCATE 一个表时,表结构保持不变,因此您将不会遇到上述任何问题。