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()

到此這篇關於python連接數據庫後通過占位符添加數據的文章就介紹到這瞭,更多相關python占位符添加數據內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: