有没有一种方法可以使用列名而不是Python中的列索引来检索SQL结果列值?我正在将Python
3与mySQL一起使用。我正在寻找的语法非常类似于Java构造:
Object id = rs.get("CUSTOMER_ID");
我的表有很多列,要不断为需要访问的每一列编制索引确实是很痛苦的。此外,索引使我的代码难以阅读。
谢谢!
该MySQLdb的模块具有DictCursor:
像这样使用它(摘自使用Python DB-
API编写MySQL脚本
):
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
。
问题内容: 我有几个要查询的带有复合主键的sql视图,由于Hibernate使得使用复合键很麻烦,因此我正在使用。问题在于此方法只能返回一个List,而我需要通过其索引来引用列。 我有什么机会可以做类似jdbc的事情,并通过其sql名称而不是其索引来引用这些列? 问题答案: 从代码中可以看出,列表包含代表每一行的Map对象。每个Map对象将具有列名作为键,并将值作为值。 注意:这适用于SQLQue
问题内容: 我的数据库中有两个表: NEWS表的列: -新闻ID -作者的用户ID) 带有列的USERS表: -用户ID 我要执行此SQL: 当我在PHP中获得结果时,我想获取关联数组并通过获取列名。如何获得具有相同列名的新闻ID和用户ID? 问题答案: 您可以为所选的列设置别名:
问题内容: 我的数据库中有两个表: NEWS表格的栏: -新闻ID -作者的用户ID) 带有列的USERS表: -用户ID 我要执行此SQL: 当我在PHP中获得结果时,我想获取关联数组并通过获取列名。如何获得具有相同列名的新闻ID和用户ID? 问题答案: 您可以为所选的列设置别名:
问题内容: 我在Python列表中有一堆列名。现在,我需要将该列表用作语句中的列名称。我怎样才能做到这一点? 到目前为止,我有: 问题答案: 您无法传递要选择作为参数的列列表。它应该是您的SQL表达式的一部分,例如: 要注意的一件事是,SQL中参数值的占位符取决于数据库。如果不起作用,请尝试使用或。有关更多详细信息,请参见https://www.python.org/dev/peps/pep-02
问题内容: 我有一列datetime类型,我只想从中检索日期。反正有这样做吗? 以前它是一个纪元值,我将其转换为datetime。 这是一个示例结果: 我尝试了以下命令,但结果为负/零 问题答案: 您可以使用DATE函数。 例子 您只能通过strftime获得一天,
我试图检索xml值从一列数据存储在xml格式使用下面的查询在OracleSQLDeveloper.但是得到这个错误: ORA-00932:不一致的数据类型:应为-got-00932。00000-“不一致的数据类型:应为%s获得%s”*原因: 列的数据类型为CLOB 如: