• 技术文章 >数据库 >MySQL

    python连接数据库后怎样查询

    silencementsilencement2020-03-18 13:09:28原创1525

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

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

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

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

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

    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect("localhost", "root", "123456", "test")
     
    # 使用cursor()方法获取操作游标
    cursor = db.cursor()
     
    # SQL 查询语句
    sql = "SELECT * FROM EMPLOYEE \
           WHERE INCOME > '%d'" % (1000)
    try:
        # 执行SQL语句
        cursor.execute(sql)
        print(cursor.rownumber)
        result = cursor.fetchone()
        while result!=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: unable to fetch data")
     
    # 关闭数据库连接
    db.close()
     
     
    输出结果:
     
    0
    ('Mac', 'Mohan', 20, 'M', 2000.0) 1
    ('Marry', 'Mohan', 32, 'M', 3000.0) 2
    ('Bob', 'Mohan', 21, 'F', 4000.0) 3
    None 3
    None 3

    结论:

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

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

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

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

    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect("localhost", "root", "123456", "test")
     
    # 使用cursor()方法获取操作游标
    cursor = db.cursor()
     
    # SQL 查询语句
    sql = "SELECT * FROM EMPLOYEE \
           WHERE INCOME > '%d'" % (1000)
    try:
        # 执行SQL语句
        cursor.execute(sql)
        # 获取所有记录列表
        results = cursor.fetchall()
        for row in results:
            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: unable to fetch data")
     
    # 关闭数据库连接
    db.close()

    更多技术请关注python视频教程。

    专题推荐:数据库
    品易云
    上一篇:连接不上mysql数据库怎么办 下一篇:怎么新建mysql数据库

    相关文章推荐

    • mysql中in怎么用• mysql的数据存在哪• 如何删除mysql 数据• mysql如何数据库备份

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网