这篇文章将为大家详细讲解有关python连接数据库后如何进行查询,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python查询Mysql使用fetchone()方法获取单条数据,使用fetchall()方法获取多条数据。

fetchone():该方法获取下一个查询结果集。结果集是一个对象

fetchall():接收全部的返回结果行。

rowcount:这是一个只读属性,并返回执行execute()方法后影响的行数。

1、使用fetchone()方法获取结果集

importpymysql#打开数据库连接db=pymysql.connect("localhost","root","123456","test")#使用cursor()方法获取操作游标cursor=db.cursor()#SQL查询语句sql="SELECT*FROMEMPLOYEE\WHEREINCOME>'%d'"%(1000)try:#执行SQL语句cursor.execute(sql)print(cursor.rownumber)result=cursor.fetchone()whileresult!=None:print(result,cursor.rownumber)result=cursor.fetchone()result=cursor.fetchone()print(result,cursor.rownumber)result=cursor.fetchone()print(result,cursor.rownumber)except:print("Error:unabletofetchdata")#关闭数据库连接db.close()输出结果:0('Mac','Mohan',20,'M',2000.0)1('Marry','Mohan',32,'M',3000.0)2('Bob','Mohan',21,'F',4000.0)3None3None3

结论:

执行cursor.execute(SQL)语句后,光标指向第一条记录之前的位置。

执行cursor.fetchone()语句之后,fetchone()方法返回光标指向的下一条记录,同时光标指向当前记录的下一条记录。

当光标已经指向最后一条记录时,再次执行cursor.fetchone()语句后,结果返回无,光标不再向前移动。

2:fetchall():接收全部的返回结果行

importpymysql#打开数据库连接db=pymysql.connect("localhost","root","123456","test")#使用cursor()方法获取操作游标cursor=db.cursor()#SQL查询语句sql="SELECT*FROMEMPLOYEE\WHEREINCOME>'%d'"%(1000)try:#执行SQL语句cursor.execute(sql)#获取所有记录列表results=cursor.fetchall()forrowinresults:fname=row[0]lname=row[1]age=row[2]sex=row[3]income=row[4]#打印结果print("fname=%s,lname=%s,age=%d,sex=%s,income=%d"%(fname,lname,age,sex,income))except:print("Error:unabletofetchdata")#关闭数据库连接db.close()

关于python连接数据库后如何进行查询就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。