Python中的数据库读取操作
任何数据库上的READ操作意味着要从数据库中获取一些有用的信息。
建立我们的数据库连接后,即可准备对该数据库进行查询。您可以使用fetchone()方法来获取单个记录或使用fetchall()从数据库表的方法来fetech多个值。
fetchone()-它获取查询结果集的下一行。结果集是当使用游标对象查询表时返回的对象。
fetchall()-提取结果集中的所有行。如果已经从结果集中提取了一些行,则它将从结果集中检索剩余的行。
rowcount-这是一个只读属性,返回受execute()
方法影响的行数。
示例
以下过程从薪水超过1000的EMPLOYEE表中查询所有记录-
#!/usr/bin/python import MySQLdb # Open database connection db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # prepare a cursor object using cursor() method cursor = db.cursor() sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: # Execute the SQL command cursor.execute(sql) # Fetch all the rows in a list of lists. results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # Now print fetched result print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" # disconnect from server db.close()
输出结果
这将产生以下结果-
fname=Mac, lname=Mohan, age=20, sex=M, income=2000