2

我很好奇实际数据库命令和从数据库元数据中删除行之间的联系。

例如,以下命令是否...

drop table products

……和这个一样吗?

delete from information_schema.tables where table_name='products'(SQL CE)

上述命令适用于SQL Server Compact但问题很可能在所有数据库平台上仍然有效。只是好奇第二个命令是否真的做同样的工作。

4

1 回答 1

1

不它不是。

首先,这些information_schema表通常是基础表上的视图。因此,即使您可以从中删除一行,也确实不能。

其次,删除表不仅仅是删除表。您必须删除列定义、约束、索引和触发器。您还必须删除与表关联的所有页面,并释放页面缓存中的所有内存副本。而且可能还有很多其他工作正在进行中。

听起来您想了解更多关于数据库如何真正工作的信息。我鼓励您阅读在线可用的文档并寻找有关数据库软件的好书。

于 2013-03-21T14:44:27.813 回答