首頁 >資料庫 >mysql教程 >如何使用 SQL 從特定資料庫中檢索表名?

如何使用 SQL 從特定資料庫中檢索表名?

Susan Sarandon
Susan Sarandon原創
2025-01-09 07:28:44388瀏覽

How Can I Retrieve Table Names from a Specific Database Using SQL?

從特定資料庫擷取表格名稱的 SQL 查詢

資料庫管理員和應用程式開發人員通常需要檢索特定資料庫中的表格名稱清單。 根據資料庫系統(例如 MySQL、SQL Server、Oracle)的不同,此方法略有不同。 由於資料庫模式結構的差異,單一、普遍相容的查詢是不可能的。

挑戰:標準INFORMATION_SCHEMA查詢通常會從伺服器上的所有資料庫傳回表,而不僅僅是所需的資料庫。

解決方案:我們需要在查詢中新增特定於資料庫的篩選器。

特定於資料庫的查詢:

  • SQL Server:
<code class="language-sql">SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
  • MySQL:
<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 解決方案,確保跨各種資料庫平台的兼容性。請記住調整 dbNameschema_name 值以符合您的環境。

以上是如何使用 SQL 從特定資料庫中檢索表名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn