SELECT DISTINCT
Column_Name AS ColumnName,
'表名' AS tableName,
Column_Comment AS ColumnCnName,
CASE
WHEN data_type IN ( 'BIT', 'BOOL', 'bit', 'bool' ) THEN
'bool'
WHEN data_type IN ( 'smallint', 'SMALLINT' ) THEN
'short'
WHEN data_type IN ( 'tinyint', 'TINYINT' ) THEN
'sbyte'
WHEN data_type IN ( 'MEDIUMINT', 'mediumint', 'int', 'INT', 'year', 'Year' ) THEN
'int'
WHEN data_type IN ( 'BIGINT', 'bigint' ) THEN
'bigint'
WHEN data_type IN ( 'FLOAT', 'DOUBLE', 'DECIMAL', 'float', 'double', 'decimal' ) THEN
'decimal'
WHEN data_type IN (
'CHAR',
'VARCHAR',
'TINY TEXT',
'TEXT',
'MEDIUMTEXT',
'LONGTEXT',
'TINYBLOB',
'BLOB',
'MEDIUMBLOB',
'LONGBLOB',
'Time',
'char',
'varchar',
'tiny text',
'text',
'mediumtext',
'longtext',
'tinyblob',
'blob',
'mediumblob',
'longblob',
'time'
) THEN
'string'
WHEN data_type IN ( 'Date', 'DateTime', 'TimeStamp', 'date', 'datetime', 'timestamp' ) THEN
'DateTime' ELSE 'string'
END AS ColumnType,
CASE
WHEN CHARACTER_MAXIMUM_LENGTH > 8000 THEN
0 ELSE CHARACTER_MAXIMUM_LENGTH
END AS Maxlength,
CASE
WHEN COLUMN_KEY <> '' THEN
1 ELSE 0
END AS IsKey,
CASE
WHEN Column_Name IN ( 'CreateID', 'ModifyID', '' )
OR COLUMN_KEY <> '' THEN
0 ELSE 1
END AS IsDisplay,
1 AS IsColumnData,
120 AS ColumnWidth,
0 AS OrderNo,
CASE
WHEN IS_NULLABLE = 'NO' THEN
0 ELSE 1
END AS IsNull,
CASE
WHEN COLUMN_KEY <> '' THEN
1 ELSE 0
END AS IsReadDataset,
ordinal_position
FROM
information_schema.COLUMNS
ORDER BY
ordinal_position
获取My SQL表结构信息
于 2023-07-20 11:40:53 首次发布