[英]SQL operations to Database catalog
我們是否能夠對數據庫目錄執行諸如INSERT,UPDATE,DELETE之類的SQL操作(這是理論問題,而不是實踐問題)
如果數據庫支持INFORMATION_SCHEMA
並提供用於更改數據庫目錄的工具,那么可以,您可以正常使用SQL操作。
例如,在PostgreSQL文檔中,您可以閱讀:
系統目錄是關系數據庫管理系統存儲架構元數據的地方,例如有關表和列的信息以及內部簿記信息。 PostgreSQL的系統目錄是常規表。 您可以刪除並重新創建表,添加列,插入和更新值,以及以這種方式嚴重破壞系統。 通常,不應手動更改系統目錄,總有SQL命令可以執行此操作。 (例如,CREATE DATABASE在pg_database目錄中插入一行,並實際上在磁盤上創建數據庫。)
因此,您可以更改目錄以間接創建新數據庫。 但是,對於PostgreSQL,您可以使用SQL命令(例如DROP,INSERT,UPDATE等)直接更改目錄。
某些RDBMS不能提供這種可能性,例如Oracle數據庫,IBM DB2,SQLite或Sybase ASE。 某些RDBMS提供INFORMATION_SCHEMA
,但它是只讀的,因此您不能做任何瘋狂的事情,例如MySQL。 其文檔內容如下:
盡管您可以使用USE語句選擇INFORMATION_SCHEMA作為默認數據庫,但是您只能讀取表的內容,而不能對它們執行INSERT,UPDATE或DELETE操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.