mysql查看表結(jié)構(gòu)的三種方法總結(jié)
mysql查看表結(jié)構(gòu)
1. show create table
show create table 表名稱
這個語句每次本能想出的,語義好記,可以直接查看建表語句,但不便于代碼處理。
2. desc
desc 表名稱
這個語句簡單易用,可以獲取到 COLUMNS 中的比較重要的字段:名稱、類型、是否為空、鍵、默認(rèn)值、額外信息。但無法獲取字段的注釋。
3. information_schema.COLUMNS
select * from information_schema.COLUMNS where TABLE_SCHEMA = '庫名稱' and TABLE_NAME = '表名稱'
相對show create table而言,相對簡單,信息全面,可以查詢出來字段的名稱、類型、鍵、權(quán)限、注釋和其他信息。為了獲取字段名稱,故我腳本中使用這個作為獲取表結(jié)構(gòu)的方法。
附:information_schema.COLUMNS字段和含義
字段名稱及含義
TABLE_CATALOG表類型(沒搞懂干啥用?)TABLE_SCHEMA所屬庫名稱TABLE_NAME表名稱COLUMN_NAME字段名稱ORDINAL_POSITION位置序號COLUMN_DEFAULT默認(rèn)值IS_NULLABLE是否可為空DATA_TYPE數(shù)據(jù)類型CHARACTER_MAXIMUM_LENGTH字符串最大長度(數(shù)值類型為空)CHARACTER_OCTET_LENGTH字符串最大存儲長度(一般與上一字段相同)NUMERIC_PRECISION數(shù)值精度(非數(shù)值類型為空)NUMERIC_SCALE數(shù)值小數(shù)位數(shù)(非數(shù)值類型為空)DATETIME_PRECISION日期精度CHARACTER_SET_NAME編碼方式COLLATION_NAME排序方式COLUMN_TYPE字段類型COLUMN_KEY字段涉及的key(主鍵、唯一鍵等)EXTRA其他(如 auto_increment)PRIVILEGES權(quán)限COLUMN_COMMENT字段注釋GENERATION_EXPRESSION代表達(dá)式(沒搞懂,mysql可以表繼承?)
獲取所有的表結(jié)構(gòu)及備注
根據(jù)庫名導(dǎo)出所有表信息
SELECT ? ? * FROM ? ? information_schema.`TABLES` WHERE ? ? TABLE_SCHEMA = 'db_name'
根據(jù)庫名導(dǎo)出所有表名及表備注
SELECT ? ? TABLE_NAME, ? ? TABLE_COMMENT FROM ? ? information_schema.`TABLES` WHERE ? ? TABLE_SCHEMA = 'db_name';
mysql獲取整個庫的所有表,及表結(jié)構(gòu)
SELECT ? ? TABLE_SCHEMA AS '庫名', ? ? TABLE_NAME AS '表名', ? ? COLUMN_NAME AS '列名', ? ? ORDINAL_POSITION AS '列的排列順序', ? ? COLUMN_DEFAULT AS '默認(rèn)值', ? ? IS_NULLABLE AS '是否為空', ? ? DATA_TYPE AS '數(shù)據(jù)類型', ? ? CHARACTER_MAXIMUM_LENGTH AS '字符最大長度', ? ? NUMERIC_PRECISION AS '數(shù)值精度(最大位數(shù))', ? ? NUMERIC_SCALE AS '小數(shù)精度', ? ? 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;
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php 不能連接數(shù)據(jù)庫 php error Can''t connect to local MySQL server
php 不能連接數(shù)據(jù)庫 php error Can't connect to local MySQL server through socket '/tmp/mysql.sock'2011-05-05
MySQL中Binary Log二進(jìn)制日志文件的基本操作命令小結(jié)
這篇文章主要介紹了MySQL中Binary Log二進(jìn)制日志文件的基本操作小結(jié),包括利用二進(jìn)制日志恢復(fù)數(shù)據(jù)的方法,需要的朋友可以參考下2015-12-12
MySQL中基本的用戶和權(quán)限管理方法小結(jié)
這篇文章主要介紹了MySQL中基本的用戶和權(quán)限管理方法小結(jié),是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-08-08
mysql如何將表結(jié)構(gòu)導(dǎo)出到excel
這篇文章主要介紹了mysql如何將表結(jié)構(gòu)導(dǎo)出到excel,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-09-09

