SELECT DISTINCT
a.TABLE_NAME AS '表名',
TABLES_.TABLE_COMMENT AS '表注释',
a.COLUMN_NAME AS '字段名',
a.COLUMN_COMMENT AS '字段注释',
a.COLUMN_TYPE AS '类型长度',
CASE
WHEN a.IS_NULLABLE = 'yes' THEN
'√' ELSE ''
END AS '允许空值',
CASE
WHEN a.COLUMN_DEFAULT = '' THEN
'""' ELSE a.COLUMN_DEFAULT
END AS '默认值',
a.CHARACTER_SET_NAME AS '字符集',
a.COLLATION_NAME AS '整理',
a.EXTRA AS '自动递增',
CASE
WHEN b.CONSTRAINT_NAME = 'PRIMARY' THEN
'PRIMARY' ELSE ''
END AS '主键',
c.CONSTRAINT_NAME AS '外键名',
c.REFERENCED_TABLE_NAME AS '关联父表',
c.REFERENCED_COLUMN_NAME AS '父表字段',
d.CONSTRAINT_NAME AS '索引名称'
FROM
INFORMATION_SCHEMA.COLUMNS AS a
LEFT JOIN ( SELECT CONSTRAINT_NAME, TABLE_NAME table_name2, COLUMN_NAME col_name2 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME = 'PRIMARY' AND table_name LIKE 'systrade_trade%' ) AS b ON a.TABLE_NAME = b.table_name2
AND a.COLUMN_NAME = b.col_name2
LEFT JOIN ( SELECT CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME, TABLE_NAME table_name3, COLUMN_NAME col_name3 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_COLUMN_NAME != '' AND table_name LIKE 'systrade_trade%' ) AS c ON a.TABLE_NAME = c.table_name3
AND a.COLUMN_NAME = c.col_name3
LEFT JOIN (
SELECT
CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME,
TABLE_NAME table_name4,
COLUMN_NAME col_name4
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_COLUMN_NAME IS NULL
AND CONSTRAINT_NAME != 'PRIMARY'
AND table_name LIKE 'systrade_trade%'
) AS d ON a.TABLE_NAME = d.table_name4
AND a.COLUMN_NAME = d.col_name4
LEFT JOIN INFORMATION_SCHEMA.TABLES AS TABLES_ ON a.TABLE_NAME = TABLES_.TABLE_NAME
WHERE
a.table_name LIKE 'systrade_trade%'
10-18
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交