在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语句参数传递问题相关推荐

  1. Python连接MySQL数据库执行sql语句时的参数问题

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...

  2. MySQL数据库:SQL语句

    MySql数据库系列阅读 MySQL数据库 MySQL数据库:SQL语句 MySQL数据库:完整性约束 MySQL数据库备份与还原 MySQL数据库:编码 1. SQL概述 1.1 什么是SQL SQ ...

  3. 为什么只能sudo进mysql_解决项目中MySQL数据库执行删除语句时间太长的问题

    问题描述: 由于业务需求,需要删除一些重复数据.即删除openid对应的2条数据,最终只保留一行. MySQL数据库,sql语句比较简单:删除数据前,备份数据是必须的! 先来错误的演示: 1.先把错误 ...

  4. 1.MySQL数据库 2.SQL语句

    01数据库概念 * A: 什么是数据库数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. * B: 什么是数据库 ...

  5. MySQL数据库的SQL语句

    MySQL数据库的SQL语句 MySQL的常用数据类型 MySQL数据类型及含义 char与varchar的区别 MySQL的基本命令 登录数据库 查看MySQL数据库版本 查看当前服务器中的数据库 ...

  6. mysql delete语句非常耗时_解决项目中MySQL数据库执行删除语句时间太长的问题

    问题描述: 由于业务需求,需要删除一些重复数据.即删除openid对应的2条数据,最终只保留一行. MySQL数据库,sql语句比较简单:删除数据前,备份数据是必须的! 先来错误的演示: 1.先把错误 ...

  7. MySQL数据库高级SQL语句(三)

    MySQL数据库高级SQL语句 SELECT TRIM 连接查询 CREATE VIEW UNION 交集值 无交集值 CASE SELECT TRIM SELECT TRIM (位置 '想移除掉的字 ...

  8. php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例

    这篇文章主要为大家详细介绍了PHP 连接MySQL数据库的SQL语句的简单示例,具有一定的参考价值,可以用来参考一下. 首先用phpmyadmin进入建立数据库user 再建个三段的表admin 再别 ...

  9. python调用mysql数据库sql语句过长有问题吗_Python 连接Mysql数据库执行sql语句

    #-*- coding: utf-8 -*- ''' ====================================================================== 描述 ...

最新文章

  1. Spring框架中的设计模式(二)
  2. 编译安装appach遇到的那些事
  3. 蓝桥杯评分标准_蓝桥杯软件个人赛校内选拔赛评分标准和选拔标准
  4. (转)一个华科研究生导师的肺腑之言
  5. linux防火墙能阻止cc攻击吗,linux csf 防火墙 防止少量的ddos cc攻击很有效
  6. 【渝粤题库】陕西师范大学800003 中国地理
  7. 神经网络自适应反馈控制设计
  8. 统计学习方法第二版pdf_notability笔记pdf版乱码解决方法
  9. 方法重载和方法重写的区别
  10. EAS BOS 序时簿做组织单元隔离
  11. 巨杉数据库sequoiadb
  12. 计算机硬盘隐,终极电脑磁盘隐藏方法大全
  13. 3 4j不是合法的python表达式_3+4j不是合法的Python表达式。
  14. CreateProcess 的正确关闭
  15. 诺基亚安卓手机_神速!HMD公布诺基亚手机安卓10升级计划
  16. rails 密码加密
  17. Java+spring+springmvc 基于ssm的师生防疫登记备案系统设计#毕业设计
  18. git命令提交代码/vscode提交代码
  19. 36_ue4[UI]05_3DUI显示与展示
  20. 【论文笔记】—毫米波雷达穿雾式高分辨率成像—Supervised—HawkEye系统—2020-CVPR

热门文章

  1. c# 解析gprmc数据_$GPRMC解析(转)
  2. echarts柱状图下钻
  3. 微信小程序中百分百实现聊天界面
  4. 2017.07.17
  5. 通证网【2022】一级注册消防工程报名日期通知
  6. CTF中的md5弱类型(ALL_IN_ONE)
  7. 访问内网弹窗“您的连接不是私密链接“且要输入用户名密码
  8. Spring 控制反转和依赖注入简介
  9. signature=e100a77f9e5994135d27edcec0fb2455,Signatures from Trapdoor Commitments with Strong Openings
  10. 地震防护常识(图片版)