使用 Navicat 导出数据表的表结构到 excel

文章目录

使用 Navicat 工具导出数据表的表结构到 excel

前言

一、方式一 (推荐)

1.使用SQL查询表结构 

二、方式二

1、使用SQL直接导出 Excel 文件

总结


前言

在设计数据表的时候,一般都要产出数据库设计文档,这时候对着数据表一个一个打,是很恶心自己的事。那么有没有方便的方式可以一键导出已存在的数据表的表结构呢?当然是有的


一、方式一 (推荐)

1.使用SQL查询表结构 

 可以在Navicat中新建一个查询,执行如下语句

 SQL 如下(示例): 

SELECT
  COLUMN_NAME 字段名称,
  COLUMN_TYPE 数据类型,
  CHARACTER_MAXIMUM_LENGTH 字段长度,
	(
		CASE
		WHEN column_key = 'PRI' THEN
			'√'
		ELSE
			''
		END
	) 主键,
  COLUMN_COMMENT 字段描述 
  FROM
  INFORMATION_SCHEMA.COLUMNS 
  WHERE
  table_schema = '你的数据库名称'
  AND
  table_name = '需要导出的数据表名'

2.执行完成后,选择导出当前结果 

如下图 

 

 

 

 

到此就可以在你导出的路径下看到导出的 Excel 结果啦。效果还可以。如果有样式要求的话,暂时只能自己调调了。

补充:--2020-10-16

SELECT
	COLUMN_NAME 字段名称,
	COLUMN_TYPE 数据类型,
	( CASE WHEN IS_NULLABLE = 'NO' THEN 'X' ELSE '√' END ) 允许为空,
	( CASE WHEN column_key = 'PRI' THEN '√' ELSE 'X' END ) 主键,
	COLUMN_COMMENT 字段描述 
FROM
	INFORMATION_SCHEMA.COLUMNS 
WHERE
	table_schema = '数据库名' 
	AND table_name = '表名'

 查看表字段的属性:  运行desc information_schema.columns

TABLE_CATALOG   nvarchar(128)   表限定符。
TABLE_SCHEMA    nvarchar(128)   表所有者。
TABLE_NAME  nvarchar(128)   表名。
COLUMN_NAME nvarchar(128)   列名。
ORDINAL_POSITION    smallint    列标识号。
COLUMN_DEFAULT  nvarchar(4000)  列的默认值。
IS_NULLABLE varchar(3)  列的为空性。如果列允许 NULL,那么该列返回 YES。否则,返回 NO。
DATA_TYPE   nvarchar(128)   系统提供的数据类型。
CHARACTER_MAXIMUM_LENGTH    smallint    以字符为单位的最大长度,适于二进制数据、字符数据,或者文本和图像数据。否则,返回 NULL。有关更多信息,请参见数据类型。
CHARACTER_OCTET_LENGTH  smallint    以字节为单位的最大长度,适于二进制数据、字符数据,或者文本和图像数据。否则,返回 NULL。
NUMERIC_PRECISION   tinyint 近似数字数据、精确数字数据、整型数据或货币数据的精度。否则,返回 NULL。
NUMERIC_PRECISION_RADIX smallint    近似数字数据、精确数字数据、整型数据或货币数据的精度基数。否则,返回 NULL。
NUMERIC_SCALE   tinyint 近似数字数据、精确数字数据、整数数据或货币数据的小数位数。否则,返回 NULL。
DATETIME_PRECISION  smallint    datetime 及 SQL-92 interval 数据类型的子类型代码。对于其它数据类型,返回 NULL。
CHARACTER_SET_CATALOG   varchar(6)  如果列是字符数据或 text 数据类型,那么返回 master,指明字符集所在的数据库。否则,返回 NULL。
CHARACTER_SET_SCHEMA    varchar(3)  如果列是字符数据或 text 数据类型,那么返回 DBO,指明字符集的所有者名称。否则,返回 NULL。
CHARACTER_SET_NAME  nvarchar(128)   如果该列是字符数据或 text 数据类型,那么为字符集返回唯一的名称。否则,返回 NULL。
COLLATION_CATALOG   varchar(6)  如果列是字符数据或 text 数据类型,那么返回 master,指明在其中定义排序次序的数据库。否则此列为 NULL。
COLLATION_SCHEMA    varchar(3)  返回 DBO,为字符数据或 text 数据类型指明排序次序的所有者。否则,返回 NULL。
COLLATION_NAME  nvarchar(128)   如果列是字符数据或 text 数据类型,那么为排序次序返回唯一的名称。否则,返回 NULL。
DOMAIN_CATALOG  nvarchar(128)   如果列是一种用户定义数据类型,那么该列是某个数据库名称,在该数据库名中创建了这种用户定义数据类型。否则,返回 NULL。
DOMAIN_SCHEMA   nvarchar(128)   如果列是一种用户定义数据类型,那么该列是这种用户定义数据类型的创建者。否则,返回 NULL。
DOMAIN_NAME nvarchar(128)   如果列是一种用户定义数据类型,那么该列是这种用户定义数据类型的名称。否则,返回 NULL。

 

二、方式二

1、使用SQL直接导出 Excel 文件

Navicat 提供的这种方式很方便。其实还有另一种,可以直接导出 Excel 文件的方式。但是这个用的时候不方便,,因为可能没有权限操作,报SQL语句错误,Mysql限定了导入导出的路径。如果数据库控制权也不在自己手里的话,就显得有点困难了。。这里也贴下代码。。

SELECT '字段名称','数据类型','主键','备注'
UNION
SELECT
 COLUMN_NAME as 字段名称,
 COLUMN_TYPE as 数据类型,
 if(COLUMN_KEY='PRI','Y','N') as 主键,
 COLUMN_COMMENT as 备注
FROM
 INFORMATION_SCHEMA. COLUMNS
WHERE
 table_schema = '你的数据库名'
AND 
 table_name = '你的数据表名'
INTO OUTFILE '本地地址\文件名.xls'

 


总结

 完善的数据表文档可以让你对系统的各个功能底层数据结构作用一目了然,同时也让你的思路比较清晰,如果可以的话还是多产出文档吧~~

码字不易,点个赞叭~~

  • 13
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林志鹏JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值