python3将变量写入SQL语句的实现方式

时间:2021-05-22

试了一下python操作数据库,准备将前端传回来的用户名和密码写入表中

试了半天不会把变量加在在sql语句里面

网上搜索了一下,要用元组来传递多个参数

sql = "insert into userinfo values(%s,%s)"cursor.execute(sql,(name,password))

补充拓展:python往mysql数据库中写入数据和更新插入数据

1. 连接mysql

import pymysqldb = 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 pymysqldb = pymysql.connect(host='localhost',user='root', password='123456', port=3306, 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 pymysqldb = pymysql.connect(host='localhost',user='root', password='123456', port=3306, db='spiders')data = { 'id': '20180606', 'name': 'Lily', 'age': 25}table = 'students'keys = ', '.join(data.keys())values = ', '.join(['%s'] * len(data))sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, values=values)update = ','.join([" {key} = %s".format(key=key) for key in data])sql += updatetry: cursor.execute(sql, tuple(data.values())*2) print('Successful') db.commit()except: print('Failed') db.rollback()cursor.close()db.close()

以上这篇python3将变量写入SQL语句的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章