如何快速制作数据词典

其实制作数据词典是一件非常麻烦费力的事情,如果有一条SQL能够帮你全都查询出来,那无疑会省力许多,今天呢我就给大家带来一条这样的SQL,源自大佬小梦想的亲笔之作。


USE information_schema;

SELECT
字段,
字段说明,
PK,
数据类型,
允许为空,
默认值
FROM
(
SELECT
CONCAT('数据表:', MAX(C.TABLE_NAME)) AS '字段',
MAX(C.TABLE_NAME) AS '表名',
MAX(T.TABLE_COMMENT) AS '字段说明',
'' AS 'PK',
'' AS '数据类型',
'' AS '允许为空',
'' AS '默认值'
FROM
information_schema. COLUMNS AS C
INNER JOIN information_schema. TABLES AS T ON C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND C.TABLE_NAME = T.TABLE_NAME
WHERE
C.TABLE_SCHEMA = '替换成数据库名字'
GROUP BY
T.TABLE_NAME
UNION ALL
SELECT
MAX(C.COLUMN_NAME) AS '字段',
MAX(C.TABLE_NAME) AS '表名',
MAX(C.COLUMN_COMMENT) AS '字段说明',
MAX(C.EXTRA) AS 'PK',
MAX(C.COLUMN_TYPE) AS '数据类型',
MAX(C.IS_NULLABLE) AS '允许为空',
MAX(C.COLUMN_DEFAULT) AS '默认值'
FROM
information_schema. COLUMNS AS C
WHERE
C.TABLE_SCHEMA = '替换成数据库名字'
GROUP BY
C.TABLE_NAME ASC,
C.ORDINAL_POSITION ASC
UNION ALL
SELECT
'' AS '字段',
MAX(C.TABLE_NAME) AS '表名',
'' AS '字段说明',
'' AS 'PK',
'' AS '数据类型',
'' AS '允许为空',
'' AS '默认值'
FROM
information_schema. COLUMNS AS C
WHERE
C.TABLE_SCHEMA = '替换成数据库名字'
GROUP BY
C.TABLE_NAME
) S
ORDER BY
表名 ASC

效果图如下这里写图片描述
转载请注明出处,侵权必究

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值