從特定資料庫擷取表格名稱的 SQL 查詢
資料庫管理員和應用程式開發人員通常需要檢索特定資料庫中的表格名稱清單。 根據資料庫系統(例如 MySQL、SQL Server、Oracle)的不同,此方法略有不同。 由於資料庫模式結構的差異,單一、普遍相容的查詢是不可能的。
挑戰:標準INFORMATION_SCHEMA
查詢通常會從伺服器上的所有資料庫傳回表,而不僅僅是所需的資料庫。
解決方案:我們需要在查詢中新增特定於資料庫的篩選器。
特定於資料庫的查詢:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
將 "dbName"
替換為目標資料庫的實際名稱。
對於 Oracle,INFORMATION_SCHEMA
方法有所不同。 若要檢索目前使用者架構的表:
<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>
指定不同的模式(需要適當的權限):
<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>
將 <schema_name>
替換為架構擁有者的名稱。
此資訊提供了用於檢索表名稱的適應性 SQL 解決方案,確保跨各種資料庫平台的兼容性。請記住調整 dbName
或 schema_name
值以符合您的環境。
以上是如何使用 SQL 從特定資料庫中檢索表名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!