簡體   English   中英

對數據庫目錄的SQL操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM