逐步完善中……
本篇记录连接mysql,并执行sql语句,可以参考https://www.runoob.com/python3/python3-mysql.html
目录
1、安装连接mysql的模块
2、了解模块中的常用方法以及使用
1、安装连接mysql模块
使用pip完成模块的安装,执行pip3 install PyMySQL:
安装安装后,可以看到模块是可以正常导入的
2、了解模块中的常用方法以及使用
第一步:使用该模块连接mysql
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" )
封装:
def Connect(mysql_info): try: conn = MySQLdb.connect(host=db_info['host'], port=db_info['port'], user=db_info['user'], passwd=db_info['passwd'], db=db_info['db'], charset=db_info['charset']) return conn except Exception as a: print("数据库连接异常:%s"%a)
传入数据库信息:
mysql_info = {"host": 'localhost', "port": 3306, "user": 'root', "passwd": '123456', "db": 'aiopms', "charset": 'utf8'}
第二步:数据库的查、增、删
查:
def mysql_getrows(self, sql): ''' 返回查询结果''' cur = self.conn.cursor() try: cur.execute(sql) except Exception as a: print("执行 SQL 语句出现异常:%s"%a) else: rows = cur.fetchall() cur.close() return rows
增、删:使用execute()方法执行语句
def mysql_execute(self, sql): #通过cursor()方法来创建游标 cur = self.conn.cursor() try: #execute()方法执行语句 a=cur.execute(sql) except Exception as a: self.conn.rollback() # sql 执行异常后回滚 print("执行 SQL 语句出现异常:%s"%a) else: cur.close() self.conn.commit() # sql 无异常时提交
应用:
比如现在我要测一个新增接口,那么就先调用数据库查一下,如果存在就先执行sql删除;或者是我现在测新增接口,用sql来处理脏数据,比如现在setup中查一下,不存在就执行新增接口,存在就是执行删除sql,在tearDown中再删除调接口新增的数据:
新增接口:
import requests class add_user(): def add_user01(self,username): add_user_header={"":""} add_user_url="http://xx:8089/user/add" add_body={"username":username, "password":"123456") p=requests.post(add_user_url,headers=add_user_header,data=add_body) return p.json()['message']
test新增接口的用例:
import unittest class add(unittest.TestCase): def setUp(self): addresult1=self.add() sql1="select***" sql2="delete***" m1=sql.getrows(sql) if m1==None: pass else excute(sql2) def test_add_01(self,username): m=self.add("qq1") self.assertEqual(m,"新增成功") def test_add_02(self,username): …… def tearDown(self): excute(sql2)