Mysql生成数据字典 - WvemiC9
source link: https://www.cnblogs.com/wangliukun/p/16047140.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Mysql生成数据字典
在MySQL中,有个自带的数据库,名为information_schema。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。我们通过查询这个数据库的COLUMNS表(此表提供了其他所有表中的列信息)信息,来获取我们需要的表结构信息,从而将其导出为数据字典。
navicat 执行以下SQL的查询(如果需要其他字段,请参考下面COLUMNS表字段拓展):
1 SELECT 2 COLUMN_NAME AS '字段名', 3 COLUMN_TYPE AS '字段类型', 4 ( CASE WHEN IS_NULLABLE = 'YES' THEN '是' ELSE '否' END ) AS '是否可空', 5 ( CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '否' END ) AS '是否主键', 6 COLUMN_DEFAULT AS '默认值', 7 COLUMN_COMMENT AS '注释' 8 FROM 9 INFORMATION_SCHEMA.COLUMNS 10 WHERE 11 TABLE_SCHEMA = '数据库' 12 AND TABLE_NAME = '表';
通过navicat工具进行导出(如下图的按钮,之后自行选择要导出的内容);
COLUMNS表字段拓展:
列名描述
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。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK