| 指令 | 說明 | 範例 |
|---|---|---|
| SHOW DATABASES | 列出所有資料庫 | SHOW DATABASES LIKE '%test'; |
| SHOW TABLES | 列出資料庫所有表 | SHOW TABLES FROM db_name; |
| SHOW COLUMNS | 顯示表欄位定義 | SHOW COLUMNS FROM tbl FROM db; |
| DESCRIBE / DESC | SHOW COLUMNS 別名 | DESC tbl; |
| SHOW INDEX / KEYS | 顯示索引詳細資訊 | SHOW INDEX FROM tbl FROM db; |
| SHOW CREATE TABLE | 顯示建表 SQL | SHOW CREATE TABLE tbl; |
| SHOW TABLE STATUS | 顯示表引擎、行數、大小等統計 | SHOW TABLE STATUS FROM db; |
| 指令 | 說明 | 關鍵輸出欄位 |
|---|---|---|
| SHOW STATUS | 伺服器狀態計數器 | Connections, Questions, Slow_queries, Threads_connected, Handler_read_* |
| SHOW VARIABLES | 系統變數配置值 | innodb_buffer_pool_size, max_connections, sql_mode 等 |
| SHOW PROCESSLIST | 當前執行緒/查詢列表 | Id, User, Host, db, Command, Time, State, Info |
| SHOW ENGINE INNODB STATUS | InnoDB 內部狀態(鎖、事務、緩衝池) | 大量文字輸出,需配合工具解析 |
| 指令 | 說明 |
|---|---|
| SHOW GRANTS FOR user | 顯示用戶權限授予語句 |
| SHOW SLAVE STATUS | 從庫複寫狀態(IO/SQL 執行緒、延遲、錯誤) |
| SHOW MASTER STATUS | 主庫 Binlog 位置 |
| SHOW BINLOG EVENTS | 查看 Binlog 事件 |
SHOW TABLES LIKE 'user%'; 支援 %、_ 通配符。SHOW TABLE STATUS WHERE Engine='InnoDB'; 直接篩選結果集。db.tbl 等同 tbl FROM db,如 SHOW COLUMNS FROM db.tbl;。mysqlshow 命令列工具:mysqlshow db tbl 相當於 SHOW COLUMNS,mysqlshow -k db tbl 相當於 SHOW INDEX。| 欄位 | 含義 |
|---|---|
| Name | 表名 |
| Engine | 儲存引擎 |
| Rows | 預估行數 (InnoDB 非精確) |
| Avg_row_length | 平均行長度 |
| Data_length | 資料檔大小 |
| Index_length | 索引檔大小 |
| Auto_increment | 下一個自增值 |
| Create_time / Update_time / Check_time | 建立/更新/檢查時間 |
| Collation | 校對規則 |
| 欄位 | 含義 |
|---|---|
| Non_unique | 0=唯一索引, 1=非唯一 |
| Key_name | 索引名 (PRIMARY 為主鍵) |
| Seq_in_index | 索引內欄位順序 (1 起) |
| Column_name | 欄位名 |
| Cardinality | 不重複值估計數 (越高選擇性越好) |
| Sub_part | 前綴索引長度 (NULL=全欄位) |
| Index_type | BTREE / FULLTEXT / HASH 等 |
SHOW 系列是 DBA 日常巡檢、開發除錯的核心工具。熟練掌握 STATUS 監控效能指標、VARIABLES 核對配置、PROCESSLIST 排查阻塞、SLAVE STATUS 監控複寫延遲,能解決 80% 以上線上問題。