如何使用fetchmany将mysql表转储到csv中

时间:2019-01-01 13:39:51

标签: python mysql

我有一个很大的mysql表,我想使用python将其导出到csv文件。但是,当我使用cursor.fetchall()时,笔记本电脑会挂起,而当我使用

"cpp": "cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"

循环不会停止,并且在csv文件中,相同的行被多次写入。如何一点一点地将mysql表移动到csv?谢谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您正在使用的while循环永远不会结束,因为没有任何中断条件。

  

请谨慎使用while循环。

您可以尝试以下代码(假设行是记录列表):

cursor.execute("select * from table_name")
rows = cursor.fetchall()
with open(table_name + ".csv", "a+") as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    for row in rows:
        writer.writerow(row)

答案 1 :(得分:0)

您可以执行此查询,以将任何表输出到驱动器上所需位置的.CSV文件中。

SELECT *
FROM tablename
INTO OUTFILE 'C:\data.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'