首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一条SQL搞定数据库设计文档

一条SQL搞定数据库设计文档

作者头像
BUG弄潮儿
发布2020-06-12 16:56:14
1.1K0
发布2020-06-12 16:56:14
举报
文章被收录于专栏:JAVA乐园JAVA乐园

阅读文本大概需要3分钟。

小团队作战经常是上来就是随便打下草稿,然后三七二十一使用图形化工具把数据库表结构建起来了,根本就没有写像下面这种数据库设计文档后,才进行代码编写工作。

但是随着项目的完成,需要交付给客户。交付免不了需要各种交付文档,其中数据库设计文档就是其中一个需要交付的文档。有没有快速编写数据库设计文档的方法呢?一条语句的事,轻轻松松搞掂。

  1. SET @rownum = 0;
  2. SELECT
  3. '序号',
  4. '列名',
  5. '类类',
  6. '长度',
  7. '是否为空',
  8. '列的描述'
  9. FROM
  10. DUAL
  11. UNION
  12. SELECT
  13. @rownum :=@rownum + 1 AS 序号,
  14. COLUMN_NAME AS 列名,
  15. COLUMN_TYPE AS 类型,
  16. CHARACTER_MAXIMUM_LENGTH AS 长度,
  17. (
  18. CASE
  19. WHEN IS_NULLABLE = 'YES' THEN
  20. '是'
  21. ELSE
  22. '否'
  23. END
  24. ) AS 是否为空,
  25. COLUMN_COMMENT AS 列的描述
  26. FROM
  27. information_schema.`COLUMNS`
  28. WHERE
  29. TABLE_NAME = ('jc_user')

从语句中可以看到使用到information_schema库的COLUMNS 表,是因为所有创建的表的字段的元信息都存储在information_schema库的COLUMNS 表中,所有使用COLUMNS 表。上面这条语句只是导出jc_user这张确定的表的字段信息。

下面这条SQL语句可以导出查出jeecms2库的表的名字

  1. SET @rownum = 0;
  2. SELECT
  3. @rownum :=@rownum + 1 AS 序号,
  4. t.table_name AS 表名,
  5. t.TABLE_COMMENT AS 描述
  6. FROM
  7. information_schema.`TABLES` t
  8. WHERE
  9. t.TABLE_SCHEMA = 'jeecms2'
  10. ORDER BY
  11. t.TABLE_NAME;

结合以上这两条SQL,可以在使用POI就可以开发一个非常实用的工具,生成数据库设计文档就是那么一分钟的事。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档