相信很多小伙伴在使用python进行自动化测试的时候,都会涉及到数据库数据校验的问题,在前面的随笔中就已经有讲过连接mysql的使用,今天给大家汇总一下python对接几大常用的数据库操作的方法!众所周知,python有着极其丰富的第三方库,所以不管你使用的是关系型数据库(oracle,mysql, sqlserver等),还是非关系型数据库(redis,mongoDB),python都有与之对应的第三方库。下面给大家一一介绍。

Mysql

​ mysql应该是大家最熟悉的一种数据库了,在python中使用的第三方库为pymysql,这里不多介绍,前面的随笔已单独介绍,请移步传送门

Oracle

​ python 对接 Oracle 数据库,使用的第三方库为 cx_Oracle。安装:pip install cx_Oracle

import cx_Oracle                   

# 第一步 连接数据库, 参数为'账号/密码/@ip:端口/库名'
con = cx_Oracle.connect('user_name/password@127.0.0.1::8080/databases')
# 第二步 创建游标
cur = con.cursor()
# 第三步 执行sql语句
sql = 'SELECT * FROM user;'
cur.execute(sql)

sql-server

​ python 对接 sql-server数据库,使用的第三方库为 pymssql。安装:pip install pymssql

import pymssql

# 第一步 连接到数据库
con = pymssql.connect(host='xxx', # 数据库的地址
user='xxx', # 登录数据库的账号
password='xxxx', # 登录数据库的密码
database='xxx') # 库名
# 第二步 创建游标
cur = con.cursor()
# 第三步 执行sql语句
sql = 'SELECT * FROM user;'
cur.execute(sql)

PostgreSQL

​ python 对接 PostgreSQL数据库,使用的第三方库为 psycopg2。安装:pip install psycopg2

import psycopg2

# 第一步 连接到数据库
con = psycopg2.connect(database="xxxxx", # 库名
user="xxxxx", # 数据库账号
password="xxxxxx", # 数据库密码
host="xxxxxx", # 数据库地址
port="5432") # 数据库端口号
# 第二步 创建游标
cur = con.cursor()
# 第三步 执行sql语句
sql = 'SELECT * FROM user;'
cur.execute(sql)

MongoDB

​ python 对接MongoDB数据库,使用的第三方库为 pymongo。安装:pip install pymongo

import pymongo

# 第一步:建立连接,数据库地址,端口号
client = pymongo.MongoClient("localhost", 27017)
# 第二步:选取数据库
db = client.test1
# 第三步:选取集合
stu = db.stu # 第四步:执行相关操作
# 添加一条数据
data1 = {name:'test',age:18}
stu.insert_one(data1)
# 获取一条数据
res = stu.find_one()

Redis

​ python 对接Redis数据库,使用的第三方库为 redis。安装:pip install redis

import redis 

# 连接数据库
st = redis.StrictRedis(
host='localhost', # 数据库地址
port='6379', # 端口:
db='testdata', # 库名:
)
# redis操作的命令,对应st对象的方法
# 比如在数据库中创建一条键为test的数据,往里面添加3个元素
st.lpush('test',11,22,33)

【python接口自动化】- 对接各大数据库的更多相关文章

  1. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  2. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  3. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

  4. python接口自动化23-token参数关联登录(登录拉勾网)

    前言 登录网站的时候,经常会遇到传token参数,token关联并不难,难的是找出服务器第一次返回token的值所在的位置,取出来后就可以动态关联了 登录拉勾网 1.先找到登录首页https://pa ...

  5. 2020年第二期《python接口自动化+测试开发》课程,已开学!

    2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29 ...

  6. python接口自动化13-data和json参数傻傻分不清

    前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一.识别json参数 1.在前面 ...

  7. python接口自动化(Cookie_绕过验证码登录)

     python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...

  8. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

  9. python接口自动化28-requests-html爬虫框架

    前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...

  10. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

随机推荐

  1. Sublime text之中文乱码超简单解决方案

    很多玩程序的小伙伴,刚开始使用Sublime Text神器软件时,都会遇到打开一个程序文件,里面的中文编程乱码,不知道怎么办,网上也有很多不同解决方案,这里小编跟大家分享一个超简单的办法. 打开文档后 ...

  2. Git实现1个项目2个地址1次推送

    Git实现1个项目2个地址1次推送 考虑到不需要pull操作,因此本方法适用于个人项目分别在两个平台或地址进行部署 给origin 增加一个可以push的地址 git remote set-url - ...

  3. Pytest(14)pytest.ini配置文件

    前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 查看pytest.ini的配置选项 pytest -h 找到以下 ...

  4. 1154 Vertex Coloring

    题目前半略 Sample Input: 10 11 8 7 6 8 4 5 8 4 8 1 1 2 1 4 9 8 9 1 1 0 2 4 4 0 1 0 1 4 1 0 1 3 0 0 1 0 1 ...

  5. hdu 3549Flow Problem

    Problem Description Network flow is a well-known difficult problem for ACMers. Given a graph, your t ...

  6. 哈希算法解决:HDU1686 && POJ2774 && POJ3261

    HDU1686 题意: 找A串在B串中的出现次数(可重叠),可用KMP做,这里只提供哈希算法做的方法 题解: 先得到A串的hash值,然后在B中枚举起点,长度为lena的子串,检验hash值是否相同就 ...

  7. Network UVA - 315 无向图找割点

    题意: 给你一个无向图,你需要找出来其中有几个割点 割点/割项: 1.u不为搜索起点,low[v]>=dfn[u] 2.u为搜索起点,size[ch]>=2 3.一般情况下,不建议在tar ...

  8. Codeforces Global Round 9 B. Neighbor Grid (构造,贪心)

    题意:给一个\(n\)X\(m\)的矩阵,矩阵中某个数字\(k\)表示其四周恰好有\(k\)个不为0的数字,你可以使任意位置上的数字变大,如果操作后满足条件,输出新矩阵,否则输出NO. 题解:贪心,既 ...

  9. 国产网络测试仪MiniSMB - 如何3秒内创建出16,000条UDP/TCP端口号递增流

    国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太 ...

  10. Atlas 读写分离 & Atlas + MHA 故障自动恢复

    目录 Atals 介绍 Atlas 主要功能 Atlas 相对于官方 MySQL-Proxy 的优势 Atlas 使用 Atlas 安装 Atlas 目录 Atlas 配置 Atlas 启动 Atla ...