zoukankan      html  css  js  c++  java
  • pymysql 查询 (fetchone和fetchall方法)

    使用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)   # 获取所有结果列表:fetchall()   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  错误信息

     

     

    写成一个函数:

    :使用 try...except...

    def connMySQL():
      try:
        conn = pymysql.connect("localhost","root","123456","test" )#链接数据库
      except Exception as e:
        return e.args #如果报错,返回错误信息
      else:
        cur=conn.cursor()#建立操作游标
        sql=" SELECT * from USER where income = %s" #要执行的sql
        params=(1,) #用一个参数,赋值给上面的%s

        #------获取单条数据结果fetchone()
        #cur.execute(sql,params) #执行数据库sql
        #data=cur.fetchone() #这是获取单条结果数据
        #print(data)
        #-------获取多条数据结果fetchall()
        cur.execute(select * from USER...)
        data=cur.fetchall()
        for item in data: #循环的方式去打印结果出来
          print(item)
        #db=[item for item in data] #或者使用列表推导式来打印结果出来
          #print(db)
      finally:
        cur.close() #关闭游标操作
        conn.close() #关闭数据库链接


    #调用一下函数方法,执行看下结果
    print(connMySQL())
  • 相关阅读:
    MySql—修改权限
    linux apache Tomcat配置SSL(https)步骤
    spark-shell启动错误
    spark
    Ubuntu不能连接网络
    NSGA-II算法学习
    SpringBoot集成mybatis,同时读取一个数据库中多个数据表
    设置虚拟机ip地址
    发送邮件
    spring session
  • 原文地址:https://www.cnblogs.com/QiKa/p/13334772.html
Copyright © 2011-2022 走看看