当前位置: 首页 > article >正文

MySQL批量删除字段跑路?

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

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

-- 查询所有表,生成 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;

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

快乐吗?!

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

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


http://www.kler.cn/a/445073.html

相关文章:

  • 整合 Knife4j 于 Spring Cloud 网关:实现跨服务的 API 文档统一展示
  • day38-SSH安全登录
  • IP协议详解
  • FFmpeg库之ffplay
  • 品牌控价:守护价值,引领渠道健康发展
  • Python 迭代器和生成器:深入理解与应用
  • Ubuntu 22.04永久保存路由
  • Vue3组件数据双向绑定
  • 09-C语言格式化字符串操作
  • React 工具和库面试题(一)
  • Vscode打开后闪退问题
  • 【leetcode100】随机链表的复制
  • Java游戏开发基础:从零开始制作一个简单的2D游戏
  • Linux下搭建和简单配置FTP服务器
  • (11)YOLOv9算法基本原理
  • Vue.js前端框架教程3:Vue setup语法糖和异步操作
  • Redis——缓存双写一致性问题
  • 预览和下载 (pc和微信小程序)
  • git bash中文显示问题
  • ubuntu history 存放 更多
  • 软件项目需求分析的实践探索(1)
  • How to run Flutter on an Embedded Device
  • 1_HTML5 Canvas 概述 --[HTML5 API 学习之旅]
  • 电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据
  • 如何使用 Wireshark:从入门到进阶的网络分析工具
  • 实用技巧:在Windows中查找用户创建记录