删除表

有时候需要删除表;例如,您可能想在数据库中实现一个新的设计或释放空间。删除表后,该表的结构定义、数据、全文索引、约束和索引都从数据库中永久删除;原来存储表及其索引的空间可用来存储其他表。如果不想等到临时表被自动删除,可显式删除该表。

如果要删除通过 FOREIGN KEY 和 UNIQUE 或 PRIMARY KEY 约束相关联的表,则必须先删除具有 FOREIGN KEY 约束的表。如果要删除 FOREIGN KEY 约束中引用的表但不能删除整个外键表,则必须删除 FOREIGN KEY 约束。

如果要删除表中的所有数据但不删除表本身,则可以截断该表。有关详细信息,请参阅使用 TRUNCATE TABLE 删除所有行

您可以删除或截断使用 128 个以上区的大型表和索引,而不必同时锁定所有需要删除的区。数据库引擎将大型数据的删除拆分为两个单独的阶段(逻辑和物理)来进行管理。在逻辑阶段中,对表使用的现有分配单元进行标记以便释放,并对其进行锁定,直到事务提交为止。在物理阶段,标记为要释放的分配单元成批物理删除。有关详细信息,请参阅删除并重新生成大型对象

删除表

DROP TABLE (Transact-SQL)

删除 FOREIGN KEY 约束

ALTER TABLE (Transact-SQL)

截断表

TRUNCATE TABLE (Transact-SQL)

请参阅

其他资源