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

MySQL 獲取庫表元數據:SHOW、DESCRIBE、mysqlshow、mysqldump 實用指南

     編輯:MySQL 資料庫相關知識

MySQL 元數據查詢工具箱:SQL 語句與命令行工具對比

了解庫表結構是開發、遷移、審計的基礎。MySQL 提供 SQL 層 SHOW/DESCRIBE 和命令行工具 mysqlshow/mysqldump 多種獲取途徑。

SQL 語句族(需登入 MySQL)

命令行工具族(無需交互登入,適合腳本)

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) 發現結構漂移。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
語句功能等價形式
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