「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」
一、开发环境
- 本文使用的数据库连接工具为Navicat Premium 12
- mysql 5.7
- windows 10
二、问题描述
开发中难免会遇到需要导出某一个表的结构信息,字段信息或者注释信息,接下介绍一种快速查询以及导出的方式: mysql所承建的所有表都保存在information_schema这个库里,而所有的字段都在columns 这张表里面,所以想查啥就去看对应的字段就行。
2.1 INFORMATION_SCHEMA的具体字段示例数据如下:
select
COLUMN_NAME 列名,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_COMMENT 备注
FROM INFORMATION_SCHEMA.COLUMNS
where table_name = 'sys_resource_info'
查询结构如下:
2.2 完整版sql语句以及解析:
SELECT
COLUMN_NAME 字段,
COLUMN_TYPE 类型, --包括数据类型和长度
DATA_TYPE 字段类型,
IS_NULLABLE 是否为空,
CHARACTER_MAXIMUM_LENGTH 长度. --主要是varchar类型的长度
COLUMN_DEFAULT 默认值,
COLUMN_COMMENT 备注
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema = 'developerclub'
AND -- article为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name = 'article'
2.3 复制信息到excel里
快速拷贝信息到excel表的步骤主要如下:
- 选中查询结果,右键--》复制为--->制表符分割值(字段名和数据)
- 注意查看查询结果的右下角的总条数:14再加上1(1为标题行)
- 新建一个excel表,将数据拷贝里即可
- 如果是往word文档的表格里粘贴,需要插入相同列相同行的表格,这样才能准确完整的将所有数据录入到表格中。