| 語句 | 功能 | 等價形式 |
SHOW DATABASES | 列出所有數據庫 | mysqlshow |
SHOW TABLES [FROM db] | 列出庫中表 | mysqlshow db |
SHOW COLUMNS FROM tbl [FROM db] | 列結構詳情 | DESCRIBE tbl / EXPLAIN tbl |
SHOW INDEX FROM tbl [FROM db] | 索引詳情 | mysqlshow -k db tbl |
SHOW TABLE STATUS [FROM db] | 表統計(行數、引擎、自增值等) | — |
SHOW CREATE TABLE tbl | 完整建表語句 | mysqldump --no-data db tbl |
命令行工具族(無需交互登入,適合腳本)
mysqlshow
# 列出所有庫
mysqlshow -u root -p
# 列出某庫所有表
mysqlshow -u root -p my_db
# 顯示表結構(等同 DESCRIBE)
mysqlshow -u root -p my_db my_table
# 顯示索引詳情
mysqlshow -u root -p -k my_db my_table
mysqldump --no-data(結構導出神器)
# 導出單表結構
mysqldump -u root -p --no-data my_db my_table
# 導出整庫結構
mysqldump -u root -p --no-data my_db
# 導出所有庫結構
mysqldump -u root -p --no-data --all-databases
優勢:輸出標準 CREATE TABLE 語句,包含索引、外鍵、字符集、分區等完整定義,**比 SHOW COLUMNS 更易讀、可直接執行重建**。
遠程連接參數
以上工具均支持 -h host、-P port、-S socket、--protocol={TCP|SOCKET|PIPE|MEMORY} 指定目標實例。
實用技巧
- 腳本化巡檢:
mysqlshow -u user -ppass --status db | grep -E 'Rows|Data_length|Index_length' 快速獲取表大小。
- 版本控制:將
mysqldump --no-data 輸出納入 Git,追蹤 Schema 變更歷史。
- 差異對比:
diff <(mysqldump --no-data db1) <(mysqldump --no-data db2) 發現結構漂移。
- 上一篇文章: MySQL 註釋語法全解:三種風格與版本特性
- 下一篇文章: MySQL 數據庫創建、刪除與切換:權限、風險與最佳實踐
Copyright ©
程式碼之家 All Rights Reserved