Python處理mysql特殊字符的問(wèn)題
有的時(shí)候我們會(huì)去掃表,然后拿出掃的結(jié)果再到另一張表里去查信息。比如下面一段
index_sql_str = "select %s from user where %s = %d" % ("social_id", "user_id", u_id) db_cursor.execute(index_sql_str) rows = ['"' + row[0] + '"' for row in db_cursor.fetchall()] if len(rows) == 0: return None result = [] sql_str = "select %s user_detail where %s in (%s)" % (",".join(user_third_column_name), "social_id", ",".join(rows)) db_cursor.execute(sql_str)
常會(huì)有用%s或者+拼接query string的情況,這時(shí)候如果拿出來(lái)的鍵值帶有'或''就會(huì)導(dǎo)致拼接出現(xiàn)問(wèn)題。
可以考慮用format,即
>>> a = 'test"test' >>> "insert into user {0}".format(a) 'insert into user test"test' >>> b = "test'test" >>> "insert into user {0} where {1} = x".format(a,b) 'insert into user test"test where test\'test = x'
如果大小寫(xiě)都包含會(huì)自己增加轉(zhuǎn)義字符
補(bǔ)充拓展:基于python中寫(xiě)mysql關(guān)于like % 的問(wèn)題
#@ 1 - 正常執(zhí)行的mysql 語(yǔ)句為: select * from RESIDENTIAL_AREA where RA_ID like 'HF-%' #@ 2 - 在python 代碼中為: 最后面的那個(gè) % 需要4個(gè)% 去代替(raid = HF-) select_sql = ''' select * from RESIDENTIAL_AREA where RA_ID like '%s%%%%' ''' % (raid) #@ 3 - python 代碼中 輸出結(jié)果為:print(select_sql) select * from RESIDENTIAL_AREA where RA_ID like 'HF-%%'
以上這篇Python處理mysql特殊字符的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Jupyter notebook更換主題工具欄被隱藏及添加目錄生成插件問(wèn)題
這篇文章主要介紹了解決Jupyter notebook更換主題工具欄被隱藏及添加目錄生成插件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python實(shí)現(xiàn)批量注冊(cè)網(wǎng)站用戶(hù)的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)批量注冊(cè)網(wǎng)站用戶(hù)的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-023個(gè)用于數(shù)據(jù)科學(xué)的頂級(jí)Python庫(kù)
今天小編就為大家分享一篇關(guān)于3個(gè)用于數(shù)據(jù)科學(xué)的頂級(jí)Python庫(kù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-09-09利用Pycharm將python文件打包為exe文件的超詳細(xì)教程(附帶設(shè)置文件圖標(biāo))
在日常使用pycharm寫(xiě)好程序后,如何將程序打包為exe文件呢,下面這篇文章主要給大家介紹了關(guān)于利用Pycharm將python文件打包為exe文件的超詳細(xì)教程,附帶設(shè)置文件圖標(biāo),需要的朋友可以參考下2022-08-08Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換操作
這篇文章主要介紹了Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03簡(jiǎn)述 Python 的類(lèi)和對(duì)象
這篇文章主要介紹了Python 的類(lèi)和對(duì)象的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-08-08Python彩色化Linux的命令行終端界面的代碼實(shí)例分享
美化Linux的terminal終端顯示的方法多種多樣,這里我們給出一個(gè)利用Python彩色化Linux的命令行終端界面的代碼實(shí)例分享,包括一個(gè)Linux下簡(jiǎn)便執(zhí)行Python程序的方法,需要的朋友可以參考下2016-07-07Python subprocess模塊學(xué)習(xí)總結(jié)
從Python 2.4開(kāi)始,Python引入subprocess模塊來(lái)管理子進(jìn)程,以取代一些舊模塊的方法:如 os.system、os.spawn*、os.popen*、popen2.*、commands.*不但可以調(diào)用外部的命令作為子進(jìn)程,而且可以連接到子進(jìn)程的input/output/error管道,獲取相關(guān)的返回信息2014-03-03