厦门有没有做网站的,自己做电影网站违法,如何做招聘网站,中国建设银行网站个人收入证明MySQL查询数据库中所有表名表结构及注释
生成数据库文档在后面#xff01;#xff01;#xff01;
select t.TABLE_COMMENT -- 数据表注释
, c.TABLE_NAME -- 表名称
, c.COLUMN_COMMENT -- 数据项
, c.COLUMN_NAME -- 英文名称
, -- 字段描述
, upper(c.DATA_TYPE) as …MySQL查询数据库中所有表名表结构及注释
生成数据库文档在后面
select t.TABLE_COMMENT -- 数据表注释
, c.TABLE_NAME -- 表名称
, c.COLUMN_COMMENT -- 数据项
, c.COLUMN_NAME -- 英文名称
, -- 字段描述
, upper(c.DATA_TYPE) as DATA_TYPE -- 数据类型
, c.CHARACTER_MAXIMUM_LENGTH -- 数据长度
, -- 是否字典项
, -- 字典内容
, (case
when c.IS_NULLABLE YES then 是
when c.IS_NULLABLE NO then 否
else c.IS_NULLABLE
end) as IS_NULLABLE -- 是否为空
, (
case
when c.COLUMN_KEY PRI then 是
when c.COLUMN_KEY is null or c.COLUMN_KEY then 是
else c.COLUMN_KEY
end
) as COLUMN_KEY-- 是否主键
, c.COLUMN_DEFAULT-- 默认值
from information_schema.COLUMNS c,
information_schema.TABLES t
where c.TABLE_NAME t.TABLE_NAME
and c.TABLE_SCHEMA not in (information_schema, sys, performance_schema, mysql)
order by t.TABLE_COMMENT
; 从information_schema.COLUMNS和information_schema.TABLES这两个系统视图中检索数据表及其列的详细信息。
笛卡尔积您的查询使用了逗号分隔的表名information_schema.COLUMNS c, information_schema.TABLES t这会导致两个表之间的笛卡尔积除非您通过WHERE子句或其他方式明确指定连接条件。在您的例子中您确实在WHERE子句中指定了c.TABLE_NAME t.TABLE_NAME作为连接条件但这仍然可能导致性能问题因为不是标准的JOIN语法。JOIN语法建议使用显式的JOIN语法来连接表因为它更清晰且更容易维护。表注释t.TABLE_COMMENT可能是从TABLES视图中获取的但是您没有确保TABLES视图中的TABLE_COMMENT是针对与COLUMNS中相同的TABLE_SCHEMA的。字段描述您为“字段描述”预留了两个空字符串占位符但您可能希望从某个地方获取实际的描述。CASE表达式您的CASE表达式用于确定IS_NULLABLE和COLUMN_KEY的值但有一个潜在的问题当COLUMN_KEY为NULL或空字符串时您将其设置为是这可能不是您想要的结果。通常主键字段不会是是。 简洁版
SELECT t.TABLE_COMMENT AS 数据表注释, c.TABLE_NAME AS 表名称, c.COLUMN_COMMENT AS 数据项, c.COLUMN_NAME AS 英文名称, AS 字段描述, -- 这里可以替换为实际的字段描述来源 UPPER(c.DATA_TYPE) AS DATA_TYPE, c.CHARACTER_MAXIMUM_LENGTH AS 数据长度, AS 是否字典项, -- 这里可以替换为实际的字典项来源 AS 字典内容, -- 这里可以替换为实际的字典内容来源 CASE WHEN c.IS_NULLABLE YES THEN 是 WHEN c.IS_NULLABLE NO THEN 否 ELSE c.IS_NULLABLE END AS IS_NULLABLE, CASE WHEN c.COLUMN_KEY PRI THEN 是 WHEN c.COLUMN_KEY IN (MUL, UNI) THEN 其他键 -- 例如唯一键或多键 ELSE 否 END AS COLUMN_KEY, c.COLUMN_DEFAULT AS 默认值
FROM information_schema.COLUMNS c
JOIN information_schema.TABLES t ON c.TABLE_NAME t.TABLE_NAME AND c.TABLE_SCHEMA t.TABLE_SCHEMA
WHERE c.TABLE_SCHEMA NOT IN (information_schema, sys, performance_schema, mysql)
ORDER BY t.TABLE_COMMENT; 生成数据库文档screw: 简洁好用的数据库表结构文档工具支持MySQL/MariaDB/SqlServer/Oracle/PostgreSQL/TIDB/CacheDB 数据库。 - Gitee.com
使用方法 1、在pom文件中添加插件
buildplugingroupIdcn.smallbun.screw/groupIdartifactIdscrew-maven-plugin/artifactIdversion1.0.4/versiondependencies!-- HikariCP --dependencygroupIdcom.zaxxer/groupIdartifactIdHikariCP/artifactIdversion3.4.5/version/dependency!--mysql driver--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.20/version/dependency/dependenciesconfiguration!--username--usernameroot/username!--password--password#n4rj/password!--driver--driverClassNamecom.mysql.cj.jdbc.Driver/driverClassName!--jdbc url--jdbcUrljdbc:mysql://1.1.1.1:3456/tlink_sdgf/jdbcUrl!--生成文件类型、HTML--fileTypeWORD/fileType!--打开文件输出目录--openOutputDirfalse/openOutputDir!--生成模板--produceTypefreemarker/produceType!--文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称--fileName测试文档名称/fileName!--描述--description数据库文档生成/description!--版本--version${project.version}/version!--标题--title数据库文档/title/configurationexecutionsexecutionphasecompile/phasegoalsgoalrun/goal/goals/execution/executions/plugin/plugins/build 2、点开maven找到该pom文件下面的插件双击run 3、成功之后在该pom文件的模块下面生成了一个doc文件夹下面就是生成的文档