查询字段总数
SELECT
-- ts.table_comment 表信息,
tc.table_name 表名,
count(tc.COLUMN_NAME) 字段总数
FROM
INFORMATION_SCHEMA.COLUMNS tc
where
-- xxxxxxname为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
tc.table_schema ='数据库名称'
and (tc.table_name = '表名称');
查询表的字段和字段的备注以及字段的类型
select
-- tc.table_comment 表信息,
tc.table_name 表名,
tc.COLUMN_NAME 字段名称,
case
when tc.DATA_TYPE in ('varchar', 'char', 'text', 'varbinary', 'longtext') then '字符型'
when tc.DATA_TYPE in ('int', 'bit', 'bigint') then '数值型'
when tc.DATA_TYPE in ('date', 'datetime') then '日期型'
when tc.DATA_TYPE in ('double', 'float', 'decimal') then '数值型'
when tc.DATA_TYPE in ('longblob', 'blob') then 'BLOB型'
else tc.DATA_TYPE end 字段类型,
tc.IS_NULLABLE 是否为空,
tc.COLUMN_COMMENT 备注
from information_schema.COLUMNS tc
where table_name = '表名' and table_schema = '数据库名称';
查询数据库中表以“sys_”开头的,字段的数量
SELECT
ts.table_comment 表信息,
tc.table_name 表名,
'001' 序号,
count(tc.COLUMN_NAME) 字段名称,
-- COLUMN_TYPE 数据类型,
-- tc.DATA_TYPE 字段类型,
case
when tc.DATA_TYPE in ('varchar', 'char', 'text', 'varbinary', 'longtext') then '字符型'
when tc.DATA_TYPE in ('int', 'bit', 'bigint') then '数值型'
when tc.DATA_TYPE in ('date', 'datetime') then '日期型'
when tc.DATA_TYPE in ('double', 'float', 'decimal') then '数值型'
when tc.DATA_TYPE in ('longblob', 'blob') then 'BLOB型'
else tc.DATA_TYPE end 字段类型,
-- -- CHARACTER_MAXIMUM_LENGTH 长度,
tc.IS_NULLABLE 是否为空,
-- -- COLUMN_DEFAULT 默认值,
tc.COLUMN_COMMENT 备注
FROM
INFORMATION_SCHEMA.COLUMNS tc
left join
(SELECT
TABLE_NAME,
TABLE_COMMENT
FROM
information_schema.`TABLES`
WHERE
TABLE_SCHEMA = '表名') ts on ts.TABLE_NAME = tc.TABLE_NAME
where
-- xxxxxxname为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
tc.table_schema ='表名'
and (tc.table_name like 'sys_%'
)
group by tc.table_name
-- AND
-- xxxxxtable为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
-- table_name = 'deal_base'
版权声明:本文为weixin_45290168原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。