一、获取MYSQL服务所有的数据库。
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA
二、获取指定数据库里面的所有表信息
SELECT * FROM information_schema.tables WHERE table_schema='{database}' AND table_type= 'base table'; //table_schema:就是你的库名;table_type:就是数据类型 [base table]是表,[view]是视图
TABLE_NAME:表名称
TABLE_COMMENT:表备注
三、获取表结构信息
获取指定表的:SELECT * FROM information_schema.`COLUMNS` where TABLE_SCHEMA = '数据库名称' and TABLE_NAME = '表名称'; 获取所有表结构:SELECT * FROM information_schema.`COLUMNS` where TABLE_SCHEMA = '数据库名称'
TABLE_NAME:所属表名称
COLUMN_NAME:字段名
DATA_TYPE:字段类型
CHARACTER_MAXIMUM_LENGTH:列的最大长度(这列只有在数据类型为char | varchar 时才有意义)
COLUMN_DEFAULT:列的默认值
Column_KEY:列上的索引类型 主键-->PRI | 唯一索引 -->UNI 一般索引 -->MUL
COLUMN_COMMENT:备注
COLUMN_TYPE: 字段类型
这些信息能干啥,最终可以让你自己实现EFCore的反向工程的功能。
看下最终的表结构
和EFCore3.1反向工程生成的类一样。
留下您的脚步
最近评论