@

前言

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

常见数据库

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。

Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:

GadFly

mSQL

MySQL

PostgreSQL

Microsoft SQL Server 2000

Informix

Interbase

Oracle

Sybase

Mysql

  • MySQL是一个关系型数据库,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。最开始由瑞典的MySQL AB公司开发,后来被甲骨文公司(Oracle)收购。
  • 安装_1:pip install mysql
  • 安装_2:pip install PyMySQL

# -*- coding: utf-8 -*-
# @Author : 一凡 import MySQLdb # 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) # 使用cursor()方法获取操作游标
cursor = db.cursor() # 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取一条数据
data = cursor.fetchone() print "Database version : %s " % data # 关闭数据库连接
db.close()

Oracle

  • python 对接 Oracle 数据库,使用的第三方库为 cx_Oracle
  • 安装: pip install cx_Oracle
# -*- coding: utf-8 -*-
# @Author : 一凡 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

# -*- coding: utf-8 -*-
# @Author : 一凡 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

# -*- coding: utf-8 -*-
# @Author : 一凡 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
# -*- coding: utf-8 -*-
# @Author : 一凡 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

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

如果想学习交流,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。那就:码上开始

❤️Python接口自动化,一文告诉你连接各大【数据库】建议收藏❤️的更多相关文章

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

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

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

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

  3. python接口自动化3-自动发帖(session)

    前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...

  4. python接口自动化22-签名(signature)鉴权(authentication)之加密(HEX、MD5、HMAC-SHA256)

    前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API 使用签名方法(Signature)对接口进行鉴权(Authentication).每一次请求都 ...

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

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

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

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

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

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

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

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

  9. python接口自动化 -参数关联(一)

    原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...

随机推荐

  1. Ratel:一直站在Android逆向巅峰的平头哥

    本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆 ...

  2. Fancytree实例

    一.实例 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...

  3. 数据结构解析-HashMap

    概要 HashMap在JDK1.8之前的实现方式 数组+链表,但是在JDK1.8后对HashMap进行了底层优化,改为了由 数组+链表+红黑树实现,主要的目的是提高查找效率. 如图所示: JDK版本 ...

  4. spring框架学习日志一

    一.简介 1.对spring框架的简单理解 可以理解为它是一个管理对象的创建.依赖.销毁的容器 Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单 ...

  5. js之window对象(慕课网学习笔记)

    javaScript定义了一个变量一个函数都会变成window中的一个成员 var a=1; alert(window.a) //会输出a的值 window基础 创建窗口.调整窗口.移动窗口.关闭窗口 ...

  6. Struts2之Json插件的使用

    时间:2017-1-15 02:27 --普通方式处理异步请求:    ServletActionContext.getResponse().getWriter().print("aa&qu ...

  7. 刷题-力扣-LCP 07. 传递信息

    LCP 07. 传递信息 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/chuan-di-xin-xi 著作权归领扣网络所有.商业转 ...

  8. go-Gorm

    软删除 如果模型中有 DeletedAt 字段,它将自动拥有软删除的能力!当执行删除操作时,数据并不会永久的从数据库中删除,而是将 DeletedAt 的值更新为当前时间.

  9. 新东方APP技术架构演进, 分布式系统架构经验分享

    今天的演讲题目是"新东方APP技术架构演进, C端技术经验分享" 作者:张建鑫, 曾任IBM高级软件架构师, 滴滴高级技术专家, 现任新东方集团高级技术总监 古代东西方的思想家都产 ...

  10. Nginx+Tomcat+Memcached实现session共享

    实验环境: server1:nginx tomcat memcached server2:tomcat memcached Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入 ...