-- 获取表注释和列注释 传入表名即可
SELECT DISTINCT
table_name "表名",
table_comment "表描述信息",
column_name "列名",
COLUMN_COMMENT "列注释"
from
(
SELECT
t1.table_name,
b.table_comment,
t1.only_colname,
t1.column_name,
t1.COLUMN_COMMENT,
CONCAT( colname, ' ', data_type, ' ', COMMENT_zh, ' ', splitCharacter ) str_sql
FROM
(
SELECT
table_name,
column_name,
COLUMN_COMMENT,
concat( '"', column_name, '"' ) only_colname,
concat( '`', column_name, '`' ) colname,
CASE
WHEN NUMERIC_PRECISION IS NOT NULL
AND ( data_type = 'decimal' OR data_type = 'numeric' ) THEN
concat( 'decimal(', NUMERIC_PRECISION, ',', NUMERIC_SCALE, ')' )
WHEN ( CHARACTER_MAXIMUM_LENGTH IS NOT NULL OR data_type = 'uniqueidentifier' )
AND data_type NOT LIKE '%text%' THEN
'string'
WHEN data_type IN ( 'datetime', 'date', 'timestamp', 'text', 'longtext' ) THEN
'string'
WHEN data_type = 'money' THEN
'decimal(50,4)'
WHEN data_type IN ( 'tinyint', 'int' ) THEN
'bigint' ELSE data_type
END AS data_type,
concat( 'comment', ' \'', COLUMN_COMMENT, '\'' ) AS COMMENT_zh,
',' AS splitCharacter
FROM information_schema.COLUMNS
) t1 JOIN information_schema.TABLES b ON t1.table_name = b.TABLE_NAME WHERE t1.table_name in ( '表一','表2')
) tt1 -- where only_colname like '%字段名%'
;