python - 如何在 Python 中使用列名检索 SQL 结果列值?

有没有办法在 Python 中使用列名而不是列索引来检索 SQL 结果列值?我将 Python 3 与 mySQL 一起使用。我正在寻找的语法很像 Java 构造:

Object id = rs.get("CUSTOMER_ID"); 

我有一个包含相当多列的表,不断地为我需要访问的每一列计算索引真的很痛苦。此外,索引使我的代码难以阅读。

谢谢!

最佳答案

MySQLdb模块有一个 DictCursor :

像这样使用它(取自 Writing MySQL Scripts with Python DB-API):

cursor = conn.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT name, category FROM animal")
result_set = cursor.fetchall()
for row in result_set:
    print "%s, %s" % (row["name"], row["category"])

编辑: 根据 user1305650,这适用于 pymysql也是。

https://stackoverflow.com/questions/10195139/

相关文章:

mysql - 获取最后一组不同的记录

mysql - 在 MySQL 中创建表变量

php - 在 MySQL 中找不到 outfile 创建的文件

mysql - 如何使用 MySQL GUI 工具使字段为 NULL?

mysql - 从 MYSQL 查询中计算列的平均值

mysql - 如何在 MySQL 中调度存储过程

mysql - 如何从 windows 命令提示符连接到 mysql 命令行

sql - MySQL为每一行自动存储日期时间

java - Hibernate JPA、MySQL 和 TinyInt(1) 用于 boolean

mysql - 将 MySQL SELECT 中的日期格式化为 ISO 8601