java为什么要连接Mysql_为什么要做python连接mysql,一般是解决什么问题的

自动化测试中,经常需要向数据库添加或删除数据,也需要验证测试数据和数据库的数据是否一致。这个时候就需要用Python连接Mysql

安装PyMySQL

pip install PyMySQL

连接MySql

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "111223", "study_date")

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询

cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.

data = cursor.fetchone()

print("Database version : %s " % data)

# 关闭数据库连接

db.close()

数据库基本操作

增加数据

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

insert into 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "111223", "study_date")

# 使用cursor()方法获取操作游标,以字典的方式获取数据,原数据类型为元组

cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

insert_sql = "insert into studys(id, name, age) values(3, '骑着乌龟赶猪', 35)"

# 执行sql语句

cursor.execute(insert_sql)

# 提交到数据库执行

db.commit()

# 关闭数据库连接

db.close()

删除数据

delete 语句用于删除表中的数据

delete from 表名称 where 删除条件;

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "111223", "study_date")

# 使用cursor()方法获取操作游标,以字典的方式获取数据,原数据类型为元组

cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

# SQL 删除数据

del_sql = "delete from studys where id=3"

# 执行sql语句

cursor.execute(del_sql)

# 提交到数据库执行

db.commit()

# 关闭数据库连接

db.close()

修改数据

update 语句可用来修改表中的数据

update 表名称 set 列名称=新值 where 更新条件;

update studys set age=25 where id=1

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost", "root", "111223", "study_date")

# 使用cursor()方法获取操作游标,以字典的方式获取数据,原数据类型为元组

cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

# SQL 修改数据

updata_sql = "update studys set age=30 where id=2"

# 执行sql语句

cursor.execute(updata_sql)

# 提交到数据库执行

db.commit()

# 关闭数据库连接

db.close()

查询数据

语法:

fetchone()获取一行数据

fetchone()获多行数据

# 导入模块

import pymysql

# 打开数据库连接 数据库地址

db = pymysql.connect("localhost", "root", "111223", "study_date")

# 使用cursor()方法获取操作游标,以字典的方式获取数据,原数据类型为元组

cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

# 使用 execute()方法执行 SQL 查询

cursor.execute("select * from studys")

# 使用 fetchone() 方法获取一行数据.

data = cursor.fetchone()

print(data)

# 关闭数据库连接

db.close()

电商项目实战--判断主界面商品分类是否与数据库一致

第1步:获取界面分类数据

#! /usr/bin/python3

# -*- coding:utf-8 -*-

# @FileName: day10.py

# @Time : 2020/8/21 9:26

# 公众号 : 程序员一凡

from selenium import webdriver

url = "http://localhost:8080/Shopping/index.jsp"

driver = webdriver.Chrome()

driver.get(url)

# 复数形式定位定位

els = driver.find_elements_by_xpath("/html/body/table[5]/tbody/tr/td[2]/table[1]/tbody/tr/td/a")

# 空列表用于存放数据

list = [ ]

for i in els:

# 获取text文本然后添加到列表

list.append(i.text)

print("界面数据:", list)

第2步:获取数据库商品分类数据

db = pymysql.connect(host="localhost", user="root", password="111223", database="db_shopping")

cur = db.cursor(cursor=pymysql.cursors.DictCursor)

# 从tb_bigtype数据库中选择bigName列表

sql = "select bigName from tb_bigtype"

cur.execute(sql)

db.commit()

cur.execute(sql)

data = cur.fetchall()

db_list = []

print("数据库数据:",data)

for i in data:

for j in i.values():

db_list.append(j)

print(db_list)

第3步:两组数据进行断言

# 反向排序列表list.reverse()if db_list == list: print("一致")else: print("不一致")

课后练习

将电商实战代码封装后再进行断言

将数据库的操作封装在一个类中,并且把连接数据库、增、删、改、查的操作封装为方法

更多分享欢迎关注我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值