Oracle和Mysql 导出表结构及备注sql
一个项目中没有数据库表设计文档,可以使用sql实现#oracle
SELECT COLS.TABLE_NAME 表名,
USER_TAB_COMMENTS.COMMENTS 表说明,
COLS.COLUMN_NAME 字段名称,
DATA_TYPE 数据类型,
COLS.DATA_LENGTH 数据长度,
USER_COL_COMMENTS.COMMENTS 字段说明,
COLS.NULLABLE 是否为空
FROM COLS
LEFT JOIN USER_TAB_COMMENTS ON (COLS.TABLE_NAME = USER_TAB_COMMENTS.TABLE_NAME)
LEFT JOIN USER_COL_COMMENTS ON (
COLS.TABLE_NAME = USER_COL_COMMENTS.TABLE_NAME
AND COLS.COLUMN_NAME = USER_COL_COMMENTS.COLUMN_NAME
)
WHERE COLS.TABLE_NAME = 'RD_FIXED_ASSET' --表名
GROUP BY COLS.TABLE_NAME,
USER_TAB_COMMENTS.COMMENTS,
COLS.COLUMN_NAME,
COLS.DATA_TYPE,
COLS.DATA_LENGTH,
USER_COL_COMMENTS.COMMENTS,
COLS.NULLABLE
ORDER BY COLS.TABLE_NAME
SUBMIT_PERSION_ORG_ID字段用,风格并取分割的第一个
REGEXP_SUBSTR(SUBMIT_PERSION_ORG_ID,'[^,]+',1,1 )
#mysql
SELECT
COLUMN_NAME 列名,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_DEFAULT 默认值,
COLUMN_COMMENT 备注
FROM
information_schema. COLUMNS
WHERE
TABLE_NAME = 'sys_user' #表名
AND TABLE_SCHEMA = 'ry-vue';#库名
查询出来的结果就是表结构了,有表名、字段、注释。导出CSV文件,整理一番就OK了