<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在MySQL中,有個自帶的資料庫,名為information_schema。其中儲存著關於MySQL伺服器所維護的所有其他資料庫的資訊。如資料庫名,資料庫的表,表欄的資料型別與存取權 限等。我們通過查詢這個資料庫的COLUMNS表(此表提供了其他所有表中的列資訊)資訊,來獲取我們需要的表結構資訊,從而將其匯出為資料字典。
navicat 執行以下SQL的查詢(如果需要其他欄位,請參考下面COLUMNS表欄位拓展):
SELECT COLUMN_NAME AS '欄位名', COLUMN_TYPE AS '欄位型別', ( CASE WHEN IS_NULLABLE = 'YES' THEN '是' ELSE '否' END ) AS '是否可空', ( CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '否' END ) AS '是否主鍵', COLUMN_DEFAULT AS '預設值', COLUMN_COMMENT AS '註釋' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '資料庫' AND TABLE_NAME = '表';
通過navicat工具進行匯出(如下圖的按鈕,之後自行選擇要匯出的內容);
列名 | 描述 |
---|---|
COLUMN_NAME | 欄位名 |
COLUMN_TYPE | 欄位型別 |
TABLE_CATALOG | 表限定符。 |
IS_NULLABLE | 列的為空性。如果列允許 NULL,那麼該列返回 YES。否則,返回 NO。 |
COLUMN_KEY | 欄位主鍵 |
COLUMN_DEFAULT | 預設值 |
COLUMN_COMMENT | 註釋 |
ORDINAL_POSITION | 欄位在表的順序(從1開始) |
TABLE_NAME | 資料表名 |
TABLE_SCHEMA | 資料庫名 |
DATA_TYPE | 資料型別 |
DATETIME_PRECISION | datetime 及 SQL-92 interval 資料型別的子型別程式碼。對於其它資料型別,返回 NULL。 |
EXTRA | 額外資訊 |
GENERATION_EXPRESSION | |
NUMERIC_PRECISION | 近似數位資料、精確數位資料、整型資料或貨幣資料的精度。否則,返回 NULL。 |
NUMERIC_SCALE | 近似數位資料、精確數位資料、整數資料或貨幣資料的小數位數。否則,返回 NULL。 |
PRIVILEGES | |
CHARACTER_MAXIMUM_LENGTH | 以字元為單位的最大長度,適於二進位制資料、字元資料,或者文字和影象資料。否則,返回NULL。 |
CHARACTER_OCTET_LENGTH | 以位元組為單位的最大長度,適於二進位制資料、字元資料,或者文字和影象資料。否則,返回 NULL。 |
CHARACTER_SET_NAME | 如果該列是字元資料或 text資料型別,那麼為字元集返回唯一的名稱。否則,返回 NULL。 |
COLLATION_NAME | 排序規則,如果列是字元資料或 text資料型別,那麼為排序次序返回唯一的名稱。否則,返回 NULL。 |
利用mysql的information_schema中的COLUMNS表和navicat中的匯出功能實現快速匯出資料字典,來看一下該表的表結構
CREATE TEMPORARY TABLE `COLUMNS` ( `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT'', `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT'', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `COLUMN_NAME` varchar(64) NOT NULL DEFAULT'', `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT '0', `COLUMN_DEFAULT` longtext, `IS_NULLABLE` varchar(3) NOT NULL DEFAULT '', `DATA_TYPE` varchar(64) NOT NULL DEFAULT '', `CHARACTER_MAXIMUM_LENGTH` bigint(21)unsigned DEFAULT NULL, `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL, `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL, `NUMERIC_SCALE` bigint(21) unsigned DEFAULTNULL, `DATETIME_PRECISION` bigint(21) unsigned DEFAULT NULL, `CHARACTER_SET_NAME` varchar(32) DEFAULT NULL, `COLLATION_NAME` varchar(32) DEFAULT NULL, `COLUMN_TYPE` longtext NOT NULL, `COLUMN_KEY` varchar(3) NOT NULL DEFAULT '', `EXTRA` varchar(30) NOT NULL DEFAULT '', `PRIVILEGES` varchar(80) NOT NULL DEFAULT '', `COLUMN_COMMENT` varchar(1024) NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
例如我需要匯出guifan庫和test庫的資料字典資訊:
select TABLE_SCHEMA,TABLE_NAME,COLUMN_TYPE,COLUMN_COMMENT frominformation_schema.columns where TABLE_SCHEMA='guifan' or TABLE_SCHEMA='test'
在查詢結果頁面的右上角,有一個匯出功能的按鈕,點一下可以選擇多種匯出的格式,如下圖所示
按提示操作匯出
OK,這就是我想要的資料字典
到此這篇關於Mysql生成資料字典的原理與範例的文章就介紹到這了,更多相關Mysql生成資料字典內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45