show create table 表名称
這個語句每次本能想出的,語義好記,可以直接查看建表語句,但不便於程式碼處理。
desc 表名称
這個語句簡單易用,可以取得到 COLUMNS 中的比較重要的欄位:名稱、類型、是否為空、鍵、預設值、額外資訊。但無法取得欄位的註解。
select * from information_schema.COLUMNS where TABLE_SCHEMA = '库名称' and TABLE_NAME = '表名称'
相對show create table而言,相對簡單,資訊全面,可以查詢出來欄位的名稱、類型、鍵、權限、註解和其他資訊。為了取得欄位名稱,故我在腳本中使用這個作為取得表格結構的方法。
附:information_schema.COLUMNS欄位與意義
#欄位名稱及意義
##TABLE_CATALOG表類型(沒搞懂幹啥用?)
TABLE_SCHEMA所屬函式庫名稱
TABLE_NAME表格名稱
COLUMN_NAME欄位名稱
ORDINAL_POSITION位置序號
COLUMN_DEFAULT預設值
#IS_NULLABLE是否可為空
#DATA_TYPE資料型別
CHARACTER_MAXIMUM_LENGTH字串最大長度(數值類型為空)
#CHARACTER_OCTET_LENGTH字串最大儲存長度(一般與上一欄位相同)
NUMERIC_PRECISION數值精確度(非數值型別為空白)
NUMERIC_SCALE數值小數位(非數值類型為空白)
DATETIME_PRECISION日期精確度
CHARACTER_SET_NAME編碼方式
COLLATION_NAME排序方式
#COLUMN_TYPE欄位類型
#COLUMN_KEY欄位涉及的key(主鍵、唯一鍵等)
#EXTRA其他(如auto_increment)
#PRIVILEGES權限
SELECT * FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'db_name'
SELECT TABLE_NAME, TABLE_COMMENT FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'db_name';
SELECT TABLE_SCHEMA AS '库名', TABLE_NAME AS '表名', COLUMN_NAME AS '列名', ORDINAL_POSITION AS '列的排列顺序', COLUMN_DEFAULT AS '默认值', IS_NULLABLE AS '是否为空', DATA_TYPE AS '数据类型', CHARACTER_MAXIMUM_LENGTH AS '字符最大长度', NUMERIC_PRECISION AS '数值精度(最大位数)', NUMERIC_SCALE AS '小数精度', COLUMN_TYPE AS '列类型', COLUMN_KEY 'KEY', EXTRA AS '额外说明', COLUMN_COMMENT AS '注释' FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA = 'db_name' ORDER BY TABLE_NAME, ORDINAL_POSITION;
以上是mysql查看表結構的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!