SHOW 是 MySQL 管理與除錯的瑞士刀。本文彙整 18 種常用 SHOW 指令,含資料表、資料庫、欄位、索引、權限、程序、引擎、狀態、變數、執行緒、警告/錯誤等完整語法與用途說明。
| 指令 | 用途 | 範例 |
|---|---|---|
SHOW TABLES | 列出目前資料庫所有表 | SHOW TABLES FROM db_name |
SHOW DATABASES | 列出所有資料庫 | |
SHOW COLUMNS FROM table | 顯示表欄位定義 | SHOW COLUMNS FROM db.tbl |
SHOW GRANTS FOR user | 顯示使用者權限 | SHOW GRANTS FOR 'root'@'%' |
SHOW INDEX FROM table | 顯示索引資訊 | |
SHOW STATUS | 系統狀態變數(連線數、查詢數等) | |
SHOW VARIABLES | 系統配置變數 | SHOW VARIABLES LIKE 'innodb%' |
SHOW PROCESSLIST | 目前執行緒/查詢 | SHOW FULL PROCESSLIST |
SHOW TABLE STATUS | 表詳細狀態(類型、更新時間、行數等) | |
SHOW PRIVILEGES | 伺服器支援的權限列表 | |
SHOW CREATE DATABASE db | 顯示建庫 SQL | |
SHOW CREATE TABLE table | 顯示建表 SQL | |
SHOW ENGINES | 可用儲存引擎與預設引擎 | |
SHOW ENGINE INNODB STATUS | InnoDB 內部狀態(鎖、交易、緩衝池等) | |
SHOW LOGS | BDB 引擎日誌(已罕用) | |
SHOW WARNINGS | 上一條語句的警告/錯誤/通知 | |
SHOW ERRORS | 上一條語句的錯誤 | |
SHOW [STORAGE] ENGINES | SHOW ENGINES 同義詞 |
SHOW ENGINE INNODB STATUS\G
-- 關注 TRANSACTIONS、LATEST DETECTED DEADLOCK 區塊
SHOW VARIABLES LIKE 'slow_query%';
SHOW VARIABLES LIKE 'long_query_time';
SHOW STATUS LIKE 'Threads_connected';
SHOW STATUS LIKE 'Max_used_connections';
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name'\G
-- 關注 Data_length, Index_length, Data_free
SHOW PROCESSLIST:一般使用者僅見自己執行緒,PROCESS 權限可見所有(含密碼)SHOW GRANTS:需 SELECT mysql 資料庫或對應權限指令結尾加 \G 以垂直格式顯示,適合寬欄位輸出:
SHOW TABLE STATUS FROM mysql\G