发布时间:2022-03-11 09:44:58 人气:192 作者:多测师
在做python自动化时,结果断言很重要,相较数据固定校验(数据维护比较复杂),我们更期望实现动态的校验数据。
数据存储在数据库或者redis中,因此学会python操作数据库和redis势在必行。
安装和使用:
安装pymysql
pip install pymysql
导入pymysql
import pymysql
数据库操作
1. 首先,连接数据库
conn=pymysql.connect(host='host',user='user',password='password',database='database',charset='utf8')
2. 获取游标对象
# 得到一个可以执行SQL语句的光标对象,默认输出为元组,如果字典形式输出:cursor=conn.cursor(pymysql.cursors.DictCursor)
cursor = conn.cursor()
3. 执行sql语句
result=cursor.execute(sql)
4. 关闭光标对象
cursor.close()
5. 关闭数据库连接
conn.close()
6. 其他
conn.commit()为提交事务:
因为pymysql 模块默认是启用事务的。如果不提交,相当于没有执行。
一般在增删改sql执行后,需要提交事务。
cursor.executemany批量操作数据。
适用于增删改。
执行sql时,如果发生异常,可进行异常处理-回滚。
try:
result=cursor.executemany(sql_add,data)
conn.commit()
except Exception as e:
conn.rollback()
示例
1. 增加数据
sql_add= 'insert into user(name,pwd) VALUES(%s,%s);'
# 执行SQL语句
result=cursor.execute(sql_add,['admin','admin123'])
# 提交事务
conn.commit()
2. 删除数据
sql_del='delete from user where name='admin';
#执行SQL语句
result=cursor.execute(sql_del,['admin','admin123'])
conn.commit()
3. 修改数据
sql_update=' update user set name=%s where name=%s';
result=cursor.execute(sql_update,['admin','admin123'])
conn.commit()
4. 查询数据
# 定义要执行的SQL语句
sql = 'select * from user where name=%s and pwd=%s;'
# 执行SQL语句
result=cursor.execute(sql,['admin','admin123'])
#获取一个
print(cursor.fetchone())
#获取多个,默认为1
print(cursor.fetchmany(2))
#获取所有
print(cursor.fetchall())
以上内容为大家介绍了Python操作MySQL,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/