@

前言

相信很多小伙伴在使用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

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

Oracle

  • python 对接 Oracle 数据库,使用的第三方库为 cx_Oracle
  • 安装: pip install cx_Oracle
  1. # -*- coding: utf-8 -*-
  2. # @Author : 一凡
  3. import cx_Oracle
  4. # 第一步 连接数据库, 参数为'账号/密码/@ip:端口/库名'
  5. con = cx_Oracle.connect('user_name/password@127.0.0.1::8080/databases')
  6. # 第二步 创建游标
  7. cur = con.cursor()
  8. # 第三步 执行sql语句
  9. sql = 'SELECT * FROM user;'
  10. cur.execute(sql)

sql-server

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

  1. # -*- coding: utf-8 -*-
  2. # @Author : 一凡
  3. import pymssql
  4. # 第一步 连接到数据库
  5. con = pymssql.connect(host='xxx', # 数据库的地址
  6. user='xxx', # 登录数据库的账号
  7. password='xxxx', # 登录数据库的密码
  8. database='xxx') # 库名
  9. # 第二步 创建游标
  10. cur = con.cursor()
  11. # 第三步 执行sql语句
  12. sql = 'SELECT * FROM user;'
  13. cur.execute(sql)

PostgreSQL

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

  1. # -*- coding: utf-8 -*-
  2. # @Author : 一凡
  3. import psycopg2
  4. # 第一步 连接到数据库
  5. con = psycopg2.connect(database="xxxxx", # 库名
  6. user="xxxxx", # 数据库账号
  7. password="xxxxxx", # 数据库密码
  8. host="xxxxxx", # 数据库地址
  9. port="5432") # 数据库端口号
  10. # 第二步 创建游标
  11. cur = con.cursor()
  12. # 第三步 执行sql语句
  13. sql = 'SELECT * FROM user;'
  14. cur.execute(sql

MongoDB

  • python 对接MongoDB数据库,使用的第三方库为 pymongo 。
  • 安装: pip install pymongo
  1. # -*- coding: utf-8 -*-
  2. # @Author : 一凡
  3. import pymongo
  4. # 第一步:建立连接,数据库地址,端口号
  5. client = pymongo.MongoClient("localhost", 27017)
  6. # 第二步:选取数据库
  7. db = client.test1
  8. # 第三步:选取集合
  9. stu = db.stu
  10. # 第四步:执行相关操作
  11. # 添加一条数据
  12. data1 = {name:'test',age:18}
  13. stu.insert_one(data1)
  14. # 获取一条数据
  15. res = stu.find_one()

Redis

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

  1. # -*- coding: utf-8 -*-
  2. # @Author : 一凡
  3. import redis
  4. # 连接数据库
  5. st = redis.StrictRedis(
  6. host='localhost', # 数据库地址
  7. port='6379', # 端口:
  8. db='testdata', # 库名:
  9. )
  10. # redis操作的命令,对应st对象的方法
  11. # 比如在数据库中创建一条键为test的数据,往里面添加3个元素
  12. 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. java线程池 面试题(精简)

    什么是线程池? 线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理. 如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线 ...

  2. 【RPC】远程接口调用实例 的几种方式比较

    pring中,用JMS搞RPC时会用到: org.springframework.jms.remoting.JmsInvokerServiceExporter org.springframework. ...

  3. element ui loading加载开启与关闭

    参考:https://blog.csdn.net/qq_41877107/article/details/87690555 Vue项目引入element-ui,之后,将以下代码写入 mounted() ...

  4. 【linux】less 命令详解

    转自:https://www.cnblogs.com/GNblog/p/6932252.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极 ...

  5. Gradient checking

    所需文件:本地下载 Gradient Checking Welcome to the final assignment for this week! In this assignment you wi ...

  6. 第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍

    YC.Boilerplate 框架介绍 YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE.后端采用Net 5.0:框架实现了 多租户.动态webAp ...

  7. Windows下Rancher复制Pod内文件到本地

    Rancher 未提供直接获取 Pod 内文件的工具(如果有请评论告知下,蟹蟹),但提供了 Rancher 的 CLI 客户端,通过 CLI 可以调用 k8s 的 CLI (kubectl) 命令来操 ...

  8. 根据短链生成二维码并上传七牛云(Java)

    通过短链生成二维码并上传七牛云(Java) 前言 网上这种帖子其实也是很多,大部分搜出来的是CSDN的,然后点进去一看都几乎一样:所以这次给个自己实践的例子记录. 这次也是通过搜索得到的一部分能实现这 ...

  9. springMVC学习总结(一) --springMVC搭建

    springMVC学习总结(一) --springMVC搭建 搭建项目 1.创建一个web项目,并在项目中的src文件夹下创建一个包com.myl.controller. 2.添加相应jar包 3.在 ...

  10. <input type="file">如何实现自定义样式

    利用样式覆盖来实现效果:先看下原本和改变后的样式 1 <!doctype html> 2 <html> 3 <head> 4 <title>file自定 ...