mysql生成数据字典的原理与实例是什么,数据库数据字典简单例子

mysql生成数据字典的原理与实例是什么,数据库数据字典简单例子,Mysql生成数据字典的原理与实例

数据字典是DBA需要维护的重要内容。有人喜欢用excel维护,我更喜欢直接在数据库上维护。下面文章主要介绍MySQL生成数据字典的原理和实例,以及导出Mysql数据字典的方法。有需要的朋友可以参考一下。

目录

生成原理生成示例列表字段扩展:附件:1分钟导出的MySQL数据字典汇总

生成原理

在MySQL中,有一个名为information_schema的内置数据库。它保存了由MySQL服务器维护的所有其他数据库的信息。例如数据库的名称、数据库的表、表列的数据类型和访问权限限制。我们通过查询这个数据库的COLUMNS表(这个表提供了所有其他表的列信息)得到我们需要的表结构信息,然后导出为数据字典。

生成实例

Navicat执行以下SQL的查询(如果需要其他字段,请参考以下列表格字段扩展):

挑选

COLUMN_NAME作为“字段名”,

COLUMN_TYPE为“字段类型”,

(情况当IS _ NULLABLE=' YES ' THEN ' YES ' ELSE ' no ' END)为' NULLABLE ',

(当COLUMN _ KEY=' PRI ' THEN ' yes ' ELSE ' no ' END时的情况)作为'主键',

COLUMN_DEFAULT作为“默认值”,

COLUMN_COMMENT作为“注释”

信息_模式。列

在哪里

TABLE_SCHEMA='数据库'

而TABLE _ NAME=' table

通过navicat工具导出(如下图所示的按钮,然后自己选择要导出的内容);

COLUMNS表字段拓展:

列描述COLUMN_NAME字段名称COLUMN_TYPE字段类型TABLE_CATALOG表限定符。IS_NULLABLE列的空值。如果该列允许NULL,则该列返回YES。否则,不返回。COLUMN_KEY字段主键COLUMN_DEFAULT默认值COLUMN_COMMENT注释ORDINAL_POSITION字段在表中的顺序(从1开始)TABLE_NAME数据表_SCHEMA数据库名称DATA_TYPE数据类型DATETIME _ PRECISIONdatetime日期时间和SQL-92interval数据类型的子类型代码。对于其他数据类型,将返回NULL。EXTRA extra信息Generation _ expression numeric _ precision近似数字数据、精确数字数据、整数数据或货币数据的精度。否则,返回NULL。NUMERIC_SCALE近似于数字数据、精确数字数据、整数数据或货币数据的小数位数。否则,返回NULL。privileges Character _ Maximum _ Length以字符为单位的最大长度,适用于二进制数据、字符数据或文本和图像数据。否则,返回NULL。CHARACTER_OCTET_LENGTH以字节为单位的最大长度,适用于二进制数据、字符数据或文本和图像数据。否则,返回NULL。CHARACTER_SET_NAME如果列是字符数据或文本数据类型,则为字符集返回一个唯一的名称。否则,返回NULL。COLLATION_NAME collation,如果列是字符数据或文本数据类型,则返回排序顺序的唯一名称。否则,返回NULL。

附:1分钟导出MySQL的数据字典

利用mysql的information_schema中的COLUMNS表和navicat中的export功能快速导出数据字典,看看这个表的表结构。

创建临时表“列”(

` 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默认值为' 0 ',

` COLUMN_DEFAULT` longtext,

` is _ nullable ` varchar(3)NOT NULL DEFAULT ' ',

` data _ type ` varchar(64)NOT NULL DEFAULT ' ',

` character _ MAXIMUM _ length ` bigint(21)无符号缺省NULL,

` character _ OCTET _ length ` bigint(21)无符号缺省NULL,

` numeric _ precision ' bigint(21)无符号缺省NULL,

` NUMERIC_SCALE` bigint(21)无符号默认值NULL,

` DATETIME_PRECISION` bigint(21)无符号默认NULL,

` CHARACTER_SET_NAME` varchar(32)默认为NULL,

` COLLATION_NAME` varchar(32)默认为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默认字符集=utf8

比如我需要导出圭凡库和测试库的数据字典信息:

select TABLE_SCHEMA,TABLE_NAME,COLUMN_TYPE,COLUMN _ COMMENT from information _ SCHEMA . columns其中TABLE_SCHEMA='guifan '或TABLE_SCHEMA='test '

在查询结果页面的右上角,有一个带导出功能的按钮。点击它可以选择多种导出格式,如下图所示。

按照提示进行导出。

好了,这就是我想要的数据字典。

总结

关于Mysql生成数据字典的原理和例子的这篇文章就到这里了。有关Mysql生成的数据字典的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: