【发布时间】:2012-08-05 18:11:55
【问题描述】:
我有一个大型 MySQL 表(8-9k 记录,我正在使用 phpMyAdmin),其中一些值是描述,带有逗号。
我需要将 SQL 表导出为 CSV 格式以在新平台上使用,但我无法终生解决此问题:
当某些字段中有逗号时,数据会被推到下一列,事情就会变得混乱。
我只需要 MySQL 中的 EXACT 表即可成为 CSV。有什么建议和想法吗?
谢谢。
【问题讨论】:
我有一个大型 MySQL 表(8-9k 记录,我正在使用 phpMyAdmin),其中一些值是描述,带有逗号。
我需要将 SQL 表导出为 CSV 格式以在新平台上使用,但我无法终生解决此问题:
当某些字段中有逗号时,数据会被推到下一列,事情就会变得混乱。
我只需要 MySQL 中的 EXACT 表即可成为 CSV。有什么建议和想法吗?
谢谢。
【问题讨论】:
使用这个查询:
SELECT * INTO OUTFILE 'filename.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM [tablename]
【讨论】:
FROM `tablename`
只需转到数据库的导出选项卡。请务必将您的字段括起来。这样会将值包含在 " 中以避免错误的逗号。
否则,您可以在命令行中使用mysqldump。
或者您可以使用查询导出数据:
SELECT *
FROM table
INTO OUTFILE '/tmp/table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
【讨论】:
我的解决方案是从 MySQL 导出为 .xlsx。列完美呈现。使用几个组合的封闭/转义字符无济于事。
然后我将 .xlsx 保存为 .csv,这很好。
感谢你们的时间。
【讨论】: