下文中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;')
