MySQL查询表结构、索引导出excel
导出表结构(列名,数据类型,字段类型,长度,是否为空,默认值,备注)
- 在所需要的表中执行如下语句
SELECT
COLUMN_NAME 列名,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_DEFAULT 默认值,
COLUMN_COMMENT 备注
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE -- table_schema为数据库名称
table_schema = 'test'
AND -- table_name为表名
table_name = 'graduates'
查询结果如下:
-
全选结果列,右键—>复制为—>制表符分隔值(字段名和数据)
-
然后粘贴到excel里面就可以了
表索引导出
- 执行如下语句
show index from graduates;
结果如下
1.1 解释一下每个字段的含义
- Table:表名
- Non_unique:重复词,如果索引中不能包括重复数据,则为0;可以则为1
- Key_name:索引名称
- Seq_in_index:索引序列号,也就是该列在这个索引中排第几
- Column_name:列名
- Collation:存储方式,列以什么方式存储在索引中。A:升序,NULL无分类
- Cardinality:基数:索引中唯一值的数目的估计值。基数根据被存储为证书的统计数据来基数,所以即使对于小型表,该值也没有必要是精确的,基数越大,当进行联合时,MySQL使用该索引的机会越大。
- Sub_part:部分编入,如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL
- Packed:压缩,指关键字如何被压缩。如果没有被压缩,则为NULL
- Null:是否为空,列是否为空,是(YES)、否(NULL)
- Index_type:索引类型,(BTREE, FULLTEXT, HASH, RTREE)
- Comment:评注
- Index_comment:索引注释
- 导出到excel跟导出表结构的方式一样,根据需求自行删改即可