第四篇:python操作数据库时的传参问题

python在操作数据库执行sql的时候我们经常会遇到传参问题,以下是我总结的几种方法:

1、格式化字符串

city = ‘beijing‘cur.execute(“SELECT * FROM %s WHERE city = %s”, city)

2、使用字典传递

sql = “INSERT INTO user VALUES(%(username)s, %(password)s, %(email)s)”value = {“username”:zhangsan,“password”:123456,“email”:[email protected]}cur.execute(sql, value)

3、传递参数+参数名称:利用‘三引号’实现复杂SQL的换行,然后对参数进行拼接,如下样例中的time,根据自己的情况而定

def sql_func(time):    time = "‘" + time + "‘"    fail_sql=‘‘‘    SELECT substr(s_start_time,1,10)  "日期",count(*)  "失败数量"      FROM T_SG_WS_EXE_LOG L     WHERE 1 = 1       AND (S_WS_METHOD = ‘NotifyOrderStatus‘ OR (S_WS_METHOD = ‘placeOrder‘ AND S_IS_OK = ‘false‘))    and s_request_str not like  ‘%"deployStatus":"2120"%‘ and s_request_str not like  ‘%"deployStatus":"0"%‘    and  substr(s_start_time,1,10) = ‘‘‘+time +‘‘‘group by substr(s_start_time,1,10)     ‘‘‘    # 使用cursor进行各种操作    y=cr.execute(fail_sql)    result = y.fetchall()    return result

参考文档:https://www.cnblogs.com/goodhacker/p/3257882.html

原文地址:https://www.cnblogs.com/apff/p/10061835.html

时间: 2024-07-31 03:03:09

第四篇:python操作数据库时的传参问题的相关文章

python 操作数据库时遇到的错误

pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; ch 之前的写法是从文件里把所有的sql语句都读取出来, 然后拼接成一个大字符串进行执行,导致会报错: python 3.6.5 的解释器下 : 但如果在3.5的解释器下是不会报错的 后来修改了写法,改成一行一行的执行,python3.6.5就不会报错了 修改后的代码: 修改前的代码: 原文地址:https://www.cnblogs.com/y

python操作数据库-安装

首先是下载软件: 链接:http://pan.baidu.com/s/1nvp1imX 密码:6i0x 之后就是一系列设置. 安装教程:自行百度就行.需要注意的是设置my.ini时,需要加上这些东西(以保证全部是utf8编码,不乱码): [mysql]default-character-set=utf8 [mysqld]character-set-server=utf8才行.把[mysqld]覆盖了就行. 另外在cmd中怎样打开关闭,连接mysql呢? 首先打开cmd,找到mysql安装目录的b

Python接口测试实战3(上)- Python操作数据库

如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

零基础学Python--------第11章 使用Python操作数据库

第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了对数据库进行统一的操作,大多数语言都是提供了简单的.标准化的数据库接口(API).在Python Database API 2.0 规范中,定义了Python数据库API接口的各个部分,如模块接口.连接对象.游标对象.类型对象和构造器.DB API 的可选扩展以及可选的错误处理机制等.下面重点介绍一

Python操作数据库及hashlib模块

一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import hashlib #导入模块 ######## md5 ########### m = hashlib.md5() #创建一个对象 m.update(b"hhf") #加密字符串 b代表byte,是把字符串转换成byte类型,也可以用bytes()强制转换

python 全栈 数据库 (三) python操作数据库

python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 1.2使用操作 #导入模块 import pymysql #建立连接通道,建立连接填入(连接数据库的IP地址,端口号,用户名,密码,要操作的数据库,字符编码) conn = pymysql.connect

python基础篇-python操作mysql

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymysql 下载安装 pip3 install pymysql #pip3命令的路径:安装路径下的Scripts目录 # 下载 pymysql到本地 # 解压到执行目录 # python2,默认无pip命令 # python3,默认自带pip3命令 python3 -m pip install --upgrade pip 更新pip #https://pypi.python.org/

Python操作数据库(mysql redis)

一.python操作mysql数据库: 数据库信息:(例如211.149.218.16   szz  123456) 操作mysql用pymysql模块 #操作其他数据库,就安装相应的模块 import  pymysql ip='211.149.218.16' port=3306 passwd='123456' user='root' db='szz' conn=pymysql.connect(host=ip,user=user,port=port,passwd=passwd,db=db,cha

【Python之路】第十九篇--Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123456', db='db1') # 创建游标