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文件”:

python基础:17.PDBC

选择你保存的sql文件并运行:

python基础:17.PDBC

python基础:17.PDBC

空白处右键选择刷新下就能看到新增的表了:

python基础:17.PDBC

python基础:17.PDBC

双击表名即可查看表数据:

python基础:17.PDBC

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)

相关文章:

  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
  • 2021-10-17
  • 2021-12-11
  • 2022-01-27
  • 2022-01-11
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-19
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-05
  • 2021-08-17
相关资源
相似解决方案