使用mysql-connector-python从mysql选择数据 - python

我有一个通过MAMP管理的mysql数据库(使用端口3306,服务器位于端口80上)。我已经从Oracle下载并安装了mysql-connector-python库,并且正在尝试访问和操作数据库。奇怪的是,按照http://dev.mysql.com/doc/connector-python/en/connector-python-tutorial-cursorbuffered.html上的教程,我能够运行查询以将新记录插入到特定表中(只要在连接器上发出.commit()方法)。

但是,我似乎无法通过简单的select命令检索任何数据。因此,查询“从Assignments选择*”将返回None。

query = ('''SELECT title,description FROM  `Assignments` LIMIT 0 , 30''')

cursor = cnx.cursor()
result = cursor.execute(query)
print "result:",result

#All assignment info
for (title, description) in results:
    print title, description

我不断收到错误消息,“ TypeError:'NoneType'对象不可迭代”。我认为这与以下事实有关:已执行查询的结果为“无”。 B / c我能够提交更新并向数据库插入更改,我知道我的连接很好。为什么我不能运行简单的SELECT命令并得到一些东西?

python大神给出的解决方案

您应该使用MySQLCursor.fetchall方法获取结果。

cursor.execute(query)
rows = cursor.fetchall()

要么

cursor.execute(query)
head_rows = cursor.fetchmany(size=2)
remaining_rows = cursor.fetchall()