前言
今天来简单分享一下mysql导出数据库所有表字段及单个表结构到EXCEL
主要涉及到数据库中的两个表,如下:
INFORMATION_SCHEMA.COLUMNS
information_schema.TABLES
查询数据库所有表结构
SQL语句如下:
SELECT
a.table_name 表名,
b.table_comment 表描述,
a.COLUMN_NAME 列名,
a.COLUMN_TYPE 数据类型,
a.DATA_TYPE 字段类型,
a.CHARACTER_MAXIMUM_LENGTH 长度,
a.IS_NULLABLE 是否为空,
a.COLUMN_DEFAULT 默认值,
a.COLUMN_COMMENT 备注
FROM
(SELECT
table_name,
COLUMN_NAME,
COLUMN_TYPE,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
IS_NULLABLE,
COLUMN_DEFAULT,
COLUMN_COMMENT
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_schema = 'db_finance_xy'
AND table_name IN ( SELECT table_name FROM information_schema.TABLES WHERE table_schema = 'db_finance_xy' )
) a
JOIN
( SELECT table_name, table_comment FROM information_schema.TABLES WHERE table_schema = 'db_finance_xy' ) b
ON a.table_name = b.table_name
查询单个表结构
SQL语句如下:
SELECT
table_name 表名,
COLUMN_NAME 列名,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_DEFAULT 默认值,
COLUMN_COMMENT 备注
FROM
INFORMATION_SCHEMA.COLUMNS
where
-- des_demo为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema ='db_finance_xy'
AND
-- citys为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name = 'citys'
导出到EXCEL
第一步:可在navicat上输入语句进行查询
第二步:点击查询“导出结果”。如图
第三步:点击“导出当前的结果”
第四步:跟着导出向导一直下一步就行。
下一步
建议勾选“包含列的标题”,这样可以包含你查询字段的别名。然后点击“下一步”
点击下一步后,再点击开始。出现如下结构即成功了。
最后会在桌面上增加一个文件。