欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python cursor游标_第二十三天 python中游标的使用

发布时间:2024/7/23 python 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python cursor游标_第二十三天 python中游标的使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

游标(cursor):系统为用户开通的一个数据缓冲区,用于存放SQL语句执行结果。用户使用的sql会逐一的在游标中获取记录,并赋值给主变量,交由Python进一步处理,一组主变量只能存放一条记录。

例题:

from T1 importconnect_mysql#----主函数

if __name__ == '__main__':

sql= 'select * from test;'cnn=connect_mysql()

cur=cnn.cursor()#print (dir(cur))

try:

cur.execute(sql)#----fetchone 取结果的一行

result=cur.fetchone()print(result)#----fetchmany(nu)根据nu数字取结果行数

result1=cur.fetchmany(3)print(result1)#----fetchall()取全部结果

result2=cur.fetchall( )#print ('22222222')

print(result2)

cur.close()exceptException as e:

cnn.rollback()raiseefinally:

cnn.close()

执行结果:

C:\Python27\python.exe E:/untitled/mysql/T2.py

(100L,)

((200L,), (300L,), (300L,))

((40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,))

Process finished with exit code 0

图中语句依次执行由于数据只有四条,并且三者语句一起执行,所以执行ftechone取走一条,执行fetchmany(3)取走三条,剩下以为空所以fetchall()只能取空。

执行多条语句:

from T1 import connect_mysql

#----主函数

if __name__ == '__main__':

sql= 'select * from test;'

sq11='insert into test(id) VALUES (%s);'

#----将函数组合成多个list

Lis=[]

for i in xrange(40,50):----此处表示批量执行语句的格式,为sql语句+参数,将一列参数(类型为list)逐个传入sql1中。

Lis.append([str(i)])

# print (Lis)

cnn=connect_mysql()

cur= cnn.cursor()

try:

cur.executemany(sq11,Lis) -----注意二者的执行顺序应该先插入后再查询否则查询结果为空。

cur.execute(sql)

#----fetchall()取全部结果

result2=cur.fetchall( )

print (result2)

cur.close()

cnn.commit()-------执行语句后需要执行提交否则数据库内无法生效。

except Exception as e:

cnn.rollback()

raise e

finally:

cnn.close()

执行结果:

C:\Python27\python.exe E:/untitled/mysql/T2.py

((100L,), (200L,), (300L,), (300L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,), (40L,), (41L,), (42L,), (43L,), (44L,), (45L,), (46L,), (47L,), (48L,), (49L,))

Process finished with exit code 0

总结

以上是生活随笔为你收集整理的python cursor游标_第二十三天 python中游标的使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。