@

前言

相信很多小伙伴在使用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. C语言 Ubuntu系统 UTF-8 文字处理

    关于UTF-8的规则:https://baike.baidu.com/item/UTF-8/481798?fr=aladdin 使用windows系统下的Ubuntu子系统,实现C语言对UTF-8编码 ...

  2. 解决servlet中get方式中中文乱码问题前驱(一):装饰者模式再理解

    package day02; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; ...

  3. Zookeeper 序列化机制

    一.到底在哪些地方需要使用序列化技术呢? 二.Zookeeper(分布式协调服务组件+存储系统) Java 序列化机制 Hadoop序列化机制 Zookeeper序列化机制 一.到底在哪些地方需要使用 ...

  4. Go: 复合数据类型slice

    slice slice 表示用于相同类型元素的可变长度的序列. slice有三个属性:指针.长度和容量. 指针:slice存储数据的内部结构是数组,指针指向的是数组的地址 长度:保存slice中的元素 ...

  5. ArrayList线程不安全怎么办?(CopyOnWriteArrayList详解)

    ArrayList线程不安全怎么办? 有三种解决方法: 使用对应的 Vector 类,这个类中的所有方法都加上了 synchronized 关键字 就和 HashMap 和 HashTable 的关系 ...

  6. validity属性返回对象中的属性值

  7. ArrayPool 源码解读之 byte[] 也能池化?

    一:背景 1. 讲故事 最近在分析一个 dump 的过程中发现其在 gen2 和 LOH 上有不少size较大的free,仔细看了下,这些free生前大多都是模板引擎生成的html片段的byte[]数 ...

  8. JDBC简介及JDBC编写步骤及常见API

    JDBC : Java Database Connectivity,Java数据库连接.SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. JDBC就像一座桥 ...

  9. Android中TextView和EditView常用属性设置

    Android中TextView和EditView常用属性设置 点击跳转

  10. 问题:idea 中文无法使用

    1. 问题--idea无法使用中文输入 原因:idea本身版本过高,所以需要你强制减低它的jdk版本 解决:使用配置idea环境变量解决  ps:目前适用于任何版本的jdk和idea 步骤: 1.新建 ...