python連接數據庫后通過占位符添加數據


   在SQL語句中如果定義字符串,則字符串必須使用“'”就是單引號進行聲明,但是如果現在所操作的數據庫本身含有“'”單引號,就會造成語法錯誤,此時的數據也不能成功保存到數據庫中。為了解決這類問題,在pymysql中支持對占位符的處理,開發者需要在SQL中使用“%”定義占位符,在使用excute()方法執行時對占位符的數據進行填充即可。

          比如數據庫表中的字段  mr'yootk這個本身含有“'”單引號,所以執行時語法錯誤

#使用占位符方式添加數據
#coding utf-8
import pymysql,traceback
SQL = "insert into user (name,age,birthday,salary,note)"\
"values (%s,%s,%s,%s,%s)"
def main():
try:
name = "mr'Yootk"
age = 18
birthday = '2013-09-26'
salary =9600.23
note = "www.wangyi.com"
conn = pymysql.connect(
host='10.139.7.39',
port=3306,
user='root',
passwd='Bccdr@123456',
database='yootk',
charset='utf8')
cmd = conn.cursor()
cmd.execute(query=SQL,args=[name,age,birthday,salary,note])
conn.commit()
print("更新影響的數據行數: %s" % cmd.rowcount)
print("最后一次增長ID: %s" % cmd.lastrowid)
except Exception:
print("處理異常: " + traceback.format_exc())
finally:
conn.close()
if __name__ == "__main__":
main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM