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


Posted in Python onMarch 02, 2020

试了一下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 相关文章推荐
基于python编写的微博应用
Oct 17 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
Python基础知识点 初识Python.md
May 14 Python
Python 硬币兑换问题
Jul 29 Python
django迁移数据库错误问题解决
Jul 29 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
python同步windows和linux文件
Aug 29 Python
python构造函数init实例方法解析
Jan 19 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
Oct 10 Python
Python常用GUI框架原理解析汇总
Dec 07 Python
Python *args和**kwargs用法实例解析
Mar 02 #Python
Python通过2种方法输出带颜色字体
Mar 02 #Python
Python实现屏幕录制功能的代码
Mar 02 #Python
python实现录屏功能(亲测好用)
Mar 02 #Python
基于Numba提高python运行效率过程解析
Mar 02 #Python
Python3 assert断言实现原理解析
Mar 02 #Python
Django认证系统user对象实现过程解析
Mar 02 #Python
You might like
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
Js动态创建div
2008/09/25 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
详解Document.Cookie
2015/12/25 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
python 标准差计算的实现(std)
2019/07/29 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
关于廉洁的广播稿
2014/01/30 职场文书
销售队伍口号
2014/06/11 职场文书
单位员工收入证明样本
2014/10/09 职场文书