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')
答案 0 :(得分:3)
您不能以这种方式简单地打印curs.execute(...)
的结果。您应该使用游标对象的fetchone(...)
或fetchmany(...)
或fetchall(...)
方法来检索其结果。
此外,正如API documentation指出的那样,迭代光标相当于重复调用fetchone()
。因此,您的脚本可能会结束:
curs.execute('SELECT * from test.pic')
for row in curs:
print(row)