第4关:python数据库编程之查询数据

本文介绍了如何使用pymysql连接MySQL数据库,通过示例展示了如何查询用户表中的所有数据,并以特定格式打印到控制台。
摘要由CSDN通过智能技术生成

任务描述

本关任务:使用 pymysql 从数据库中查询数据。

相关知识

为了完成本关任务,你需要掌握:如何使用 pymysql 进行数据查询。

如何使用 pymysql 连接指定数据库并且查询符合条件的记录?

以下是一个样例代码:

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import pymysql
  4. # 创建数据库连接
  5. conn = pymysql.connect(
  6. # mysql服务器主机地址
  7. host='127.0.0.1',
  8. # mysql服务器连接端口
  9. port=3306,
  10. # 用户名
  11. user='user',
  12. # 数据库名
  13. db='db_name',
  14. # 用户密码
  15. passwd='password',
  16. # 编码格式
  17. charset='utf8'
  18. )
  19. # 使用cursor()函数创建一个游标对象
  20. cursor = conn.cursor()
  21. # 使用execute()函数执行一条sql语句, 从area表中获取所有id小于等于2的记录,并且以area_id降序排列
  22. cursor.execute("select area_id, area_name from area where id<=2 ORDER BY area_id DESC")
  23. # 使用fetchall()函数返回所有的结果,结果以元组的形式返回(每条记录都以一个储存了各个列的值的元组存在)
  24. res = cursor.fetchall()
  25. print(res)
  26. # 关闭游标
  27. cursor.close()
  28. # 关闭数据库连接
  29. conn.close()

输出的结果如下: ((2, '长沙'), (1, '北京'))

注意:pymysql中获取数据常用的有2个函数,分别是:fetchall()返回所有记录,fetchone()返回单条记录。

编程要求

根据提示,在右侧编辑器补充代码,完成以下需求:

  • 查询用户名表的所有数据并指定格式打印到控制台(id:xxx,username:xxx,sex:xxx,age:xxx

代码: 

 

import pymysql

"""
    需求:查询用户表的所有数据,数据库为mydb
"""
if __name__ == '__main__':
    # **********begin********** #

    # 获取连接
    conn = pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        db='mydb',
        passwd='123123',
        charset='utf8'
    )
    # 获取光标
    cursor = conn.cursor()
    cursor.execute("select * from users")
    res = cursor.fetchall()
    for i in res:
        print(f"id:{i[0]},username:{i[1]},sex:{i[2]},age:{i[3]}")

    # 执行SQL

    
    # 返回结果集

    
    # 遍历结果集,将其打印到控制台,格式为 --》 id:xxx,username:xxx,sex:xxx,age:xxx


    # 关闭资源
    cursor.close()
    conn.close()
    # **********end********** #

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值