Python操作MySQL

发表于:2021-3-22 09:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张小Di    来源:掘金

#
Python
分享:
  背景:
  在做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())

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号