相关疑难解决方法(0)

MySQL:从查询中获取列名或别名

我不是要求SHOW COLUMNS命令.

我想创建一个与heidisql类似的应用程序,您可以在其中指定SQL查询,并在执行时返回包含表示查询结果的行和列的结果集.结果集中的列名称应与SQL查询中定义的所选列相匹配.

在我的Python程序(使用MySQLdb)中,我的查询只返回行和列结果,但不返回列名.在下面的例子中,列名应为ext,totalsizefilecount.SQL最终将来自程序外部.

我能想到的唯一方法就是编写自己的SQL解析器逻辑来提取选定的列名.

有没有一种简单的方法来获取提供的SQL的列名?接下来我需要知道查询返回了多少列?

# Python

import MySQLdb

#===================================================================
# connect to mysql
#===================================================================

try:
    db = MySQLdb.connect(host="myhost", user="myuser", passwd="mypass",db="mydb")
except MySQLdb.Error, e:
    print "Error %d: %s" % (e.args[0], e.args[1])
    sys.exit (1)

#===================================================================
# query select from table
#===================================================================

cursor = db.cursor ()   

cursor.execute ("""\
     select ext,
        sum(size) as totalsize,
        count(*) as filecount
     from fileindex
    group by ext
    order by totalsize desc;
""")

while (1):
    row = cursor.fetchone …
Run Code Online (Sandbox Code Playgroud)

python mysql mysql-python

58
推荐指数
7
解决办法
9万
查看次数

标签 统计

mysql ×1

mysql-python ×1

python ×1