2013-03-21 123 views
2

我很好奇實際數據庫命令與從數據庫元數據中刪除行之間的鏈接。編輯數據庫元數據

例如,是以下命令...

drop table products

...一樣這一個?

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

上述命令是SQL Server Compact但問題最有可能仍然在所有數據庫平臺有效。只是好奇,如果第二個命令實際上做同樣的工作。

回答

1

不,它不是。

首先,information_schema表通常是關於基礎表的視圖。所以,即使你可能從他們刪除一行,你真的不能。

其次,刪除表格不僅僅是刪除表格。您必須刪除列定義,約束,索引和觸發器。您還必須刪除與該表關聯的所有頁面,並釋放頁面緩存中的任何內存中副本。而且可能還有其他一些工作正在進行。

這聽起來像你想了解更多關於數據庫如何真正的工作。我鼓勵你閱讀在線文檔並找出關於數據庫軟件的好書。