小团队作战经常是上来就是随便打下草稿,然后三七二十一使用图形化工具把数据库表结构建起来了,根本就没有写像下面这种数据库设计文档后,才进行代码编写工作。
但是随着项目的完成,需要交付给客户。交付免不了需要各种交付文档,其中数据库设计文档就是其中一个需要交付的文档。有没有快速编写数据库设计文档的方法呢?一条语句的事,轻轻松松搞掂。
SET @rownum = 0;
SELECT
'序号',
'列名',
'类类',
'长度',
'是否为空',
'列的描述'
FROM
DUAL
UNION
SELECT
@rownum :=@rownum + 1 AS 序号,
COLUMN_NAME AS 列名,
COLUMN_TYPE AS 类型,
CHARACTER_MAXIMUM_LENGTH AS 长度,
(
CASE
WHEN IS_NULLABLE = 'YES' THEN
'是'
ELSE
'否'
END
) AS 是否为空,
COLUMN_COMMENT AS 列的描述
FROM
information_schema.`COLUMNS`
WHERE
TABLE_NAME = ('jc_user')
从语句中可以看到使用到information_schema库的COLUMNS 表,是因为所有创建的表的字段的元信息都存储在information_schema库的COLUMNS 表中,所有使用COLUMNS 表。上面这条语句只是导出jc_user这张确定的表的字段信息。
下面这条SQL语句可以导出查出jeecms2库的表的名字
SET @rownum = 0;
SELECT
@rownum :=@rownum + 1 AS 序号,
t.table_name AS 表名,
t.TABLE_COMMENT AS 描述
FROM
information_schema.`TABLES` t
WHERE
t.TABLE_SCHEMA = 'jeecms2'
ORDER BY
t.TABLE_NAME;
结合以上这两条SQL,可以在使用POI就可以开发一个非常实用的工具,生成数据库设计文档就是那么一分钟的事。