文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Python】系列模块之pymysql操作MySQL 数据库

2023-09-03 18:25

关注

目录

一、安装pymysql

二、连接数据库

三、数据库操作

3.1 查询

3.2 更新

3.3 使用循环批量更新


 Python 系列文章学习记录: 

Python系列之Windows环境安装配置_开着拖拉机回家的博客-CSDN博客

Python系列之变量和运算符_开着拖拉机回家的博客-CSDN博客

Python系列之判断和循环_开着拖拉机回家的博客-CSDN博客

Python系列之字符串和列表_开着拖拉机回家的博客-CSDN博客

Python系列之文件操作和函数_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库OS详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库re详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库json详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库shutil详解_开着拖拉机回家的博客-CSDN博客


一、安装pymysql


在Pycharm 中 输入 import pymysql , 根据提示 我们直接点击安装,模块会安装到默认的 Python 安装目录的 lib目录,如下是我 安装好 pymysql 模块路径。

或者使用pip


二、连接数据库


使用connect函数创建连接对象,此连接对象提供关闭数据库、事务回滚等操作
一般传参为:host, user, password, port(默认为3306), database(想要连接的数据库名)

connect() 方法参数

参数 说明:

                   参数

                       说明

host=

数据库连接地址

user=

数据库用户名

password=

数据库password

database=

要连接的数据库名字

port=3306

连接端口,默认 3306

charset=utf8

设置字符集,一般为utf8

connect_timeout=10

连接数据库超时时间,一般默认为10秒

dsn

数据源名称,给出该参数表示数据库依赖

max_allowed_packet
 16 * 1024 * 1024
autocommitFalse 自动提交默认 为falsse

连接对象的常见方法

方法名

说明

cursor()

获取游标对象,操作数据库,如执行DML操作,调用存储过程等

commit()

提交事务

rollback()

回滚事务

close()

关闭数据库连接

cursor游标对象的常见方法

方法名

说明

execute(query)

执行数据库操作,如sql语句或数据库命令

executemany(query,params)

用于批量操作,如:批量更新

fetchone()

获取查询结果集中的下一条记录

fetchmany(size)

获取查询结果集中指定数量的记录,size默认为1

fetchall()

获取查询结果集中所有记录

nextset()

跳至下一个可用的结果集

close()

关闭当前游标对象


三、数据库操作


3.1 查询


import pymysql# 创建数据库连接对象db = pymysql.connect(host="192.168.2.211",                     user="root",                     password="winner@001",                     database="ipvacloud",                     charset="utf8")# 创建一个新游标来执行查询curses = db.cursor()siteId = "Ahczlcc_P00001"# 查询SQLselectSQL = """    SELECT SiteId,SiteName from  site_all_info where SiteId ='%s'; """ % siteIdtry:    # 执行sql语句,也可执行数据库命令    curses.execute(selectSQL)    # 所有结果    result = curses.fetchall()    print(type(result))    print(result)except Exception as e:    db.rollback()     # 回滚    print("查询失败", e)finally:    curses.close()    # 关闭当前游标    db.close()        # 关闭数据库连接

查询结果:

增删改需要有提交事务的操作,查不需要提交事务,但如果循环查询,务必提交事务,否则结果都是重复的。

3.2 更新


import pymysql# 创建数据库连接对象db = pymysql.connect(host="192.168.2.211",                     user="root",                     password="winner@001",                     database="ipvacloud",                     charset="utf8")# 创建一个新游标来执行查询curses = db.cursor()siteId = "Ahczlcc_P00001"siteName = "大中国安徽滁州乐彩城"# 查询SQLselectSQL = """    update  site_all_info set sitename = '%s' where SiteId ='%s'; """ % (siteName, siteId)try:    # 执行sql语句,也可执行数据库命令    curses.execute(selectSQL)    # 增删改,必须执行事务    db.commit()    # 所有结果    result = curses.fetchall()    print(type(result))    print(result)except Exception as e:    db.rollback()     # 回滚    print("查询失败", e)finally:    curses.close()    # 关闭当前游标    db.close()        # 关闭数据库连接

查询是否更新成功

3.3 使用循环批量更新


import pymysql# 创建数据库连接对象db = pymysql.connect(host="192.168.2.211",                     user="root",                     password="winner@001",                     database="ipvacloud",                     charset="utf8")# 创建一个新游标来执行查询curses = db.cursor()siteId = "Ahczlcc_P00001"siteName = "大中国安徽滁州乐彩城"table_name = "site_all_info"update_list = ['Ahczlcc_P00001S00004', 'Ahczlcc_P00001S00005']update_condition_list = ['北餐饮门', '北大门']for i in range(len(update_list)):    # 查询SQL    selectSQL = """        update  %s set sitename = '%s' where SiteId ='%s';     """ % (table_name, update_condition_list[i], update_list[i])    print(table_name, update_condition_list[i], update_list[i])    try:        # 执行sql语句        curses.execute(selectSQL)        # 执行事务        db.commit()    except Exception as e:        db.rollback()        print(e)curses.close()db.close()

执行结果对比:


Python 系列文章学习记录: 

Python系列之Windows环境安装配置_开着拖拉机回家的博客-CSDN博客

Python系列之变量和运算符_开着拖拉机回家的博客-CSDN博客

Python系列之判断和循环_开着拖拉机回家的博客-CSDN博客

Python系列之字符串和列表_开着拖拉机回家的博客-CSDN博客

Python系列之文件操作和函数_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库OS详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库re详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库json详解_开着拖拉机回家的博客-CSDN博客

Python系列模块之标准库shutil详解_开着拖拉机回家的博客-CSDN博客


参考:

python——数据库操作PyMysql使用详解_南京丛林Jungle的博客-CSDN博客

 

 

来源地址:https://blog.csdn.net/qq_35995514/article/details/130984339

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯