pymysql 与 MySQL数据库交互

pymysql是一个Python的第三方库,用于在Python程序中与MySQL数据库进行交互。它提供了一个简单而直接的接口,使开发人员可以轻松地连接、查询和操作MySQL数据库。

pymysql的主要特点包括:

  1. 简单易用:pymysql提供了简单而直观的API,使开发人员可以快速上手并使用它来连接和操作MySQL数据库。
  2. 高性能:pymysql采用纯Python实现,并通过使用C语言的MySQL API来提高性能。
  3. 支持事务:pymysql提供了事务功能,使开发人员能够执行复杂的数据库操作,并保持数据的一致性。
  4. 支持连接池:pymysql支持连接池,可以有效地管理数据库连接,提高性能和可扩展性。
  5. 支持多线程:pymysql对多线程的支持友好,可以在多线程环境中安全地使用。

使用pymysql,开发人员可以执行各种数据库操作,包括创建、删除和修改数据库,创建和删除表,以及插入、更新和删除数据等。通过pymysql,开发人员可以快速、方便地实现与MySQL数据库的交互,并且可以轻松地将其集成到Python应用程序中。

python 复制代码
"""
python  操作数据库 pymysql
pip install pymysql
"""
# 1. 导入模块
import pymysql

# 2. 构建连接实例
con = pymysql.connect(user="zzy", password='123456')
con.select_db("python2407")

# 3. 构建游标(游动的鼠标,  用于执行sql语句)
cur = con.cursor()

# 3.1 使用游标执行sql
row = cur.execute("show tables")
# 3.2 获取游标执行结果
print(f"发现{row}个表")

# fetchall 获取所有
# datas = cur.fetchall()
# for data in datas:
#     print(data[0])

# fetch 每次获取一个
# data = cur.fetchone()
# print(data[0])
# data = cur.fetchone()
# print(data[0])
# data = cur.fetchone()
# print(data[0])

# fetchmany 获取指定个数
# datas = cur.fetchmany(size=3)
# print(datas)
#
# datas = cur.fetchmany(size=2)
# print(datas)

# 取两个
datas = cur.fetchmany(size=2)
print(datas)
# 控制游标位置 相对偏移 正值前进 负值倒退
# cur.scroll(-1, mode='relative')

# 控制游标位置  绝对位置偏移  只能是0-length-1
cur.scroll(2, mode='absolute')
data = cur.fetchone()
print(data)



# 4. 关闭游标 关闭 连接
cur.close()
con.close()
相关推荐
岁岁种桃花儿33 分钟前
MySQL 8.0 基本数据类型全面解析
数据库·mysql·数据库开发
用户427007458381 小时前
第二节:使用Mongoose连接数据库
数据库
煎蛋学姐1 小时前
SSM协同过滤的视频推荐系统s04mp(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·用户管理·协同过滤·ssm 框架·视频推荐系统
马克学长1 小时前
SSM薪酬管理系统b26z4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·薪酬管理系统
胡萝卜的兔2 小时前
ThinkPHP6.0 Redis 延迟队列 + 定时任务 实现超时取消订单完整部署脚本
数据库·redis·缓存
2501_944521002 小时前
rn_for_openharmony商城项目app实战-主题设置实现
javascript·数据库·react native·react.js·ecmascript
heartbeat..2 小时前
SQL 常用函数大全:聚合、字符串、数值、日期、窗口函数解析
java·数据库·sql·函数
chuxinweihui2 小时前
MySQL数据库基础
数据库·mysql
无敌的牛3 小时前
MySQL基础
数据库·mysql
进阶的小名3 小时前
[超轻量级延时队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个延时MQ(自定义注解方式)
java·数据库·spring boot·redis·缓存·消息队列·个人开发