2013-03-21 83 views
2

我很好奇实际数据库命令与从数据库元数据中删除行之间的链接。编辑数据库元数据

例如,是以下命令...

drop table products

...一样这一个?

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

上述命令是SQL Server Compact但问题最有可能仍然在所有数据库平台有效。只是好奇,如果第二个命令实际上做同样的工作。

回答

1

不,它不是。

首先,information_schema表通常是关于基础表的视图。所以,即使你可能从他们删除一行,你真的不能。

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

这听起来像你想了解更多关于数据库如何真正的工作。我鼓励你阅读在线文档并找出关于数据库软件的好书。