DB连接MySQL驱动程序/ API OurSQL for Python?

时间:2012-05-17 00:15:23

标签: python mysql

OurSQL是Python的MySQL驱动程序,更多here。我失败了连接,我怀疑端口或主机的问题 - 关于环境变量的更多细节here,我正在使用Ubuntu。

$ cat t.py 
import oursql
conn=oursql.connect(db='test', user='root', passwd='hello')
#, port=3306)
#, host='127.0.0.1')
conn=oursql.connect(db='test')
curs = conn.cursor(oursql.DictCursor)
curs = conn.cursor(try_plain_query=False)
a=curs.execute('SELECT * from test.pic')

print(a)
$ cat test.sql 
select * from test.pic;

$ python t.py |wc
      1       1       5    
$ mysql test < test.sql |wc
      9      78     610

WHY DIFFERENT LENGTHS??

THIS LINE WRONG (above)????
conn=oursql.connect(db='test', user='root', passwd='hello')

1 个答案:

答案 0 :(得分:3)

您不能以这种方式简单地打印curs.execute(...)的结果。您应该使用游标对象的fetchone(...)fetchmany(...)fetchall(...)方法来检索其结果。

此外,正如API documentation指出的那样,迭代光标相当于重复调用fetchone()。因此,您的脚本可能会结束:

curs.execute('SELECT * from test.pic')

for row in curs:
    print(row)