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