PyMySQL操作MySQL数据库

Python+Pymysql+PooledDB实现数据库连接池 在测试中,频繁地创建和销毁数据库连接会消耗大量的资源,并且可能导致数据库连接的泄露或者性能下降。因此,使用连接池可以有效地管理数据库连接,提高程序的性能和可靠性。我们将使用Python的pymysql库和dbutils库中的PooledDB来实现MySQL连接池。 阅读详情

PyMySQL

在这里插入图片描述

PyMySQL概述

PyMySQL是一个用于Python编程语言的纯Python MySQL客户端库,它实现了MySQL数据库协议的所有版本,并支持多线程应用程序和Python 3.x版本。PyMySQL遵循Python标准DB API接口,并提供了许多方便的功能,如MySQL连接池、SSL/TLS加密连接、SQL注入预防等。

GitHub:https://github.com/PyMySQL/PyMySQL

安装PyMySQL库

安装PyMySQL库

pip3 install pymysql

查看第三方包的信息

pip3 show pymysql 

查看安装的第三方包列表

pip3 list 

PyMySQL的基本使用

API介绍

导入PyMySQL库

 import pymysql

使用PyMySQL建立与MySQL数据库的连接

pymysql.connect(参数列表)
 
connect_db = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='demo')

获取游标对象

 cursor =conn.cursor()

执行SQL语句

 row_count = cursor.execute(sql)

获取查询结果集

 result = cursor.fetchall()

将修改操作提交到数据库

 conn.commit()

回滚数据

 conn.rollback()

关闭游标

 cursor.close()

关闭连接

 conn.close()

查询操作

# 导包
import pymysql

# 创建数据库连接对象
# 连接数据库时,除端口参数外,其余参数都要使用字符串类型指定
# host:连接的mysql主机,如果本机是'localhost'
# port:连接的mysql主机的端口,默认是3306
# user:连接的用户名
# password:连接的密码
# database:数据库的名称
# charset:通信采用的编码方式,推荐使用utf8
connect_db = pymysql.connect(host='localhost', port=3306, user='root', password='123456', charset='utf8', database='demo')

# 获取游标对象
# 一个数据库连接对象,可以创建多个游标对象
# 一般情况下,同一时刻,只会建立一个进行操作
# 游标对象在创建的时候,默认会开启一个事务环境
cur = connect_db.cursor()

# 写SQL语句
sql_str = '''select * from item'''

# 执行SQL语句
row_count = cur.execute(sql_str)
print(f'查询到 {row_count} 条记录')
print()

# 获取一条查询结果
result = cur.fetchone()
print(result)
print()

# 获取指定条数的记录
result = cur.fetchmany(4)
for t in result:
    print(t)
print()

# 获取所有数据
result = cur.fetchall()
for t in result:
    print(t)
print()

# 移动游标的属性
cur.rownumber = 0
result = cur.fetchall()
print(cur.rowcount)
for t in result:
    print(t)

# 关闭游标对象
cur.close()

# 关闭数据库对象
connect_db.close()

查询到 10 条记录

(1, datetime.datetime(2022, 8, 21, 19, 31, 11), 'https:////img13.360buyimg.com/n1/s450x450_jfs/t1/175088/12/11173/264547/60aa5dd6Efe2b408b/b91c5bdaf6918ffa.jpg', 4299.0, '联想京东自营旗舰店', 'i5 16G 背光键盘', ' 联想笔记本电脑 小新Air14 英特尔酷睿i5 14英寸轻薄本(i5 16G 512G 高色域 大电池)银 全面屏商务办公本 ', 'https://item.jd.com/100011483893.html')

(2, datetime.datetime(2022, 8, 21, 19, 31, 11), 'https:////img13.360buyimg.com/n1/s450x450_jfs/t1/113403/25/29544/70492/6302023dE572552c8/e7c452efb3616b70.jpg', 4999.0, '联想京东自营旗舰店', 'i5 16G 背光键盘', '  联想笔记本电脑小新Pro14 英特尔Evo平台 14英寸游戏轻薄本(标压i5 16G 512G 2.8K 90Hz护眼屏)全面屏办公本 ', 'https://item.jd.c
Python实战:如何用Python连接mysql?(详细过程) mysql是关系型数据库,支持大型的数据库,可以处理拥有上千万条记录的大型数据库。通过爬虫采集的数据集存储到mysql后,可以借助mysql的关联查询将相关的数据一步取出。具体的作用这里就不赘述了,下面开始进入实际操作。 阅读详情

相关推荐

使用PyMySQL操作MySQL数据库

此博客是在学习崔庆才《Python3 网络爬虫开发实战》中的笔记总结。在开始学习之前,请确保安装好了MySQL数据库并且保证数据库能够正常运行,并且需要安装好PyMySQL库 目录 1 连接数据库  2 创建表 3 插入数据 4 更新数据  5 查询数据 6 删除数据 1 连接数据库 connect() 方法声明一个MySQL连接对象db,此时需要传入MySQL运行的host(即...

LinRuiC的博客 4178

Python PyMySQL操作MySQL数据库

Python PyMySQL操作MySQL数据库从连接到删库 这里主要介绍python 3中PyMySQL操作MySQL数据库的方法 准备工作 在开始之前: ①确保已经安装好了MySQL数据库并保证能正常运行, 这里我就不多说了, 不会的话自行百度 ②确保安装好PyMySQL库 推荐pip安装: pip install pymsql 一、连接数据库: # 导入pymysql import pym...

qq_22799237的博客 522

Python常用模块 之 pymysql:连接和操作mysql数据库

Python常用模块 之 pymysql:连接和操作mysql数据库

孤寒者的博客 6万+

Python MySQL数据库连接池组件pymysqlpool详解

主要跟大家介绍了关于Python MySQL数据库连接池组件pymysqlpool的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

Mac安装Weblogic教程

1.Weblogic的下载 这次安装的是最新版本12 官网下载地址: http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 下载需要登录账号,如没有账号要注册一个 下载后的文件如下图,其中fmw_12.2.1.3.0_wls_quick.jar文件就是安装包了,注意现在不要对它进行解压 2.安装前的确...

weixin_40102675的博客 5063

VS2022打包C#安装包(最新、最全)

VS2022打包C#安装包(最新、最全)

qq_37959253的博客 9903

利用LTspice设计Pt100测温电路

是一种广泛使用的温度传感器,它属于(RTD, Resistance Temperature Detector)的类型,通常用于温度测量。在0°C时,的电阻值为100欧姆,且它的电阻值会随着温度的升高而升高。PT100热电阻温度阻值对应表)因此可以根据这一特性来检测出环境温度。

2301_77033628的博客 2417

el-transfer和el-tree进行结合搞一个树形穿梭框

由于业务需求需要在穿梭框里使用树形结构,但是本身element里并不支持,于是参考了别的大佬发的文章作为思路及后续自己新增了一些处理功能。

bbkhhvv的博客 6306

从IMU数据到精准定位:手把手推导ESKF中的四元数运动学与误差状态方程

本文详细介绍了如何从IMU数据推导ESKF中的四元数运动学与误差状态方程,实现精准定位。通过分析误差状态卡尔曼滤波器的优势、四元数表示的必要性,以及IMU测量模型和运动学基础,提供了完整的数学推导和实现要点。适合机器人定位和自动驾驶领域的算法工程师参考,帮助优化导航系统性能。

weixin_30271335的博客 680

电磁波成像技术全解析:从γ射线到无线电波的应用实践

本文全面解析电磁波成像技术,从γ射线到无线电波的应用实践。详细介绍了不同波长电磁波的特性与实用场景,包括医疗影像、工业检测、安防监控等领域。特别探讨了X射线、红外热成像、毫米波雷达等前沿技术的实战应用,为读者提供技术选型指南和操作技巧。

weixin_29305337的博客 293

ADS基础教程22 - 有限元电磁仿真(FEM)

一、引言二、FEM操作过程1.新建Layout1.新建Layout2.EM设置3.设置Frequency plan4.设置Output plan5.设置Options6.设置网格频率7.仿真结果三、总结介绍了在ADS中如何进行FEM仿真过程。END!}}END!

XZ_ZC的博客 2580

Open3D 球旋转算法(BPA)三维建模【2026最新版】

球旋转算法,博客长期更新,本文最新更新时间为:2026年4月11日。

点云侠的博客 37万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 十分钟带你搞懂Python爬虫
下一篇: PyQt5-屏幕坐标系的了解和基本使用
Python_P叔
博客等级 码龄3年 5451粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值