时间:2020-08-09 python运维 查看: 1358
试了一下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',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 pymysql
db = 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 += update
try:
cursor.execute(sql, tuple(data.values())*2)
print('Successful')
db.commit()
except:
print('Failed')
db.rollback()
cursor.close()
db.close()
以上这篇python3将变量写入SQL语句的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。