首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 查看表結構指令大全:DESC、SHOW FIELDS 與 SHOW CREATE TABLE

     編輯:MySQL 綜合教學

前言

在開發與維護 MySQL 資料庫時,快速查看表結構是基本功。MySQL 提供多種指令可檢視欄位定義、索引、約束、字符集等資訊。本文整理最常用的 DESCRIBE、SHOW FIELDS、SHOW CREATE TABLE 等指令,並說明各自的輸出差異與適用場景。

常用指令對照表

指令別名主要用途輸出重點
DESCRIBE tbl_nameDESC tbl_name快速檢視欄位定義Field, Type, Null, Key, Default, Extra
SHOW FIELDS FROM tbl_nameSHOW COLUMNS FROM tbl_name同 DESC,可加 WHERE 過濾同上,支援 LIKE 或 WHERE
SHOW FULL FIELDS FROM tbl_name—顯示完整欄位資訊含註解額外包含 Collation, Privileges, Comment
SHOW CREATE TABLE tbl_name—取得完整建表 SQL含引擎、字符集、分區、索引、外鍵完整 DDL
SHOW TABLE STATUS LIKE 'tbl_name'—檢視表層級統計資訊Rows, Data_length, Index_length, Auto_increment, Comment

實戰範例

1. DESC / DESCRIBE —— 最輕量、最常用

DESC um_userinfo;
-- 或
DESCRIBE um_userinfo;

輸出範例:

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| username | varchar(50)  | NO   | UNI | NULL    |                |
| email    | varchar(100) | YES  |     | NULL    |                |
| status   | tinyint(1)   | NO   |     | 1       |                |
| created  | datetime     | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

2. SHOW FULL FIELDS —— 含欄位註解

SHOW FULL FIELDS FROM um_userinfo;

輸出會多出 Collation、Privileges、Comment 欄位,適合文件化或審核表設計。

3. SHOW CREATE TABLE —— 取得可直接執行的 DDL

SHOW CREATE TABLE um_userinfo\G

輸出範例:

Table: um_userinfo
Create Table: CREATE TABLE `um_userinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) DEFAULT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `created` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶基本資料表'

此指令對於版本控管、環境遷移、審核表結構極為重要。

4. SHOW TABLE STATUS —— 表級統計與健康度

SHOW TABLE STATUS LIKE 'um_userinfo'\G

關鍵欄位:

  • Engine:儲存引擎
  • Rows:預估行數(InnoDB 為估算值)
  • Data_length / Index_length:資料/索引大小(Bytes)
  • Auto_increment:下一個自增值
  • Create_time / Update_time:建立/更新時間
  • Comment:表註解

進階技巧

  1. 資訊綱要查詢:可從 information_schema.COLUMNS 撰寫 SQL 彙總多表結構,適合自動化文件產生器。
  2. 過濾特定欄位:SHOW FIELDS FROM tbl_name LIKE 'user%' 或 WHERE Field IN ('id','name')。
  3. 檢視視圖結構:DESC view_name、SHOW CREATE VIEW view_name 同樣適用。

總結

日常開發用 DESC 最快;需註解或完整 DDL 用 SHOW FULL FIELDS / SHOW CREATE TABLE;評估表大小與健康度用 SHOW TABLE STATUS。熟練這幾招,能大幅提升資料庫操作效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved