pymysql库

PyMySQL

PyMySQL 是一个用于在 Python 中操作 MySQL 数据库的库。它是一个纯 Python 编写的 MySQL 客户端,可以通过它连接、查询、插入、更新和删除 MySQL 数据库中的数据。可以使用 pip 来进行安装pymysql库


Cursor对象

数据库 Cursor(游标)是一种可编程的数据库对象,用于在查询结果集中遍历和操作数据。通过使用 Cursor,我们可以在数据库中执行SQL 查询、检索数据和对数据进行更新、插入或删除等操作。在使用 Cursor 时,首先要创建一个 Cursor 对象,并将其与一个查询关联。随后,可以使用游标方法来检索数据,该方法可以使用循环结构反复调用,以遍历整个结果集。

Cursor主要用于需要逐行处理数据的复杂业务逻辑、可以进行更新或删除等操作、允许在结果集上进行迭代

  • 动态查询,在查询结果中获取特定字段或行
  • 更新或删除数据库中的数据
  • 批量插入或更新等

若要执行SQL语句时,则需要使用cursor对象,可通过connection对象的cursor()方法进行创建。
以下是一些常用的Cursor对象方法和操作:


  1. 移动光标

    • cursor.fetchone(): 从结果集中获取下一行数据,返回一个单个的结果行,当没有更多的行时返回None。
    • cursor.fetchmany(n): 从结果集中获取指定数量(n)的行数据,返回一个包含这些行的列表。
    • cursor.fetchall(): 从结果集中获取所有剩余的行数据,返回一个包含所有行的列表。
    • cursor.scroll(n): 将光标相对于当前位置移动n行,正数表示向下移动,负数表示向上移动。
  2. 访问数据

    • cursor.rowcount: 获取结果集中的行数。
    • cursor.description: 获取结果集的列描述信息,返回一个包含元组的列表,每个元组表示一列的描述,如列名、数据类型等。
    • cursor.execute(sql, params): 执行SQL语句,可以使用参数(params)来传递查询参数。
  3. 修改数据

    • cursor.execute(sql, params): 执行SQL语句,可以用于插入、更新或删除数据。
    • cursor.executemany(sql, seq_of_params): 执行多个SQL语句,每个语句都可以使用不同的参数。

pymysql操作步骤


对于图解,操作步骤说明:

(1)导入模块;
(2)创建连接对象;
(3)创建游标对象;
(4)使用游标对象执行SQL并进行增删改查;
(5)关闭游标对象;
(6)关闭连接对象。


connect对象常用方法

对数据库的操作

  1. 插入
# 1、导入模块
import pymysql
 
# 2、创建连接对象
conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='123456',
    database= 'zz20db_students',
    charset='utf8'
)
print(conn)  # 测试一下服务器是否联通
 
# 3、获取游标
db_cursor = conn.cursor()
 
# 4、使用游标来执行sql
result = db_cursor.execute("insert into student(name,gender,age) values ('刘备','男',23)")
print(result) # 返回影响的行数
 
# 5、增删改之后,一定要让操作生效,必须要提交事务,否则不生效
conn.commit()
 
# 6、关闭游标对象;
db_cursor.close()
 
# 7、关闭连接对象。
conn.close()
  1. 查询
# 建立数据库连接
connection = pymysql.connect(
    host='localhost',
    user='your_username',
    password='your_password',
    database='your_database',
    charset='utf8mb4'
)

try:
    with connection.cursor() as cursor:
        # 执行查询
        cursor.execute("SELECT id, name FROM users")
        
        # 获取查询结果
        results = cursor.fetchall()
        
        # 输出结果
        for row in results:
            print(f"ID: {row[0]}, Name: {row[1]}")
finally:
    connection.close()

  1. 修改
# 1、导入模块
import pymysql
 
# 2、创建连接对象
conn = pymysql.connect(
    host='192.168.88.100',
    port=3306,
    user='root',
    password='123456',
    database= 'zz20db_students',
    charset='utf8'
)
print(conn)  # 测试一下服务器是否联通
 
# 3、获取游标
db_cursor = conn.cursor()
 
# 4、使用游标来执行sql
result = db_cursor.execute("""
    update student set name = '大乔' where id = 4
    """)
print(result) # 返回影响的行数
 
# 5、增删改之后,一定要让操作生效,必须要提交事务,否则不生效
conn.commit()
 
# 6、关闭游标对象;
db_cursor.close()
 
# 7、关闭连接对象。
conn.close()
posted @ 2025-04-13 20:09  fazem  阅读(11)  评论(0)    收藏  举报