当前位置: 代码迷 >> 综合 >> mysql自动生成数据结构的语句(gym_%需替换成自己的表名前缀):
  详细解决方案

mysql自动生成数据结构的语句(gym_%需替换成自己的表名前缀):

热度:53   发布时间:2023-10-08 21:41:19.0
SELECT DISTINCTa.TABLE_NAME AS '表名',TABLES_.TABLE_COMMENT AS '表注释',a.COLUMN_NAME AS '字段名',a.COLUMN_COMMENT AS '字段注释',a.COLUMN_TYPE AS '类型长度',
CASEWHEN a.IS_NULLABLE = 'yes' THEN'√' ELSE '' END AS '允许空值',
CASEWHEN a.COLUMN_DEFAULT = '' THEN'""' ELSE a.COLUMN_DEFAULT END AS '默认值',a.CHARACTER_SET_NAME AS '字符集',a.COLLATION_NAME AS '整理',a.EXTRA AS '自动递增',
CASEWHEN 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 '索引名称' 
FROMINFORMATION_SCHEMA.COLUMNS AS aLEFT 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_name2LEFT 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_name3LEFT JOIN (SELECTCONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME,TABLE_NAME table_name4,COLUMN_NAME col_name4 FROMINFORMATION_SCHEMA.KEY_COLUMN_USAGE WHEREREFERENCED_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_name4LEFT JOIN INFORMATION_SCHEMA.TABLES AS TABLES_ ON a.TABLE_NAME = TABLES_.TABLE_NAME 
WHERE
a.table_name LIKE 'systrade_trade%'

  相关解决方案