带你彻底搞懂python操作mysql数据库(cursor游标讲解)

您所在的位置:网站首页 codecs库的作用 带你彻底搞懂python操作mysql数据库(cursor游标讲解)

带你彻底搞懂python操作mysql数据库(cursor游标讲解)

2024-07-17 08:21:16| 来源: 网络整理| 查看: 265

1、什么是游标?

一张图讲述游标的功能:

图示说明:

2、使用游标的好处?

如果不使用游标功能,直接使用select查询,会一次性将结果集打印到屏幕上,你无法针对结果集做第二次编程。使用游标功能后,我们可以将得到的结果先保存起来,然后可以随意进行自己的编程,得到我们最终想要的结果集。

3、利用python连接数据库,经常会使用游标功能

1)以python连接mysql数据库为例

2)使用游标的操作步骤

首先,使用pymysql连接上mysql数据库,得到一个数据库对象。然后,我们必须要开启数据库中的游标功能,得到一个游标对象。接着,使用游标对象中的execute()方法,去执行某个SQL语句,系统会根据你的SQL语句,找到这些匹配行,给你存储起来,而不是一次性的打印到频幕上。当你什么时候需要这个结果中的数据的时候,你就去获取它。最后,就是获取结果集中的数据了,这里有两种方法获取结果集中的数据。一个是fetchone(),该方法一次获取一条记录,每一条记录是一个元组形式的数据,每获取一条记录游标会往前移动一格,等待获取下一条记录;一个是fetchall()方法,能够一次性的获取所有的数据,该方法返回的是一个元组列表。当完成所有操作后,记得断开数据库的连接,释放资源。

① 连接数据库,创建一个数据库对象

1

2

db = pymysql.connect(host='localhost',user='root',db='huangwei',

           password='123456',port=3306,charset='utf8')

注意:我们要操作的是huangwei这个数据库中的表,因此在连接的时候使用db这个参数来指明要使用哪一个数据库;由于mysql数据库就装在本机上,因此可以写localhost,当然你也可以写成主机名,或者主机ip;

② 开启游标功能,创建游标对象

1

2

# 这里使用的是数据库对象db中的cursor()方法,

cursor = db.cursor()

③ 使用execute()方法,执行SQL语句

1

cursor.execute('select sname,ssex from student')

注意:当开启游标功能执行这个SQL语句后,系统并不会将结果直接打印到频幕上,而是将上述得到的结果,找个地方存储起来,提供一个游标接口给我们,当你需要获取数据 的时候,就可以从中拿数据。

④ 使用fetchone()或fetchall()获取数据

1

2

3

4

5

# 一次性获取一条数据

a = cursor.fetchone()

# 一次性获取所有数据

a = cursor.fetchall()

注意:使用游标获取数据,需要用一个变量将结果存储起来,才能被我们拿来做二次使用,这里在下面的案例中会体现出来。

⑤ 断开数据库,释放资源

1

db.close()

3)案例讲解

需求:以操做huangwei数据库中的student表为例 。完成【筛选出女生,同时将sname以这种形式输出“我叫周梅,我是一个学生!”】这个需求。

① student表

 

② 使用fetchone()方法,获取SQL查询结果集中的数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

db = pymysql.connect(host='localhost',user='root',db='huangwei',

           password='123456',port=3306,charset='utf8')

cursor = db.cursor()

cursor.execute('select count(*) from student')

aa = cursor.fetchone()

print(aa)

# 注意这一句一定是在循环之外,不能放到循环里面。想想这是为什么?

cursor.execute('select sname,ssex from student') 

for i in range(aa[0]):

  a,b = cursor.fetchone()

  if b == "女":

    a = "我叫{},我是一个学生!".format(a)

    print(a)

db.close()

结果如下:

③ 使用fetchall()方法,获取SQL查询结果集中的数据

1

2

3

4

5

6

7

8

9

10

11

db = pymysql.connect(host='localhost',user='root',db='huangwei',

           password='123456',port=3306,charset='utf8')

cursor = db.cursor()

cursor.execute('select sname,ssex from student')

aa = cursor.fetchall()

# print(aa)

for a,b in aa:

  if b == "女":

    a = "我叫{},我是一个学生!".format(a)

    print(a)

db.close()

 结果如下:

④ 结果分析

通过上述操作可以发现,这种游标功能可以帮助我们对SQL语句得到的结果集,进行二次开发,然后通过灵活的python语法,得到任何我们最终想要的结果集。

本文转载自:https://www.jb51.net/article/177865.htm



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭