查询mysql中表的字段、数量、备注等

  • Post author:
  • Post category:mysql


查询字段总数

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 版权协议,转载请附上原文出处链接和本声明。