mysql查看表結(jié)構(gòu)的三種方法總結(jié)
mysql查看表結(jié)構(gòu)
1. show create table
show create table 表名稱
這個(gè)語句每次本能想出的,語義好記,可以直接查看建表語句,但不便于代碼處理。
2. desc
desc 表名稱
這個(gè)語句簡(jiǎn)單易用,可以獲取到 COLUMNS 中的比較重要的字段:名稱、類型、是否為空、鍵、默認(rèn)值、額外信息。但無法獲取字段的注釋。
3. information_schema.COLUMNS
select * from information_schema.COLUMNS where TABLE_SCHEMA = '庫(kù)名稱' and TABLE_NAME = '表名稱'
相對(duì)show create table而言,相對(duì)簡(jiǎn)單,信息全面,可以查詢出來字段的名稱、類型、鍵、權(quán)限、注釋和其他信息。為了獲取字段名稱,故我腳本中使用這個(gè)作為獲取表結(jié)構(gòu)的方法。
附:information_schema.COLUMNS字段和含義
字段名稱及含義
TABLE_CATALOG表類型(沒搞懂干啥用?)TABLE_SCHEMA所屬庫(kù)名稱TABLE_NAME表名稱COLUMN_NAME字段名稱ORDINAL_POSITION位置序號(hào)COLUMN_DEFAULT默認(rèn)值IS_NULLABLE是否可為空DATA_TYPE數(shù)據(jù)類型CHARACTER_MAXIMUM_LENGTH字符串最大長(zhǎng)度(數(shù)值類型為空)CHARACTER_OCTET_LENGTH字符串最大存儲(chǔ)長(zhǎng)度(一般與上一字段相同)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ù)庫(kù)名導(dǎo)出所有表信息
SELECT ? ? * FROM ? ? information_schema.`TABLES` WHERE ? ? TABLE_SCHEMA = 'db_name'
根據(jù)庫(kù)名導(dǎo)出所有表名及表備注
SELECT ? ? TABLE_NAME, ? ? TABLE_COMMENT FROM ? ? information_schema.`TABLES` WHERE ? ? TABLE_SCHEMA = 'db_name';
mysql獲取整個(gè)庫(kù)的所有表,及表結(jié)構(gòu)
SELECT ? ? TABLE_SCHEMA AS '庫(kù)名', ? ? 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 '字符最大長(zhǎng)度', ? ? 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;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
實(shí)現(xiàn)數(shù)據(jù)庫(kù)水平切分的兩個(gè)思路
今天小編就為大家分享一篇關(guān)于實(shí)現(xiàn)數(shù)據(jù)庫(kù)水平切分的兩個(gè)思路,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
解說mysql之binlog日志以及利用binlog日志恢復(fù)數(shù)據(jù)的方法
下面小編就為大家?guī)硪黄庹fmysql之binlog日志以及利用binlog日志恢復(fù)數(shù)據(jù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
MySQL表操作插入數(shù)據(jù)insert語句學(xué)習(xí)(小白入門篇)
這篇文章主要為大家介紹了MySQL表操作插入數(shù)據(jù)insert語句學(xué)習(xí)小白入門篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
簡(jiǎn)單講解sql語句中的group by的使用方法
掌握sql語句中g(shù)roup by的使用方法會(huì)對(duì)我們的工作效率有很大的提升,下面小編來和大家一起簡(jiǎn)單學(xué)習(xí)一下2019-05-05
解決mysql錯(cuò)誤:Subquery?returns?more?than?1?row問題
這篇文章主要介紹了解決mysql錯(cuò)誤:Subquery?returns?more?than?1?row問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05

