Navicat Premium快速导出数据库ER图和数据字典

2.快速导出数据库数据字典:

SQL Server 数据库,生成数据字典

use YourDatabase  --指定要生成数据字典的数据库
go

SELECT
表名=case when a.colorder=1 then d.name else ‘‘ end,
表说明=case when a.colorder=1 then isnull(f.value,‘‘) else ‘‘ end,
字段序号=a.colorder,
字段名=a.name,
标识=case when COLUMNPROPERTY(a.id,a.name,‘IsIdentity‘)=1 then ‘√‘else ‘‘ end,
主键=case when exists(SELECT 1 FROM sysobjects where xtype=‘PK‘ and name in (
  SELECT name FROM sysindexes WHERE indid in(
   SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
   ))) then ‘√‘ else ‘‘ end,
类型=b.name,
占用字节数=a.length,
长度=COLUMNPROPERTY(a.id,a.name,‘PRECISION‘),
小数位数=isnull(COLUMNPROPERTY(a.id,a.name,‘Scale‘),0),
允许空=case when a.isnullable=1 then ‘√‘else ‘‘ end,
默认值=isnull(e.text,‘‘),
字段说明=isnull(g.[value],‘‘)
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype=‘U‘ and d.name<>‘dtproperties‘
left join syscomments e on a.cdefault=e.id
left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.major_id and f.minor_id =0
--where d.name=‘要查询的表‘ --如果只查询指定表,加上此条件
order by a.id,a.colorder

或者将表头赋值放在后面:

-- 数据字典
SELECT
    (CASE
        WHEN a.colorder = 1 THEN d.name
        ELSE ‘‘
    END) 表名
   ,a.colorder 字段序号
   ,a.name 字段名
   ,(CASE
        WHEN COLUMNPROPERTY(a.id, a.name, ‘IsIdentity‘) = 1 THEN ‘√‘
        ELSE ‘‘
    END) 标识
   ,(CASE
        WHEN (SELECT
                    COUNT(*)
                FROM sysobjects
                WHERE (name IN (SELECT
                        name
                    FROM sysindexes
                    WHERE (id = a.id)
                    AND (indid IN (SELECT
                            indid
                        FROM sysindexkeys
                        WHERE (id = a.id)
                        AND (colid IN (SELECT
                                colid
                            FROM syscolumns
                            WHERE (id = a.id)
                            AND (name = a.name))
                        ))
                    ))
                )
                AND (xtype = ‘PK‘))
            > 0 THEN ‘√‘
        ELSE ‘‘
    END) 主键
   ,b.name 类型
   ,a.length 占用字节数
   ,COLUMNPROPERTY(a.id, a.name, ‘PRECISION‘) AS 长度
   ,ISNULL(COLUMNPROPERTY(a.id, a.name, ‘Scale‘), 0) AS 小数位数
   ,(CASE
        WHEN a.isnullable = 1 THEN ‘√‘
        ELSE ‘‘
    END) 允许空
   ,ISNULL(e.text, ‘‘) 默认值
   ,ISNULL(g.[value], ‘‘) AS 字段说明
FROM syscolumns a
LEFT JOIN systypes b
    ON a.xtype = b.xusertype
INNER JOIN sysobjects d
    ON a.id = d.id
        AND d.xtype = ‘U‘
        AND d.name <> ‘dtproperties‘
LEFT JOIN syscomments e
    ON a.cdefault = e.id
LEFT JOIN sys.extended_properties g
    ON a.id = g.major_id
        AND a.colid = g.major_id
ORDER BY a.id, a.colorder

接下来将数据字典导出:

首先,点击右上角的导出

然后,选择导出格式:

选择导出的地址和输入文件的名称

参考:https://www.idaima.com/article/3083

MySQL,生成数据字典

USE information_schema;

SELECT
    T.TABLE_SCHEMA AS ‘数据库名称‘,
    T.TABLE_NAME AS ‘表名‘,
    T.TABLE_TYPE AS ‘表类型‘,
    T. ENGINE AS ‘数据库引擎‘,
    C.ORDINAL_POSITION AS ‘字段编号‘,
    C.COLUMN_NAME AS ‘字段名‘,
    C.COLUMN_TYPE AS ‘数据类型‘,
    C.IS_NULLABLE AS ‘允许为空‘,
    C.COLUMN_KEY AS ‘键类型‘,
    C.EXTRA AS ‘自增属性‘,
    C.CHARACTER_SET_NAME AS ‘编码名称‘,
    C.COLUMN_COMMENT AS ‘字段说明‘
FROM
    COLUMNS C
INNER JOIN TABLES T ON C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND C.TABLE_NAME = T.TABLE_NAME
WHERE
    T.TABLE_SCHEMA = ‘mysql‘  --指定要生成数据字典的数据库

参考:http://www.jianshu.com/p/f491d0d3c503

时间: 2024-12-26 01:15:42

Navicat Premium快速导出数据库ER图和数据字典的相关文章

如何在 Navicat Premium 中执行数据库范围搜索

有好多朋友在使用Navicat Premium12过程中会出现各种各样的问题,到底Navicat Premium 该怎么用呢?小编就如何在 Navicat Premium 中执行数据库范围搜索这一问题,给大家具体讲解一下!Navicat Premium Essentials for mac(数据库管理软件)立即下载Navicat Premium Essentials for mac(数据库管理软件)Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL.M

Navicat Premium 连接Oracle 数据库之配置

Navicat Premium连接Oracle 数据库之配置 1.Oracle数据库服务器下载 Oracle官方网站下载数据库最新版本:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 2.Navicat Premium_11.2.7简体中文完美破解版(32位和64位)下载 http://download.csdn.net/detail/ahgaoyong/9482314 3

更新Navicat Premium 后打开数据库出现1146 - Table &#39;performance_schema.session_variables&#39; doesn&#39;t exist

更新Navicat Premium 后打开数据库出现1146 - Table 'performance_schema.session_variables' doesn't exist 解决方法:打开终端进入mysql bin目录下执行 mysql_upgrade -u root -p --force 本人用的MAMP集成环境输入命令如下 /Applications/MAMP/Library/bin/mysql_upgrade -u root -p --force 就解决了 作者:Start_85

Navicat Premium 连接MySQL数据库出现Authentication plugin &#39;caching_sha2_password&#39; cannot be loaded的解决方案

1.运行cmd,目录定位到MySql的安装目录“C:\Program Files\MySQL\MySQL Server 8.0\bin” 2.运行mysql 3.运行如下的两个命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

EA逆向生成数据库E-R图(mysql,mariadb数据库-->ER图) v13 及以后的版本处理方式(xjl456852原创)

处理er图需要先将数据库逆向到EA中. 需要电脑上安装mysql 的 odbc可以在官网下载mysql的odbc版本,如果是mariadb的需要下载mariadb的odbc 需要注意,这个EA是32位的软件,一定要下载32位的odbc,否则EA识别不了mysql的驱动. 我安装了mysql odbc驱动32位 下载地址: https://dev.mysql.com/downloads/connector/odbc/ 也可在页面中点击 Looking for the latest GA versi

教你用MySQL导出一个ER图功能

MySQL数据字典相关的sql查询和navicat的一个导出ER图功能 1 2 3 4 5 6 7 8 9 10 11 12 13 ##mysql 查看表结构 SELECT COLUMN_NAME 'Field', COLUMN_TYPE 'Type', IS_NULLABLE 'Null', COLUMN_KEY 'Key', COLUMN_DEFAULT 'Default', COLUMN_COMMENT 'Comment' FROM INFORMATION_SCHEMA.COLUMNS W

使用Navicat Premium连接mysql数据库

Navicat Premium是一个可多重连接的数据库管理工 具,它可让你以单一程序同时连接. Navicat Premium 使你能简单并快速地在各种数据库系统间传输数据,或传输一份指定 SQL 格式及编码的纯文本文件.这可以简化从一台服务器迁移数据到另一台服务器的类型的进程.不同数据库的批处理作业也可以计划并在指定的时 间运行. 由于原生的mysql数据库查看表对应的触发器非常困难,且不直观,所以在网上看到了这个专门用来连接数据库的工具. 一.新建mysql连接 二.连接方式如下 三.可能出

数据库ER图 PowerDesigner

一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现 概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充.它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计. 通 常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界.换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系 (Rela

Navicat Premium 连接 Oracle 数据库

Navicat Premium是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL.SQLite.Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便.最重要的是它不用装Oracle客户端.下边简单介绍一下Navicat Premium连接oracle客户端的方法. 如果你的机器已经装有 Oracle 数据库的话,那很简单,Navicat Premium可以直接连接到 Oracle . 如果没装,那 Navicat 会提示你需要安装 Oracle