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

当商品名称配置错误需要批量修改时,可以使用SQL查询来快速定位涉及的表并生成更新语句。本文分享了如何查询包含特定字段的表名,以及如何生成针对这些字段的更新SQL,以提高数据库维护效率。

背景

有一个商品的名称配置错误了,需要进行修改,但是涉及到的表太多了,因为商品的sku_name被冗余到了很多表中,一个一个的找非常的费事费力,特地记下便捷查询操作以备后用。

数据库SQL快捷查询

1.查询包含某个字段的所有表名

SELECT 
DISTINCT table_name
FROM information_schema.columns
WHERE 
table_schema = 'db_lingyejun' and column_name='sku_id';

2.查询同时含有两个字段的所有表名

SELECT 
DISTINCT a.table_name
FROM information_schema.columns a,
information_schema.columns b
WHERE 
a.table_name = b.table_name
and a.table_schema = 'db_lingyejun' and a.column_name='sku_id'
and b.table_schema = 'db_lingyejun' and b.column_name='sku_name';

3.拼接SQL动态生成针对此字段的所有更新语句

SELECT 
CONCAT('UPDATE ', a.table_name, 'set sku_name = "IPHONE 13PRO" where sku_id = 1106;')
FROM information_schema.columns a,
information_schema.columns b
WHERE 
a.table_name = b.table_name
and a.table_schema = 'db_lingyejun' and a.column_name='sku_id'
and b.table_schema = 'db_lingyejun' and b.column_name='sku_name';

本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。

首发链接:https://www.cnblogs.com/lingyejun/p/16934219.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值