0.前言
如果可以的话,请先关注(专栏和账号),然后点赞和收藏,最后学习和进步。你的支持是我继续写下去的最大动力,个人定当倾囊而送,不负众望。谢谢!!!
1.前提
基于win10专业版64位系统+64位jdk1.8+64位python3.6.5+社区版pycharm2018.1.3+unittest+selenium3.141.0。
要学好自动化测试,我们先从python语言基础开始学习,一步一个脚印,欲速则不达哦!
2.PDBC
何为PDBC呢?英文释义:python data base connect,即python连接数据库。这里以mysql数据库为例,使用python代码连接数据库,并对数据库进行基本的增删改查操作。
1)创建数据库和表:
关于mysql数据库的安装,网上一大堆资料,也可以弄个mysql镜像,使用docker启动下生成一个容器,几秒钟就把mysql数据库安装好了。这里假设数据库已经安装好,仅提供数据库创建脚本,放到你的本地数据库运行下即可,当然你也可以选择手动创建表结构和数据。
/*
Navicat MySQL Data Transfer
Source Server : centos6.5
Source Server Version : 50173
Source Host : qzx:3306
Source Database : ATM
Target Server Type : MYSQL
Target Server Version : 50173
File Encoding : 65001
Date: 2020-04-14 23:35:00
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for userinfo
-- ----------------------------
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`phone` varchar(11) NOT NULL,
`money` float(255,0) NOT NULL DEFAULT '10000',
PRIMARY KEY (`id`,`username`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO `userinfo` VALUES ('1', 'q1', '123456', '18502912001', '9500');
INSERT INTO `userinfo` VALUES ('2', 'q2', '123456', '11111111111', '10500');
将以上脚本保存在.sql文件,然后打开你提前创建好的ATM空库,鼠标右键选择“运行SQL文件”:
选择你保存的sql文件并运行:
空白处右键选择刷新下就能看到新增的表了:
双击表名即可查看表数据:
2)编写数据库操作方法:
这里提供三个方法,一个数据库连接方法,一个数据库查询方法,另外一个就是数据库增删改方法。
参考代码如下:
#pip install pymysql #先pip安装
import pymysql
class DB:
#连接数据库,并返回连接到的数据库对象
def con_db(self,hostname='qzx',username='root',password='123456',database='ATM',port=3306):#默认参数
db = pymysql.connect(hostname,username,password,database,port)
return db
#查询数据库
def search_db(self,sql):
db = self.con_db()#连接数据库
cu = db.cursor()#得到一个游标
cu.execute(sql)#通过游标执行sql语句
result = cu.fetchall()#获取sql执行结果
db.commit()#提交数据库
db.close()#关闭数据库连接对象
return result
#增删改数据库
def fix_db(self,sql):
db = self.con_db()
cu = db.cursor() # 得到一个游标
cu.execute(sql) # 通过游标执行sql语句
db.commit() # 提交数据库
db.close() # 关闭数据库连接对象
if __name__ == '__main__':
d =DB()
d.fix_db("delete from userinfo where username='q2'")
result = d.search_db("select * from userinfo where username='q1'")
print(result)