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()
相关推荐
zhaomx198916 分钟前
Spring 事务管理 Transaction rolled back because it has been marked as rollback-only
数据库·spring
l1t1 小时前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly1 小时前
Mysql作业5
android·数据库·mysql
rit84324991 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀2 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客2 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
老邓计算机毕设2 小时前
SSM危险品运输车辆信息管理系统b2z1o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架
MuYiLuck2 小时前
redis持久化与集群
java·数据库·redis
卓码软件测评3 小时前
软件数据库测试:【数据库质量保障:从单元测试到性能优化】
运维·数据库·测试用例·压力测试