欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Python与MySQL数据库的互动:理解Cursor游标

最编程 2024-08-05 08:33:28
...

1、什么是游标?


2、使用游标的好处?

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

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

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


2)使用游标的操作步骤

首先,使用pymysql连接上mysql数据库,得到一个数据库对象。

然后,我们必须要开启数据库中的游标功能,得到一个游标对象。

接着,使用游标对象中的execute()方法,去执行某个SQL语句,系统会根据你的SQL语句,找到这些匹配行,给你存储起来,而不是一次性的打印到频幕上。当你什么时候需要这个结果中的数据的时候,你就去获取它。

最后,就是获取结果集中的数据了,这里有两种方法获取结果集中的数据。一个是fetchone(),该方法一次获取一条记录,每一条记录是一个元组形式的数据,每获取一条记录游标会往前移动一格,等待获取下一条记录;一个是fetchall()方法,能够一次性的获取所有的数据,该方法返回的是一个元组列表。

当完成所有操作后,记得断开数据库的连接,释放资源。

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

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

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

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

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

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

注意:使用游标获取数据,需要用一个变量将结果存储起来,才能被我们拿来做二次使用。

⑤ 断开数据库,释放资源

用cursor操作数据库

python操作数据库,需要安装python和数据库交互的包pymysql

操作步骤如下:

1、建立数据库连接

import pymysql

conn = pymysql.connect(host='localhost', port=3306, user='root', password='root', db='mytable', charset='utf8')

cursor = conn.cursor()

2、执行数据库操作

n=cursor.execute(sql,param)

我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作。

execute(self,query,args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

executemany(self,query,args):执行单条sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

可以看出明显的区别, 如果需要批量插入数据库,还是用 executemany方法 这个和execute 不是一个数量级.

如果只是插入比较少的数量量 用 exectue 比较好点.

总的来说execute与executemany功能差不多,只不过后者比前者速度快一些。

例子:

execute方法
executemany方法

推荐阅读