下文中demo,通过fetchone,fetchmany,fetchall获取sql执行的结果
可以通过测试发现
fetchone()是获取1条记录
fetchmany()如果没有参数,默认获取1条记录,如果有参数,例如fetchmany(n)则是获取n条记录
fetchall()则是获取所有记录
注:
在执行这3个语句时,如果sql的总记录为5条
那么顺序执行fetchone(), fetchmany(2), fetchall(), 那么各语句分别获取到1,2,2条记录。因为各语句是在游标发生位移后获取的。
#!/bin/bash # -*- coding: utf-8 -*- import MySQLdb TEST_HOST='10.111.37.198' TEST_PORT=3306 TEST_USER='lr' TEST_PASSWORD='LIUrong123@' def con_mysql(cmd): con = MySQLdb.connect(host=TEST_HOST, port=TEST_PORT, user=TEST_USER, passwd=TEST_PASSWORD, charset='utf8') cur = con.cursor() cur.execute(cmd) data = cur.fetchone() data_many = cur.fetchmany(2) data_all = cur.fetchall() print data print data_many print data_all con.close if __name__ == '__main__': print 'begin mysql test:' con_mysql('show databases;')