首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能在python中获取sql语句?

为什么我不能在python中获取sql语句?
EN

Stack Overflow用户
提问于 2010-09-23 21:39:04
回答 3查看 284关注 0票数 0

我有一个非常大的表(374870行),当我运行下面的代码时,时间戳只是一个值为374870的长整型。我希望能够抓取表中的所有时间戳...但是我得到的是一个很长的int :S

代码语言:javascript
运行
复制
import MySQLdb

db = MySQLdb.connect(
                host    = "Some Host",
                user    = "SOME USER",
                passwd  = "SOME PASS",
                db      = "SOME DB",
                port    = 3306

        )

sql = "SELECT `timestamp` from `table`"

timestamps = db.cursor().execute(sql)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-23 21:42:32

试试这个:

代码语言:javascript
运行
复制
cur = db.cursor()
cur.execute(sql)
timestamps = []
for rec in cur:
    timestamps.append(rec[0])
票数 2
EN

Stack Overflow用户

发布于 2010-09-23 21:42:44

您需要在游标上调用fetchmany()来提取多行,或者在循环中调用fetchone(),直到它返回None

票数 1
EN

Stack Overflow用户

发布于 2010-09-23 22:14:02

考虑这样一种可能性:您得到的不是很长的整数就是查询结果中的行数。

考虑读取文档(PEP 249) ... (1)没有定义来自cursor.execute()的返回值;您所看到的是特定于您的数据库的,出于可移植性的考虑,不应该依赖它。(2)您需要在游标上执行results = cursor.fetch{one|many|all}()或迭代... for row in cursor: do_something(row)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3778935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档