我很好奇实际的数据库命令和从数据库元数据中删除行之间的联系。
例如,是以下命令...
drop table products
..。和这个一样吗?
delete from information_schema.tables where table_name='products' (SQL )
上面的命令是针对SQL Server Compact的,但是这个问题很可能在所有数据库平台上仍然有效。只是好奇第二个命令是否真的做了同样的工作。
发布于 2013-03-21 22:44:28
不,它不是。
首先,information_schema表通常是底层表的视图。所以,即使你可以从它们中删除一行,你也真的做不到。
其次,删除一个表比只删除这个表要复杂得多。您必须删除列定义、约束、索引和触发器。您还必须删除与表关联的所有页面,并释放页面缓存中所有内存中的副本。而且可能还有一堆其他的工作正在进行。
听起来你想更多地了解数据库是如何工作的。我鼓励您阅读在线文档,并查找有关数据库软件的好书。
https://stackoverflow.com/questions/15550528
复制相似问题