记一次使用Notepad++正则表达式批量替换SQL语句

news/2024/9/22 20:06:00/

目录

    • 一、需求
    • 二、解决方案
    • 三、正则解析

一、需求

存在如下SQL建表脚本:

sql">CREATE TABLE "BUSINESS_GOODS"
(
"ID" VARCHAR(32) NOT NULL,
"GOODS_CODE" VARCHAR(50),
"GOODS_NAME" VARCHAR(100),
...
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;COMMENT ON COLUMN "BUSINESS_GOODS"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "BUSINESS_GOODS"."CREATE_USER" IS '创建人';CREATE TABLE "OAUTH2_AUTHORIZATION"
(...) ;CREATE TABLE "OAUTH2_AUTHORIZATION_CONSENT"
(...) ;

想把其中涉及的多个CREATE TABLE语句前添加相应的DROP TABLE语句如下,如对应CREATE TABLE "BUSINESS_GOODS",希望该sql语句前添加如下删除表语句:

sql">DROP TABLE IF EXISTS "BUSINESS_GOODS" restrict;
CREATE TABLE "BUSINESS_GOODS"
...

二、解决方案

使用Notepad++打开sql脚本,按CTRL+F弹出查找对话框,点击上方的替换标签,输入如下替换内容后,选择查找模式为正则表达式,之后点击全部替换即可:

在这里插入图片描述
替换后效果:
在这里插入图片描述

替换目标: CREATE TABLE “(\w*)”
替换为: DROP TABLE IF EXISTS “$1” restrict;\r\nCREATE TABLE “$1”

三、正则解析

CREATE TABLE "(\w*)"中的(\w*)即为捕获组(使用括号包围的正则)的概念,而捕获组的内容可以通过序号进行提取,如通过$1获取第一个捕获组的内容,如此DROP TABLE IF EXISTS "$1" restrict;\r\nCREATE TABLE "$1"中的$1即被替换为相应的table名称,其中的\r\n表示换行。


参考:
正则表达式 - 捕获组Group
在notepad++软件上用正则表达式替换内容


http://www.ppmy.cn/news/1450953.html

相关文章

HTML 标签通用属性

HTML 标签通用属性 通用HTML标签的属性 id 设定标签的ID name 设定标签的名称 class 设定标签样式的类选择器 style 设定标签样式属性 <basefont><font>标签通用的属性 face 用于文字的名称&#xff0c;可以是宋体、隶书、楷体等 size 用于设置字号的大小(从…

Android BINDER是干嘛的?

1.系统架构 2.binder 源码位置&#xff1a; 与LINUX传统IPC对比

20240503安装HEVC解码器播放H265格式的8K视频

20240503安装HEVC解码器播放H265格式的8K视频 2024/5/3 9:55 缘起&#xff1a;由于youtube支持8K视频了&#xff0c;想尝尝鲜&#xff01; 主摄像头当然是选择SONY的【夜摄/弱光场景】&#xff0c;根据优选&#xff0c;小米&#xff08;MI&#xff09;13Ultra 最佳了。 在开始播…

anaconda的安装和Jupyter Notebook修改默认路径

anaconda的安装 就一个注意事项:在结尾时候记得配置系统环境变量 要是没有配置这个环境变量,后面就不能cmd启动Jupyter Notebook Jupyter Notebook修改默认路径 我们要找到Jupyter Notebook的配置文件 输入下面指令 jupyter notebook --generate-config就可以找到存放配置文…

李沐72_深度学习优化算法——自学笔记

局部最小VS全局最小 使用迭代优化算法求解&#xff0c;一般只能保证找到局部最小值。 凸函数优化 1.如果代价函数f是凸&#xff0c;且限制集合C是凸&#xff0c;那么就是凸优化问题&#xff0c;局部最小一定是全局最小 2.严格凸优化问题有唯一的全局最小 凸 1.线性回归 …

YOLOv5改进(一)MobileNetv3替换主干网络

前言 本篇博客主要讲解YOLOv5主干网络的替换&#xff0c;使用MobileNetv3实现模型轻量化&#xff0c;平衡速度和精度。以下为改进的具体流程~ 目录 一、改进MobileNetV3_Small 第一步&#xff1a;修改common.py,新增MobileNetV3 第二步&#xff1a;在yolo.py的parse_model函…

django时区和postgres时区

1. 背景 公司有个任务&#xff0c;功能要求&#xff1a;限制用户24小时发送的任务数&#xff0c;同时要告诉用户什么时间可以重试。 但是…………&#xff0c;发现几个问题&#xff1a; django代码打印出来的timezone.now()&#xff0c;跟北京时间差8个小时django的日志打印…

自动装箱VS自定拆箱

引言&#xff1a; 在Java中&#xff0c;自动装箱&#xff08;Autoboxing&#xff09;和自动拆箱&#xff08;Autounboxing&#xff09;是Java 5引入的一项特性&#xff0c;用于在基本数据类型和它们的包装类&#xff08;wrapper classes&#xff09;之间进行自动转换。这允许程…