(接口自动化)Python3操作MySQL数据库
基础语法:
import pymysql #导入模块
conn = pymysql.connect(host='localhost',user='root', passwd='123456', db='test', port=3306, charset='utf8',cursorclass = pymysql.cursors.DictCursor) #连接数据库,cursorclass = pymysql.cursors.DictCursor表示把查询的返回值变为字典格式
cur = conn.cursor() #建立指针
cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("老齐","9988","qiwsir@gmail.com")) #插入单条数据
cur.executemany("INSERT DELAYED INTO users (username,pwd,mail) VALUES (%s,%s,%s)",('lili', 'ffff', 'gggg@qq.com'),('lili', 'sds', '321@qq.com')) #插入多条数据
conn.commit() #提交保存
以下是在接口测试中的实际应用
# -*- coding:utf-8 -*-
import pymysql,logging,os
class OperationDb_interface(object):
def __init__(self):
self.conn=pymysql.connect(host='localhost',
user='root', passwd='123456', db='test', port=3306, charset='utf8',cursorclass = pymysql.cursors.DictCursor) #创建数据库连接
self.cur=self.conn.cursor() #创建游标
#定义单条数据操作,增删改
def op_sql(self,param):
try:
self.cur.execute(param) #游标下执行sql语句
self.conn.commit() #提交数据
return True
except pymysql.Error as e:
print('Mysql Error %d:%s' % (e.args[0], e.args[1]))
logging.basicConfig(filename = os.path.join(os.getcwd(), './log.txt'),
level = logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
return False #查询表中单条数据
def selectOne(self,condition):
try:
self.cur.execute(condition) #执行sql语句
results = self.cur.fetchone() #获取一条结果
except pymysql.Error as e:
results ='spl0001'
print('Mysql Error %d:%s' %(e.args[0], e.args[1]))
logging.basicConfig(filename = os.path.join(os.getcwd(), './log.txt'),
level = logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
finally:
return results #查询表中多条数据
def selectAll(self,condition):
try:
self.cur.execute(condition)
self.cur.scroll(0, mode='absolute') #游标里的光标回到初始位置
results = self.cur.fetchall() #返回游标中所有结果
except pymysql.Error as e:
results='spl0001'
print('Mysql Error %d:%s' %(e.args[0], e.args[1]))
logging.basicConfig(filename = os.path.join(os.getcwd(), './log.txt'),
level = logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
finally:
return results #定义表中插入多条数据操作
def insertMore(self, condition,argsall):
try:
self.cur.executemany(condition,argsall)
self.conn.commit()
return True
except pymysql as e:
results ='spl0001' #数据库执行错误
print('Mysql Error %d:%s' % (e.args[0], e.args[1]))
logging.basicConfig(filename = os.path.join(os.getcwd(), './log.txt'),
level = logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
logger = logging.getLogger(__name__)
logger.exception(e)
return False
#数据库关闭
def __del__(self):
if self.cur != None:
self.cur.close()
if self.conn != None:
self.conn.close() if __name__ == '__main__':
test=OperationDb_interface() #实例化类
sql1="insert into users (username,pwd,mail) VALUES (%s,%s,%s)"
argsall=[('lilyu','1234','1234@qq.com'),('lilu','124','124@qq.com'),('lil','14','14@qq.com')]
result=test.insertMore(sql1,argsall)
print(result)
(接口自动化)Python3操作MySQL数据库的更多相关文章
- python3操作MySQL数据库
安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursor ...
- Python3 操作mysql数据库
python关于mysql的API--pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install pymysq ...
- python3操作mysql数据库增删改查
#!/usr/bin/python3 import pymysql import types db=pymysql.connect("localhost","root&q ...
- python3操作mysql数据库表01(基本操作)
#!/usr/bin/env python# -*- coding:UTF-8 -*- import requestsfrom bs4 import BeautifulSoupfrom bs4 imp ...
- python3操作MySQL数据库,一次插入多条记录的方法
这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))
- python3操作mysql数据库表01(封装查询单条、多条数据)
#!/usr/bin/env python# -*- coding:UTF-8 -*- import pymysql# import os'''封装查询单条.多条数据'''# os.environ[' ...
- python接口自动化(三十八)-python操作mysql数据库(详解)
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
- 【tips】ORM - SQLAlchemy操作MySQL数据库
优先(官方文档SQLAlchemy-version1.2): sqlalchemy | 作者:斯芬克斯 推荐一(长篇幅version1.2.0b3):python约会之ORM-sqlalchemy | ...
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
随机推荐
- laxcus的新功能:支持表跨数据库操作
关系数据库的层次结构,是账号.数据库.表,一个账号下可以有多个数据库,每个数据库有多个表,但是不同数据库下的表是不能够互相操作的.例如:"select a.*, b.* from Title ...
- 学习bash——数据流重定向
一.概述 1. 数据流 定义:以规定顺序被读取一次的数据序列. 分类:标准输入(stdin).标准输出(stdout)和标准错误输出(stderr). 标准输出:指的是命令执行所回传的正确信息. 标准 ...
- 简单java采集程序一
[目标任务]通过该网站采集全国的手机号码段至数据库表中 [完成过程] 1.初涉正则表达式,学会写简单的正则表达式 2.获取单个网页内容,学会java中基本的IO流 3.将获取数据插入mysql数据库表 ...
- LTE 中基于X2的切换
LTE 中基于X2的切换 (36.300, 23.401)SGW 保持不变 http://blog.sina.com.cn/s/blog_673b30dd0100j4pe.html 1:eNod ...
- Dubbo 的 Helloworld
前提条件 安装好了 ZooKeeper 作为注册中心 服务端 <?xml version="1.0" encoding="UTF-8"?> < ...
- Struts1文件上传
package org.zln.struts.domain; import org.apache.struts.upload.FormFile; /** * Created by sherry on ...
- ScrollBarsEnabled的使用
在WinForm中通过WebBrowser获取网页,我想把WebBrowser的ScollBar去掉,我的网页不需要滚动条. 设置方法如下:单击WebBrowser设计页面,在属性页面有一个Scrol ...
- Luogu3959 NOIP2017宝藏(状压dp)
按层dp,f[i][j]表示已扩展i子集的节点当前在第j层的最小代价,预处理点集间距离即可. #include<iostream> #include<cstdio> #incl ...
- [洛谷P3690]【模板】Link Cut Tree (动态树)
题目大意:给定$n$个点以及每个点的权值,要你处理接下来的$m$个操作.操作有$4$种.操作从$0到3编号.点从1到n编号. $0,x,y$:代表询问从$x$到$y$的路径上的点的权值的$xor$和. ...
- 《软件调试的艺术》学习笔记——GDB使用技巧摘要
<软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...