Python Python-MySQLdb中的DictCursor使用方法简介

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python Python-MySQLdb中的DictCursor使用方法简介

Python-MySQLdb中的DictCursor使用方法简介


 

 

DictCursor的这个功能是继承于CursorDictRowsMixIn,这个MixIn提供了3个额外的方法: fetchoneDictfetchmanyDictfetchallDict

 

在默认情况下cursor方法返回的是BaseCursor类型对象,BaseCursor类型对象在执行查询后每条记录的结果以列表(list)表示。如果要返回字典(dict)表示的记录,就要设置cursorclass参数为MySQLdb.cursors.DictCursor类。

cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)

 

这个参数也可在调用connect方法建立连接时设置,如下:

>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc', pass

wd='test1234', db='1dcq', cursorclass=MySQLdb.cursors.DictCursor)

>>>conn.close()

 

例子:

>>> import MySQLdb

>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc', passwd='test1234', db='1dcq')

>>> cursor = conn.cursor()

>>> cursor.execute('SELECT * FROM pagesobject LIMIT 0, 1')

1L

 

>>> cursor.fetchone()

(1L, 0L, '???', 'true', None, 0)

>>> cursor.close()

 

对比实验如下:

>>> cursor = conn.cursor(MySQLdb.cursors.DictCursor)

>>> cursor.execute('SELECT * FROM pagesobject LIMIT 0, 1')

1L

>>> cursor.fetchone() # 等价fetchoneDict()

{'PageDesc': None, 'P_Id': 0L, 'isParent': 0, 'Html_open': 'true', 'PageName': '???', 'Id': 1L}

>>> cursor.close()

>>>conn.close()

 

     

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
658 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
7月前
|
Linux iOS开发 MacOS
【chat-gpt问答记录】python虚拟环境venv的简介及使用
【chat-gpt问答记录】python虚拟环境venv的简介及使用
72 2
|
7月前
|
Python
|
3月前
|
程序员 PHP Python
Python3 简介
【10月更文挑战第8天】Python3 简介。
47 4
|
3月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
85 3
|
4月前
|
数据采集 算法 数据处理
Python中的列表推导式:简介与应用
【9月更文挑战第14天】本文旨在介绍Python中一种强大且简洁的构造列表的方法——列表推导式。我们将从基础语法入手,通过实例演示其用法,并探讨在数据处理和算法优化中的应用价值。文章将不包含代码示例,而是专注于概念理解和应用场景的描述,以促进读者对列表推导式的深入认识。
119 3
|
4月前
|
JavaScript Java C语言
Python简介
Python简介。
23 4
|
6月前
|
开发者 Python
Python函数与模块使用方法
【7月更文挑战第24天】Python 是一种功能强大的编程语言,拥有丰富的函数和模块,使得开发者能够轻松地构建复杂的应用程序。本文将介绍 Python 中函数和模块的基本使用方法,并提供一些代码实例。
59 3
|
6月前
|
数据采集 Java C语言
Python:Python简介
Python是一种高级动态编程语言,以其简洁语法和丰富的库闻名。它免费开源,支持面向对象编程,自动内存管理,并可在多种平台运行。选择Python的原因包括易学性、移植性及解释性。Python广泛应用于爬虫、Web开发、科学计算等多个领域。学习路线包括基础语法、数据结构、函数、面向对象编程及特定领域的库学习。
69 1
Python:Python简介
|
6月前
|
数据采集 Java C语言
Python面向对象的高级动态可解释型脚本语言简介
Python是一种面向对象的高级动态可解释型脚本语言。
55 3