大型项目中数据库中有成百上千张表,想要统计数据库中相同的字段名,不同的长度或类型,所有的字段属性。 利用简单的SQL帮助我们进行统计。
1.查询数据库中某个库所有字段的属性(指定数据库库名),若想查询所有去掉where条件即可
select * from information_schema.columns
where table_schema= '数据库库名'
2.查询数据库中指定库指定表所有字段的属性(指定数据库库名和表名)
select * from information_schema.columns
where table_schema= '数据库库名' and table_name = '表名'
3.查询数据库中特定列条件为某个字段名的属性
select table_schema,table_name,column_name,column_type,column_comment
from information_schema.columns
where TABLE_SCHEMA='数据库名' and column_name = '字段名';
4.查询数据库中特定列(如:字段名、字段类型,长度大小、字段注释等)
select table_schema,table_name,column_name,column_type,column_comment from information_schema.columns
where table_schema= '数据库库名'
- table_schema:数据库库名
- table_name:表名
- column_name:字段名
- column_type:字段属性(包含字段类型和长度)
- column_comment :字段注释(字段说明)
- data_type:字段类型
- column_key:字段的主键(PRI为主键)
- is_nullable:字段是否为空
如果错误请大佬更正~~
学习记录
=======
查询数据库中不包含某个字段的表
SELECT
table_name,
column_name
FROM
information_schema.COLUMNS
WHERE
table_schema = 'database'
AND table_name NOT IN ( SELECT table_name FROM information_schema.COLUMNS WHERE table_schema = 'database' AND column_name = '字段名称' GROUP BY table_name )