Python中Mysql数据库的sql语句参数传递问题
在Python中, 通过pymysql库连接Mysql数据库的sql语句参数传递时需要注意:
mysql的sql语句的字符串格式化不是标准的python的字符串格式化, 在python中无论字符串,数字或者其他类型, 在sql字符串中都要使用字符串占位符%s , 并且%s不能加引号.
sql语句参数传递方式有如下几种:
一.sql语句直接拼接
tn="co2"
qt =1
val = 2.524
sql = " insert into `mes_realdata` (`TagName`, `Quality`, `Value`) values "
(' ''' + tn+ "', '''' + qt +"', '" + val +"'' ); "
二.使用参数替代
tn="co2"
qt =1
val = 2.524
sql = " insert into `mes_realdata` (`TagName`, `Quality`, `Value`) values (%s,%s,%s); "
sql = sql %(tn, qt, val)
注:如果是单个变量的,使用如下方式:
sql = " insert into `mes_realdata` (`TagName`) values (%s); "
sql = sql %tn
三.使用数组的方式
tn="co2"
qt =1
val = 2.524
sql = " insert into `mes_realdata` (`TagName`, `Quality`, `Value`) values (%s,%s,%s); "
cursor.execute(sql, [tn, qt, val] )
四.使用字典dict类型传递变量
sql = ''' insert into `mes_realdata` (`TagName`, `Quality`, `Value`) values
('%(TagName)s', '%(Quality)s', '%(Value)s' ); '''d ={'TagName': 'co2', 'Quality': 1, 'Value': '6.672067'}
cursor.execute( sql %(d) )
上面这种方法适合字段比较多的时候,字段和值对应顺序不会错.
Python中Mysql数据库的sql语句参数传递问题相关推荐
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- MySQL数据库:SQL语句
MySql数据库系列阅读 MySQL数据库 MySQL数据库:SQL语句 MySQL数据库:完整性约束 MySQL数据库备份与还原 MySQL数据库:编码 1. SQL概述 1.1 什么是SQL SQ ...
- 为什么只能sudo进mysql_解决项目中MySQL数据库执行删除语句时间太长的问题
问题描述: 由于业务需求,需要删除一些重复数据.即删除openid对应的2条数据,最终只保留一行. MySQL数据库,sql语句比较简单:删除数据前,备份数据是必须的! 先来错误的演示: 1.先把错误 ...
- 1.MySQL数据库 2.SQL语句
01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...
- MySQL数据库的SQL语句
MySQL数据库的SQL语句 MySQL的常用数据类型 MySQL数据类型及含义 char与varchar的区别 MySQL的基本命令 登录数据库 查看MySQL数据库版本 查看当前服务器中的数据库 ...
- mysql delete语句非常耗时_解决项目中MySQL数据库执行删除语句时间太长的问题
问题描述: 由于业务需求,需要删除一些重复数据.即删除openid对应的2条数据,最终只保留一行. MySQL数据库,sql语句比较简单:删除数据前,备份数据是必须的! 先来错误的演示: 1.先把错误 ...
- MySQL数据库高级SQL语句(三)
MySQL数据库高级SQL语句 SELECT TRIM 连接查询 CREATE VIEW UNION 交集值 无交集值 CASE SELECT TRIM SELECT TRIM (位置 '想移除掉的字 ...
- php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例
这篇文章主要为大家详细介绍了PHP 连接MySQL数据库的SQL语句的简单示例,具有一定的参考价值,可以用来参考一下. 首先用phpmyadmin进入建立数据库user 再建个三段的表admin 再别 ...
- python调用mysql数据库sql语句过长有问题吗_Python 连接Mysql数据库执行sql语句
#-*- coding: utf-8 -*- ''' ====================================================================== 描述 ...
最新文章
- Spring框架中的设计模式(二)
- 编译安装appach遇到的那些事
- 蓝桥杯评分标准_蓝桥杯软件个人赛校内选拔赛评分标准和选拔标准
- (转)一个华科研究生导师的肺腑之言
- linux防火墙能阻止cc攻击吗,linux csf 防火墙 防止少量的ddos cc攻击很有效
- 【渝粤题库】陕西师范大学800003 中国地理
- 神经网络自适应反馈控制设计
- 统计学习方法第二版pdf_notability笔记pdf版乱码解决方法
- 方法重载和方法重写的区别
- EAS BOS 序时簿做组织单元隔离
- 巨杉数据库sequoiadb
- 计算机硬盘隐,终极电脑磁盘隐藏方法大全
- 3 4j不是合法的python表达式_3+4j不是合法的Python表达式。
- CreateProcess 的正确关闭
- 诺基亚安卓手机_神速!HMD公布诺基亚手机安卓10升级计划
- rails 密码加密
- Java+spring+springmvc 基于ssm的师生防疫登记备案系统设计#毕业设计
- git命令提交代码/vscode提交代码
- 36_ue4[UI]05_3DUI显示与展示
- 【论文笔记】—毫米波雷达穿雾式高分辨率成像—Supervised—HawkEye系统—2020-CVPR
热门文章
- c# 解析gprmc数据_$GPRMC解析(转)
- echarts柱状图下钻
- 微信小程序中百分百实现聊天界面
- 2017.07.17
- 通证网【2022】一级注册消防工程报名日期通知
- CTF中的md5弱类型(ALL_IN_ONE)
- 访问内网弹窗“您的连接不是私密链接“且要输入用户名密码
- Spring 控制反转和依赖注入简介
- signature=e100a77f9e5994135d27edcec0fb2455,Signatures from Trapdoor Commitments with Strong Openings
- 地震防护常识(图片版)