python連接數(shù)據(jù)庫后通過占位符添加數(shù)據(jù)
在SQL語句中如果定義字符串,則字符串必須使用“'”就是單引號進(jìn)行聲明,但是如果現(xiàn)在所操作的數(shù)據(jù)庫本身含有“'”單引號,就會造成語法錯誤,此時的數(shù)據(jù)也不能成功保存到數(shù)據(jù)庫中。為了解決這類問題,在pymysql中支持對占位符的處理,開發(fā)者需要在SQL中使用“%”定義占位符,在使用excute()方法執(zhí)行時對占位符的數(shù)據(jù)進(jìn)行填充即可。
比如數(shù)據(jù)庫表中的字段 mr'yootk這個本身含有“'”單引號,所以執(zhí)行時語法錯誤
#使用占位符方式添加數(shù)據(jù)
#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("更新影響的數(shù)據(jù)行數(shù): %s" % cmd.rowcount)
print("最后一次增長ID: %s" % cmd.lastrowid)
except Exception:
print("處理異常: " + traceback.format_exc())
finally:
conn.close()
if __name__ == "__main__":
main()

到此這篇關(guān)于python連接數(shù)據(jù)庫后通過占位符添加數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python占位符添加數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3.6連接Oracle數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python3.6連接Oracle數(shù)據(jù)庫的方法,較為詳細(xì)的分析了cx_Oracle模塊安裝及Python3.6使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫的具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下2018-05-05
python模塊hashlib(加密服務(wù))知識點講解
在本篇文章里小編給大家分享的是關(guān)于python模塊hashlib(加密服務(wù))知識點內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-11-11
python -m pip install 和 pip in
python -m pip install <package> 使用了 -m 參數(shù)來確保以 Python 模塊的形式運行 pip,適用于確保在不同的環(huán)境中正確使用 pip,這篇文章主要介紹了python -m pip install 和 pip install 的區(qū)別,需要的朋友可以參考下2023-07-07
python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維
今天小編就為大家分享一篇python數(shù)據(jù)預(yù)處理方式 :數(shù)據(jù)降維,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

