python解析sql文件_如何从Python中解析sql文件?

是否有任何方法可以从Python中执行.SQL文件中的某些SQL命令,而不是文件中的所有SQL命令?假设我有以下.sql文件:DROP TABLE IF EXISTS `tableA`;

CREATE TABLE `tableA`(

some_code

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `tableB`;

CREATE TABLE `tableB`(

some_code

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `tableC`;

CREATE TABLE `tableC`(

some_code

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

...to be continued...

在这个文件中,我只想解析并运行与tableB相关的命令(即删除并创建tableB),但不想在Python中的其他表上执行任何SQL命令。我知道如何在Python中执行.sql文件,但不知道如何在.sql文件中仅执行上面示例中所述的一些特定命令。首先让我想到的是使用正则表达式。但是经过一点争论之后,由于我的regex知识和经验不足,我无法想出正确的regex语法来达到我的预期。

所以我的问题是

1)这里使用正则表达式只获取所需命令的方法正确吗?如果正确,您能告诉我解析它的正确语法吗?

2)如果正则表达式不是最好的方法,那么还有什么其他的解决方案?

3)我发现了一些在线regex测试工具,但它们都是指定表达式和测试字符串,并突出显示字符串中的匹配数据。我相信,如果有一些工具让我先指定测试字符串,然后在字符串中手动突出显示所需的数据,然后反向返回一些适当的语法/表达式,那就太好了。如果你知道这样的工具(没有限制在线工具!如果是Macintosh应用程序,我也很高兴),请告诉我。。。

谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值