- SQL 教程
- SQL - 首頁
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 資料庫
- SQL - 語法
- SQL - 資料型別
- SQL - 運算子
- SQL - 表示式
- SQL 資料庫
- SQL - 建立資料庫
- SQL - 刪除資料庫
- SQL - 選擇資料庫
- SQL - 重新命名資料庫
- SQL - 顯示資料庫
- SQL - 備份資料庫
- SQL 表
- SQL - 建立表
- SQL - 顯示錶
- SQL - 重命名錶
- SQL - 截斷表
- SQL - 克隆表
- SQL - 臨時表
- SQL - 修改表
- SQL - 刪除表
- SQL - 刪除表
- SQL - 約束
- SQL 查詢
- SQL - 插入查詢
- SQL - 選擇查詢
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查詢
- SQL - 刪除查詢
- SQL - 排序結果
- SQL 檢視
- SQL - 建立檢視
- SQL - 更新檢視
- SQL - 刪除檢視
- SQL - 重新命名檢視
- SQL 運算子和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 運算子
- SQL - LIKE 運算子
- SQL - IN 運算子
- SQL - ANY, ALL 運算子
- SQL - EXISTS 運算子
- SQL - CASE
- SQL - NOT 運算子
- SQL - 不等於
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 運算子
- SQL - UNION 運算子
- SQL - UNION 與 UNION ALL
- SQL - INTERSECT 運算子
- SQL - EXCEPT 運算子
- SQL - 別名
- SQL 連線
- SQL - 使用連線
- SQL - 內連線
- SQL - 左連線
- SQL - 右連線
- SQL - 交叉連線
- SQL - 全連線
- SQL - 自連線
- SQL - 刪除連線
- SQL - 更新連線
- SQL - 左連線與右連線
- SQL - Union 與 Join
- SQL 鍵
- SQL - 唯一鍵
- SQL - 主鍵
- SQL - 外部索引鍵
- SQL - 複合鍵
- SQL - 備選鍵
- SQL 索引
- SQL - 索引
- SQL - 建立索引
- SQL - 刪除索引
- SQL - 顯示索引
- SQL - 唯一索引
- SQL - 叢集索引
- SQL - 非叢集索引
- 高階 SQL
- SQL - 萬用字元
- SQL - 註釋
- SQL - 注入
- SQL - 託管
- SQL - Min & Max
- SQL - Null 函式
- SQL - 檢查約束
- SQL - 預設約束
- SQL - 儲存過程
- SQL - NULL 值
- SQL - 事務
- SQL - 子查詢
- SQL - 處理重複項
- SQL - 使用序列
- SQL - 自動遞增
- SQL - 日期和時間
- SQL - 遊標
- SQL - 公共表表達式
- SQL - Group By 與 Order By
- SQL - IN 與 EXISTS
- SQL - 資料庫調優
- SQL 函式參考
- SQL - 日期函式
- SQL - 字串函式
- SQL - 聚合函式
- SQL - 數值函式
- SQL - 文字和影像函式
- SQL - 統計函式
- SQL - 邏輯函式
- SQL - 遊標函式
- SQL - JSON 函式
- SQL - 轉換函式
- SQL - 資料型別函式
- SQL 有用資源
- SQL - 問答
- SQL - 快速指南
- SQL - 有用函式
- SQL - 有用資源
- SQL - 討論
SQL - 顯示錶(列出表)
在某些情況下,您需要從資料庫中檢索表列表。這可能是為了測試目的,或者在新增或刪除任何表之前識別任何現有表,或者出於任何其他原因。本教程將討論如何使用簡單的 SQL 命令在 MySQL、SQL Server 和 Oracle 中列出所有表。
MySQL - 列出表
您可以使用 SQL **SHOW TABLES** 語句在 MySQL 中列出所選資料庫中可用的所有表。
語法
以下是 MySQL 中列出所有 SQL 表的語法:
SHOW TABLES;
示例
以下是一個示例,它將列出 **testDB** 資料庫中的所有表。
USE testDB; SHOW TABLES;
這將根據資料庫中可用的表數顯示以下輸出。
| Tables_in_testDB |
|---|
| CALENDAR |
| CUSTOMERS |
| COMPANIES |
| SALARY |
SQL Server - 列出表
SQL Server **不提供** SHOW TABLE 命令。相反,我們可以使用“SELECT”語句檢索有關資料庫中表的資訊。我們有三個不同的命令可與 SELECT 語句一起使用以列出資料庫中的所有表:
sys.tables
information_schema.tables
sysobjects
SYS.TABLES 檢視
以下是使用 **SYS.TABLES** 檢視在 SQL 中列出所有表的語法:
SELECT * FROM SYS.TABLES;
以下是上述查詢的輸出:
| name | object_id | principal_id | schema_id |
|---|---|---|---|
| CUSTOMER | 4195065 | NULL | 1 |
| ORDERS | 68195293 | NULL | 1 |
| COMPANIES | 100195407 | NULL | 1 |
| SALARY | 2107154552 | NULL | 1 |
INFORMATION_SCHEMA.TABLES 檢視
以下是使用 **INFORMATION_SCHEMA.TABLES** 檢視在 SQL 中列出所有表的語法:
SELECT table_name, table_type FROM INFORMATION_SCHEMA.TABLES;
以下是上述查詢的輸出:
| table_name | table_type |
|---|---|
| CUSTOMER | BASE TABLE |
| ORDERS | BASE TABLE |
| COMPANIES | BASE TABLE |
| SALARY | BASE TABLE |
SYSOBJECTS 檢視
您可以使用 **SYSOBJECTS** 檢視檢索 SQL Server 資料庫中建立的所有物件的的資訊,包括儲存過程、檢視、系統表和使用者定義表。以下是使用 sysobjects 檢視的基本語法:
SELECT name, id, xtype FROM sysobjects WHERE xtype = 'U';
| 值 | 含義 |
|---|---|
| AF | 聚合函式 (CLR) |
| C | CHECK 約束 |
| D | 預設值或 DEFAULT 約束 |
| F | FOREIGN KEY 約束 |
| L | 日誌 |
| FN | 標量函式 |
| FS | 程式集 (CLR) 標量函式 |
| FT | 程式集 (CLR) 表值函式 |
| IF | 內聯表值函式 |
| IT | 內部表 |
| P | 儲存過程 |
| PC | 程式集 (CLR) 儲存過程 |
| PK | PRIMARY KEY 約束 (型別為 K) |
| RF | 複製篩選器儲存過程 |
| S | 系統表 |
| SN | 同義詞 |
| SQ | 服務佇列 |
| TA | 程式集 (CLR) DML 觸發器 |
| TF | 表函式 |
| TR | SQL DML 觸發器 |
| TT | 表型別 |
| U | 使用者表 |
| UQ | UNIQUE 約束 (型別為 K) |
| V | 檢視 |
| X | 擴充套件儲存過程 |
這將產生以下結果:
| name | id | xtype |
|---|---|---|
| CUSTOMER | 4195065 | U |
| ORDERS | 68195293 | U |
| COMPANIES | 100195407 | U |
| SALARY | 2107154552 | U |
Oracle - 列出表
您可以使用以下三個 SQL SELECT 語句列出 Oracle 中可用的表。
列出所有表
以下是將列出 Oracle 資料庫中所有可用表的 SQL SELECT 語句。
SELECT owner, table_name FROM ALL_TABLES
列出 DBA 表
以下是將列出 Oracle 資料庫中所有與 DBA 相關的表的 SQL SELECT 語句。
SELECT owner, table_name FROM DBA_TABLES
列出使用者表
以下是將列出 Oracle 資料庫中所有使用者建立的表的 SQL SELECT 語句。
SELECT owner, table_name FROM USER_TABLES
列出所有檢視
以下是將列出 Oracle 資料庫中所有可用檢視的 SQL SELECT 語句。
SELECT view_name FROM ALL_VIEWS;