pymysql 查询

使用fetchone()方法获取单条记录
使用fetchall()方法从数据库表中获取多个值。

fetchone() - 它获取查询结果集的下一行。 结果集是当使用游标对象来查询表时返回的对象。 fetchall() - 它获取结果集中的所有行。 如果已经从结果集中提取了一些行,则从结果集中检索剩余的行。 rowcount - 这是一个只读属性,并返回受execute()方法影响的行数。
import pymysql
# 打开数据库链接
db = pymysql.connect("localhost","root","123456","test" )
# 获取操作游标:使用cursor()方法获取
cursor = db.cursor()
# 按字典格式返回数据 # cursor = db.cursor(pymysql.cursors.DictCursor)

# 查询语句 sql = "SELECT * FROM USER \ WHERE INCOME > %d" % (1000) #print (sql)

try:   # 执行sql   cursor.execute(sql)   # 获取所有结果列表   results = cursor.fetchall()   for row in results:     #print (row)     fname = row[1]     lname = row[2]     age = row[3]     sex = row[4]     income = row[5]     # 打印查看一下结果     print ("name = %s %s,age = %s,sex = %s,income = %s" %       (fname, lname, age, sex, income )) except:   import traceback #打印出报错具体信息   traceback.print_exc()   print ("Error: unable to fetch data") # 关闭数据库链接 db.close()

注意:

什么是 Traceback

Traceback 是 Python  错误信息的报告。在其他编程语言中有着不同的叫法包括 stack trace, stack  traceback, backtrac  等名称, 在 Python  中,术语就是 Traceback

当代码中出现错误,会在输出的时候打印 Traceback  错误信息

  1. import pymysql
  2.  
     
  3.  
    # Open database connection
  4.  
    db = pymysql.connect("localhost","root","123456","test" )
  5.  
     
  6.  
    # prepare a cursor object using cursor() method
  7.  
    cursor = db.cursor()
  8.  
    # 按字典返回
  9.  
    # cursor = db.cursor(pymysql.cursors.DictCursor)
  10.  
     
  11.  
    # Prepare SQL query to select a record from the table.
  12.  
    sql = "SELECT * FROM EMPLOYEE \
  13.  
    WHERE INCOME > %d" % (1000)
  14.  
    #print (sql)
  15.  
    try:
  16.  
    # Execute the SQL command
  17.  
    cursor.execute(sql)
  18.  
    # Fetch all the rows in a list of lists.
  19.  
    results = cursor.fetchall()
  20.  
    for row in results:
  21.  
    #print (row)
  22.  
    fname = row[1]
  23.  
    lname = row[2]
  24.  
    age = row[3]
  25.  
    sex = row[4]
  26.  
    income = row[5]
  27.  
    # Now print fetched result
  28.  
    print ("name = %s %s,age = %s,sex = %s,income = %s" % \
  29.  
    (fname, lname, age, sex, income ))
  30.  
    except:
  31.  
    import traceback
  32.  
    traceback.print_exc()
  33.  
     
  34.  
    print ("Error: unable to fetch data")
  35.  
     
  36.  
    # disconnect from server
  37.  
    db.close()

pymysql 查询

上一篇:mac + python3.8 + django3.0.8 + mysql 遇到数据库连接包问题


下一篇:Codeforces 848C Goodbye Souvenir(CDQ 分治)