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

MySQL查看表結構命令全集:DESC、SHOW COLUMNS、INFORMATION_SCHEMA與Oracle對照

     編輯:MySQL 綜合教學

查看表結構是日常開發運維高頻操作。本文匯總MySQL 5種查看表結構命令、庫表層級查詢指令,並附帶Oracle對應命令對照,構建跨資料庫元數據查詢速查表。

MySQL表結構查看五大命令

命令語法特點輸出範例欄位
DESCDESC tbl_name;最簡潔,DESCRIBE別名Field, Type, Null, Key, Default, Extra
SHOW COLUMNSSHOW COLUMNS FROM tbl_name;等同DESC,支援LIKE過濾同DESC
DESCRIBEDESCRIBE tbl_name;標準SQL風格同DESC
SHOW CREATE TABLESHOW CREATE TABLE tbl_name;含建表DDL、引擎、字符集、分區Table, Create Table
INFORMATION_SCHEMASELECT * FROM COLUMNS WHERE TABLE_NAME='tbl_name';標準SQL、可JOIN、可程式化查詢完整元數據欄位

實戰範例

-- 快速查看結構
DESC users;

-- 獲取完整建表語句(含引擎、字符集、自增值)
SHOW CREATE TABLE users\G

-- 程式化查詢:找出所有VARCHAR(255)欄位
SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_db' AND DATA_TYPE = 'varchar' AND CHARACTER_MAXIMUM_LENGTH = 255;

庫表層級常用指令

-- 列出所有資料庫
SHOW DATABASES;

-- 切換資料庫
USE db_name;

-- 列出當前庫所有表
SHOW TABLES;

-- 列出視圖
SHOW FULL TABLES WHERE Table_type = 'VIEW';

索引修改實戰:複合唯一索引重建

-- 原索引:UNIQUE AK_PAS_Name (PAC_Name)
-- 目標:UNIQUE AK_PAS_Name (PC_ID, PAC_Name)

ALTER TABLE tb_webparamcounter DROP INDEX AK_PAS_Name;
ALTER TABLE tb_webparamcounter ADD UNIQUE AK_PAS_Name (PC_ID, PAC_Name);

注意:若涉及欄位為外鍵,必須先DROP FOREIGN KEY再操作索引。

存儲過程查看

SHOW PROCEDURE STATUS;
-- 或查詢INFORMATION_SCHEMA.ROUTINES

Oracle元數據查詢對照表

用途MySQLOracle
當前資料庫資訊SELECT DATABASE();SELECT * FROM v$database;
當前用戶SELECT USER();SELECT * FROM all_users;
用戶表列表SHOW TABLES;SELECT * FROM user_tables;
表結構DESC tblDESC tbl (SQL*Plus)
建表DDLSHOW CREATE TABLEDBMS_METADATA.GET_DDL

操作小技巧

  • 命令未加分號直接回車 → 補分號回車即可,無需重輸
  • ↑/↓方向鍵調取歷史命令
  • \G結尾垂直顯示,適合寬表結構閱讀

掌握多樣化的元數據查詢方式,能在不同場景(快速確認、DDL獲取、自動化腳本、異構遷移)選擇最高效工具。

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