Python:正則re.sub實現SQL命名占位符替換
Python 使用mysql-connector-python 和 PyMySQL 模塊操作數據庫的時候,發現需要使用%s 占位符 和 %(key)s命名占位符 ,書寫起來比較費事。
支持 ? 和:key 作為占位符的數據庫操作庫還挺多的
Python的SQLite3模塊、PHP的Laravel、THinkPHP
這種寫法比較簡潔,可以少敲鍵盤
只需要使用re模塊對sql進行替換就可以達到效果
# -*- coding: utf-8 -*- import re sql = "insert into user (name, age) values (:name, :age)" compile_sql = re.sub(r":(?P
1
2
3
4
5
6
7
8
9
10
11
使用?占位符
sql = "insert into user (name, age) values (?, ?)" print(sql.replace("?", "%s")) # insert into user (name, age) values (%s, %s)
1
2
3
當然,如果不想自己封裝數據庫操作,可以直接使用MyQuery
Github: https://github.com/mouday/MyQuery
參考
https://docs.python.org/3/library/re.html#re.sub
Python SQL
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。