Mysql查询数据库中含某字段的所有表

查询指定库拥有某字段的表

-- 注释: columnName 字段名   dbName 数据库名
-- AND TABLE_NAME NOT LIKE 'vw%'   --> 作用:排除视图

SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS 
WHERE COLUMN_NAME = 'columnName' 
AND TABLE_SCHEMA='dbName' 
AND TABLE_NAME NOT LIKE 'vw%';

-- 举例:我要查数据库[fengchen]中包含字段[id]的所有表

select distinct TABLE_NAME from information_schema.`COLUMNS` 
where COLUMN_NAME='id' 
and TABLE_SCHEMA='fengchen' 
and TABLE_NAME not like 'vm%';

查询指定数据库所有的表名

-- 通用模板
select table_name from information_schema.tables 
where table_schema='dbName' 
and table_type='base table';

-- 例如:我要查询数据库【fengchen】中的所有表

select table_name from information_schema.`TABLES` 
where TABLE_SCHEMA='fengchen' 
and TABLE_TYPE='base table';

查询指定数据库没有某字段的所有表

-- 通用模板
SELECT
    table_name 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'dbName' 
    AND table_type = 'base table' 
    AND TABLE_NAME NOT IN 
( SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS 
WHERE COLUMN_NAME = 'culumnName' 
AND TABLE_SCHEMA = 'dbName' 
AND TABLE_NAME NOT LIKE 'vw%' );


-- 例如:查询数据库【fengchen】中表里没有字段【id】的所有表

SELECT
    table_name 
FROM
    information_schema.`TABLES` 
WHERE
    TABLE_SCHEMA = 'fengchen' 
    AND TABLE_TYPE = 'base table' 
    AND TABLE_NAME NOT IN
 ( SELECT DISTINCT TABLE_NAME FROM information_schema.`COLUMNS` 
WHERE COLUMN_NAME = 'id' 
AND TABLE_SCHEMA = 'fengchen' 
AND TABLE_NAME NOT LIKE 'vm' )


-- 修改字段长度

alter table report_integral_detail modify
 column adjust_name VARCHAR(50);

修改字段长度可能会影响到应用程序的操作,请确保在适当的时间和地点进行修改。
如果你的表中已经存在数据,需要注意修改字段长度可能会导致数据丢失或者改变,因此在修改前最好先备份数据。
修改字段长度的操作可能会花费一定的时间,因此请确保在操作期间不要关闭程序或者强制终止任务。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值