pymysql 中的数据库的“游标”和“连接池”解析

1 游标

游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理
通俗来说就是,操作数据和获取数据库结果都要通过游标来操作。
使用游标进行数据库操作的步骤如下:

  1. cursor(),创建游标对象
Cus = connect_mysql().cursour()
  1. execute(sql),执行语句的方法。当我们定义了一个sql语句的时候可以用这个方法来执行这个语句。
sql = select * from table1  
cus.execute(sql) 
  1. commit(),提交命令,将更改提交到数据库
cus.commit()
  1. fetchall(),取所有结果,就是获得执行sql语句后获得的结果。游标常用的方法
data=cus.fetchall()
  1. close():关闭此游标对象
cus.close()

其他游标操作:
7. fetchmany([size = cursor.arraysize]):得到结果集的下几行
8. executemany (sql, args):执行多个数据库查询或命令,尽量不使用executemany,通过程序循环不断调用excute函数

2 数据库连接池

python中可以使用pymysql进行数据库进行操作,但是每次进行数据库操作时,都要重新建立与数据库的来连接,而且访问数量达到一定数量时会大大耗费资源。因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目的。数据库连接池其实就是和数据库建立了持续的TCP连接,从而达到数据库连接的资源复用。

实例:

def connect_myssql():
	conn = spool.connection()  #以后每次需要数据库连接就是用connection()函数获取连接
	cur = conn.cursor()
	SQL = "select * from tmp;"
	r = cur.execute(SQL)
	r = cur.fetchall()
	print(r)
	cur.close()
	conn.close()
发布了59 篇原创文章 · 获赞 2 · 访问量 4690

猜你喜欢

转载自blog.csdn.net/lch551218/article/details/104288889