MySQL批量删除字段跑路?

表多,废物字段多,字段名字很像

当表里有些字段想要删掉,而且字段名字具有一定相似性,可以考虑批量删除

sql 复制代码
-- 查询所有表,生成 DROP COLUMN 的动态 SQL,批量,小心
SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ', 
              GROUP_CONCAT('DROP COLUMN `', COLUMN_NAME, '`' SEPARATOR ', '), ';') AS drop_sql
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'impcsv'
AND COLUMN_NAME like '%XXXX%' 
GROUP BY TABLE_NAME;

--替换字段内容
SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ', 
              GROUP_CONCAT('rename to `', replace(TABLE_NAME,'/','_'), '`' SEPARATOR ', '), ';') AS drop_sql
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME like '%XXXX%'
GROUP BY TABLE_NAME;

--重命名表名

SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ', 
              GROUP_CONCAT('rename to `', replace(TABLE_NAME,'-','_'), '`' SEPARATOR ', '), ';') AS drop_sql
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'impcsv'
GROUP BY TABLE_NAME;

--修改表

SELECT CONCAT('ALTER TABLE `', TABLE_NAME, '` ', 
              GROUP_CONCAT('modify column`',COLUMN_NAME, '` decimal(10,2)' SEPARATOR ', '), ';') AS drop_sql
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'impcsv'
AND COLUMN_NAME like '%XXXX%' 
GROUP BY TABLE_NAME;

怎么做?代码贴进去找到自己的数据库名字,限定好表名,或者字段名,抛出来一大堆语句,把语句贴出来,放到一个查询里面,一键执行

快乐吗?!

一个个写删掉到手软,疯了吧!

友情提示:删库须谨慎,删前先备份,以上仅供个人参考,不构成任何操作建议,如果删错别来骂我!

相关推荐
sunshine8855 小时前
财务RPA的深水区应用:超越自动化,迈向智能决策支持
数据库
efir OONA5 小时前
MySQL数据库误删恢复_mysql 数据 误删
数据库·mysql·adb
zhangchaoxies5 小时前
如何在 Go 中安全复制接口指针所指向的值
jvm·数据库·python
陈陈CHENCHEN6 小时前
【数据库】MySQL 8.0.40 至 8.0.44 RPM 方式升级指南
数据库·mysql
Azhao11066 小时前
一文读懂分享网站模块介绍(附实操教程)
mysql
m0_734949797 小时前
怎么利用Navicat进行调整备份文件压缩等级_详细配置与操作步骤
jvm·数据库·python
T.i.s7 小时前
番外续2-MIT-BIH Arrhythmia Database
数据库
有味道的男人7 小时前
AI 效率翻倍:对接 1688 拍立淘接口,商品全量信息一键抓取
数据库
m0_741173337 小时前
如何处理SQL中的NULL值_使用ISNULL或COALESCE函数
jvm·数据库·python
志栋智能7 小时前
超自动化巡检:解锁运维数据的深层价值
运维·服务器·数据库·自动化