最近有个新需求,要求所有SQL中的表加上库名,例如原来的查询语句:
select * from table1
select * from table2
select * from table3
现需要修改成:
select * from 库名.table1
select * from 库名.table2
select * from 库名.table3
要是修改一个表的话,倒也好处理,直接通过idea的全局查询替换功能,直接改了就ok。
但是现在要修改的表有一百多个啊。。。。。一个一个查询替换也很浪费时间不是么。。
那么问题来了,该如何给所有表加前缀呢?
有没有啥简便方法嘞。。。
废话不多说,直接上演示步骤,总共需要3步
一、导表
- 先把数据库的所有表查询出来
- 怎么查?
- 每个数据库的设计模式不同,查询语句也不同,自行百度
- 就拿mysql举个例子吧
show tables;- 将查询结果导出到excel(如果你够牛x,可以直接通过sql处理步骤二)
二、生成正则语句
1、表初步处理

在C1单元格添加如下代码:
=" "&A1&" |"
然后双击C1单元格右下角
2、生成最终的正则语句

随便找个空白单元格输入如下代码:
="("&CONCAT(C1:C3)&")"
到此,所有表的正则拼接完成。
3、复制该单元格
注意不要处于编辑状态进行复制。在选中状态复制
三、IDEA全局替换
1、打开全局替换界面

2、步骤二生成的正则复制到查询框中

删除换行符,和最后一个 | ,如下图:

3、查看查询结果

4、填写替换后的文本
db.$1
注意:在db前有个空格,在$1后面有个空格。

5、replace all

6、大功告成,哇嘎嘎嘎!!!

db.后面有个空格不影响SQL执行,如果看着不爽的话,可以再次全局替换,把 “db.空格” 替换成 “db.”
2687

被折叠的 条评论
为什么被折叠?



