python解析sql文件_如何从Python中解析sql文件?
是否有任何方法可以從Python中執(zhí)行.SQL文件中的某些SQL命令,而不是文件中的所有SQL命令?假設(shè)我有以下.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...
在這個(gè)文件中,我只想解析并運(yùn)行與tableB相關(guān)的命令(即刪除并創(chuàng)建tableB),但不想在Python中的其他表上執(zhí)行任何SQL命令。我知道如何在Python中執(zhí)行.sql文件,但不知道如何在.sql文件中僅執(zhí)行上面示例中所述的一些特定命令。首先讓我想到的是使用正則表達(dá)式。但是經(jīng)過一點(diǎn)爭論之后,由于我的regex知識和經(jīng)驗(yàn)不足,我無法想出正確的regex語法來達(dá)到我的預(yù)期。
所以我的問題是
1)這里使用正則表達(dá)式只獲取所需命令的方法正確嗎?如果正確,您能告訴我解析它的正確語法嗎?
2)如果正則表達(dá)式不是最好的方法,那么還有什么其他的解決方案?
3)我發(fā)現(xiàn)了一些在線regex測試工具,但它們都是指定表達(dá)式和測試字符串,并突出顯示字符串中的匹配數(shù)據(jù)。我相信,如果有一些工具讓我先指定測試字符串,然后在字符串中手動突出顯示所需的數(shù)據(jù),然后反向返回一些適當(dāng)?shù)恼Z法/表達(dá)式,那就太好了。如果你知道這樣的工具(沒有限制在線工具!如果是Macintosh應(yīng)用程序,我也很高興),請告訴我。。。
謝謝。
總結(jié)
以上是生活随笔為你收集整理的python解析sql文件_如何从Python中解析sql文件?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python列表导出_python li
- 下一篇: python3.7代码转python2.