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()
相关推荐
这个DBA有点耶19 分钟前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
aiks_yuan1 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
SelectDB1 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹2 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen2 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶3 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农5 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan5 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农5 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j