• 技术文章 >数据库 >MySQL

    python连接数据库后怎样查询

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

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

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

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

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    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():接收全部的返回结果行

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    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学习网