首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 顯示表資訊完整指令大全:SHOW 系列與 mysqlshow

     編輯:MySQL 資料庫相關知識

SHOW 指令速查表

指令用途範例
SHOW DATABASES列出所有資料庫SHOW DATABASES;
SHOW TABLES [FROM db_name]列出資料庫下所有表SHOW TABLES FROM mydb;
SHOW TABLE STATUS顯示表狀態(引擎、行數、大小、碎片、自增值等)SHOW TABLE STATUS FROM mydb;
SHOW PROCEDURE STATUS列出存儲過程基本資訊SHOW PROCEDURE STATUS WHERE Db='mydb';
SHOW FULL FIELDS FROM tbl_name列出表完整欄位屬性(型別、預設、註解、權限等)SHOW FULL FIELDS FROM users;
SHOW COLUMNS FROM tbl_name [FROM db_name]列出欄位名稱與基本屬性SHOW COLUMNS FROM users FROM mydb;
SHOW GRANTS FOR user_name顯示使用者權限(等同 GRANT 語句)SHOW GRANTS FOR 'app'@'%';
SHOW INDEX FROM tbl_name列出索引詳細資訊SHOW INDEX FROM orders;
SHOW STATUS [FROM db_name]顯示伺服器狀態變數(連線、查詢、緩存、InnoDB 指標等)SHOW GLOBAL STATUS LIKE 'Threads%';
SHOW [GLOBAL | SESSION] VARIABLES顯示系統變數名稱與值SHOW VARIABLES LIKE 'max_connections';
SHOW PROCESSLIST顯示當前執行緒/查詢,排查鎖等待、長查詢SHOW FULL PROCESSLIST;
SHOW OPEN TABLES顯示目前開啟的表清單SHOW OPEN TABLES FROM mydb;
SHOW PRIVILEGES顯示伺服器支援的權限清單SHOW PRIVILEGES;
SHOW CREATE DATABASE db_name顯示建庫語句SHOW CREATE DATABASE mydb;
SHOW CREATE TABLE tbl_name顯示建表語句(含引擎、字元集、分區等)SHOW CREATE TABLE orders;
SHOW ENGINES顯示支援的儲存引擎與預設引擎SHOW ENGINES;
SHOW ENGINE INNODB STATUS顯示 InnoDB 內部狀態(鎖、事務、緩衝池、死鎖等)SHOW ENGINE INNODB STATUS\G
SHOW WARNINGS顯示上一條語句產生的警告、錯誤、通知SHOW WARNINGS;
SHOW ERRORS僅顯示上一條語句的錯誤SHOW ERRORS;
SHOW [STORAGE] ENGINES同 SHOW ENGINESSHOW STORAGE ENGINES;

mysqlshow 命令列工具

僅顯示資料庫/表/欄位層級資訊,適合腳本自動化。

# 列出所有資料庫
mysqlshow -uroot -p

# 列出指定資料庫所有表
mysqlshow -uroot -p mydb

# 列出指定表欄位
mysqlshow -uroot -p mydb users

# 列出指定欄位詳細資訊
mysqlshow -uroot -p mydb users id

實用組合技

# 找出所有無主鍵表
SELECT TABLE_NAME FROM information_schema.TABLES
WHERE TABLE_SCHEMA='mydb' AND TABLE_TYPE='BASE TABLE'
AND TABLE_NAME NOT IN (
    SELECT TABLE_NAME FROM information_schema.TABLE_CONSTRAINTS
    WHERE CONSTRAINT_TYPE='PRIMARY KEY' AND TABLE_SCHEMA='mydb'
);

# 找出最大的 10 張表
SELECT TABLE_NAME, ROUND((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2) AS size_mb
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='mydb'
ORDER BY size_mb DESC LIMIT 10;

權限提醒

  • SHOW PROCESSLIST:普通使用者僅見自己執行緒,需 PROCESS 權限才能看全部(含密碼)。
  • information_schema 視圖需對應物件的 SELECT 權限才可查詢。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved