python3將變數寫入SQL語句的實現方式
阿新 • • 發佈:2020-03-03
試了一下python操作資料庫,準備將前端傳回來的使用者名稱和密碼寫入表中
試了半天不會把變數加在在sql語句裡面
網上搜索了一下,要用元組來傳遞多個引數
sql = "insert into userinfo values(%s,%s)" cursor.execute(sql,(name,password))
補充拓展:python往mysql資料庫中寫入資料和更新插入資料
1. 連線mysql
import pymysql db = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='spiders') cursor = db.cursor() sql = 'select * from students;' cursor.execute(sql) cursor.close() db.close()
2. 多欄位動態插入mysql資料庫中
import pymysql db = pymysql.connect(host='localhost',db='spiders') data = { 'id': '20180606','name': 'Lily','age': 20 } table = 'students' keys = ','.join(data.keys()) values = ','.join(['%s'] * len(data)) sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(table=table,keys=keys,values=values) try: cursor.execute(sql,tuple(data.values())) print('Successful') db.commit() except: print('Failed') db.rollback() cursor.close() db.close()
3. 資料更新插入mysql資料庫中
import pymysql db = pymysql.connect(host='localhost','age': 25 } table = 'students' keys = ','.join(['%s'] * len(data)) sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table,values=values) update = ','.join([" {key} = %s".format(key=key) for key in data]) sql += update try: cursor.execute(sql,tuple(data.values())*2) print('Successful') db.commit() except: print('Failed') db.rollback() cursor.close() db.close()
以上這篇python3將變數寫入SQL語句的實現方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。