使用pymysql框架连接和查询MySQL数据库

使用pymysql框架连接和查询MySQL数据库步骤:

前提:安装并import pymysql模块

1、使用 pymysql.connect()函数创建一个数据库连接对象

2、正确填写数据库配置信息,地址、端口、用户名、密码、数据库名称

3、创建游标对象,用于执行SQL语句并处理查询结果

4、执行sql语句

5、获取查询结果

6、关闭游标对象,关闭数据库连接,释放资源

代码示例:

复制代码
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import pymysql

# 建立数据库连接
mysqlcon = pymysql.connect(
    host="localhost",  # 数据库主机地址
    port=3306,  # 端口号,默认为3306
    user="root",  # 用户名
    password="123456",  # 密码
    db="student_db"  # 数据库名称
)

# 创建游标对象
cur = mysqlcon.cursor()

# 执行sql查询语句
exc = cur.execute("select * from student where sex = '女'")

# 获取查询结果
result = cur.fetchall()
# 遍历结果
for row in result:
    print(row)

# 关闭游标和连接
cur.close()
mysqlcon.close()

游标对象是什么?

在使用pymysql进行数据库操作时,创建游标对象是为了执行SQL语句并处理查询结果。

游标可以被视为一个指向数据库中某个位置的指针,通过它我们可以执行SQL查询、获取查询结果以及对数据库进行更新操作。

通过连接对象的 cursor() 方法可以创建游标对象。

创建游标后,我们就可以使用该游标来执行各种数据库操作。例如,通过游标的 execute() 方法执行SQL查询语句,并通过 fetchall() 获取查询结果。还可以使用游标执行插入、更新和删除等数据库操作。

最后,在完成所有需要使用的数据库操作后,应该关闭游标对象和连接对象,以释放资源。

常用的游标方法:

在Python中,pymysql 模块的游标对象(Cursor)提供了多个方法用于执行SQL查询和操作结果集。以下是一些常用的游标方法:

  • execute(query, args=None):执行SQL查询或命令,并可选地传递参数给查询。
  • fetchone():从结果集中获取下一行数据,并将其作为元组返回。
  • fetchmany(size=None):从结果集中获取指定数量的行数据,并将它们作为元组列表返回。可以通过 size 参数来指定要获取的行数,默认为数组大小(cursor.arraysize)。
  • fetchall():从结果集中获取所有剩余的行数据,并将它们作为元组列表返回。
  • rowcount:获取最近一次执行SQL语句后受影响的行数。
  • lastrowid:获取最后插入操作生成的自增主键值(如果有)。
  • scroll(value, mode='relative'):将游标相对或绝对地滚动到一个特定位置,其中 value 表示移动的位置,mode 可以是 'relative'(默认,相对当前位置)或 'absolute'(绝对位置)。
相关推荐
不羁。。5 分钟前
【撸靶笔记】第八关:GET - Blind - Boolian Based - Single Quotes
数据库·sql·mybatis
AwhiteV1 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
念念01071 小时前
数学建模竞赛中评价类相关模型
python·数学建模·因子分析·topsis
m0_595199851 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你19931 小时前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
云天徽上1 小时前
【数据可视化-94】2025 亚洲杯总决赛数据可视化分析:澳大利亚队 vs 中国队
python·信息可视化·数据挖掘·数据分析·数据可视化·pyecharts
☺����2 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
王者鳜錸2 小时前
PYTHON让繁琐的工作自动化-函数
开发语言·python·自动化
小猿姐3 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
xiao助阵3 小时前
python实现梅尔频率倒谱系数(MFCC) 除了傅里叶变换和离散余弦变换
开发语言·python