SET @rownum = 0;
SELECT
'序号',
'列名',
'类型',
'长度',
'是否为空',
'列的描述'
FROM
DUAL UNION
SELECT
@rownum := @rownum + 1 AS 序号,
COLUMN_NAME AS 列名,
COLUMN_TYPE AS 类型,
CHARACTER_MAXIMUM_LENGTH AS 长度,
( CASE WHEN IS_NULLABLE = 'YES' THEN '是' ELSE '否' END ) AS 是否为空,
COLUMN_COMMENT AS 列的描述
FROM
information_schema.`COLUMNS`
WHERE
TABLE_NAME = ( 'sys_user' )
从语句中可以看到使用到information_schema库的COLUMNS 表,是因为所有创建的表的字段的元信息都存储在information_schema库的COLUMNS 表中,所有使用COLUMNS 表。上面这条语句只是导出sys_user这张确定的表的字段信息。
下面这条SQL语句可以导出查出ss-vue库的表的名字
SET @rownum = 0;
SELECT
@rownum := @rownum + 1 AS 序号,
t.table_name AS 表名,
t.TABLE_COMMENT AS 描述
FROM
information_schema.`TABLES` t
WHERE
t.TABLE_SCHEMA = 'ss-vue'
ORDER BY
t.TABLE_NAME;