自從uni天以來,我非常生疏地使用sql和python。如何使用mysql.connector傳輸結果
我不知道如何逐行讀取查詢結果而不是fetchall?
這裏是我目前的測試代碼:
#!/usr/bin/python
import time
import csv
import mysql.connector
start_time = time.time()
cnx = mysql.connector.connect(user='user', password='1234',
host='10.0.10.100',
database='serverDB')
try:
cursor = cnx.cursor()
cursor.execute("select * from serverDB.task")
result = cursor.fetchall()
with open("query.csv", "wb") as csv_file:
csv_writer = csv.writer(csv_file)
csv_writer.writerow([i[0] for i in cursor.description]) # write headers
csv_writer.writerows(result)
for x, row in enumerate(result):
print x
print row
#print result
finally:
cnx.close()
print "there are ", numrows, "rows"
print("--- %s seconds ---" % (time.time() - start_time))
爲什麼你想一行一行讀取查詢結果?如果你需要在使用前對每一行進行一些計算,你可以將它們讀入一個「列表」中,這樣你就可以操作每一行。 – Acepcs
@Acepcs erm說我有1.5億條記錄,列表如何處理大量的記錄? – Desmond
@ ling7334這是篩選 – Desmond