我目前正在使用下面的内容,它导入以逗号分隔的数据,没有列名称。
此外,表中的日期存在问题,因为它将所有日期列返回为“datetime.date(1925, 1, 24)”,而表中的实际日期类似于“1925-01” -24"。
import MySQLdb
conn = MySQLdb.connect(host = 'localhost', user = 'username', passwd = 'password', port = port, db = 'DBNAME')
cursor = conn.cursor()
query = """SELECT * FROM myschema.mytable;"""
cursor.execute(query)
FILE = cursor.fetchall()
with open('FILE.txt', 'w') as f:
for row in cursor:
f.write("%s\n" % str(row))
最佳答案
为什么要使用Python?
SELECT 'column name1', 'column name2'
UNION ALL
SELECT * FROM myschema.mytable INTO OUTFILE '/tmp/mytable.csv' FIELDS TERMINATED BY '|';
只需在 mysql 控制台中输入此内容即可。请注意,如果您在此查询中收到有关安全文件权限的错误,请执行以下操作
SHOW VARIABLES LIKE "secure_file_priv";
然后使用指定位置代替上一个查询中的“/tmp”。
关于python - 我需要使用 python 将 sql 表导出到管道分隔的文本文件中,包括列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116974/