首页 >数据库 >mysql教程 >如何成功地将包含多行文本字段的 CSV 导入 MySQL?

如何成功地将包含多行文本字段的 CSV 导入 MySQL?

Barbara Streisand
Barbara Streisand原创
2025-01-02 19:35:39443浏览

How Can I Successfully Import a CSV with Multi-Line Text Fields into MySQL?

将 CSV 文件导入 MySQL 表

将 CSV 文件加载到 MySQL 表可能是一项简单的任务,但有时会遇到复杂的情况,因为格式问题。当 CSV 文件的某些字段中包含多行文本时,就会出现这样的问题。

在所呈现的场景中,用户创建了一个 MySQL 表,其中为 CSV 文件中的每个字段包含相应的列,包括 VARCHAR( 256) 文本简介字段。但是,当尝试使用 LOAD DATA INFILE 语句加载数据时,整个表都被 NULL 值填充。

根本问题源于 MySQL 将新行解析为行分隔符的默认行为。为了解决此问题,用户在 LOAD DATA 语句中指定了其他参数,包括:

  • COLUMNS TERMINATED BY ',':列的分隔符
  • 可选地用 '"' 括起来:文本分隔符fields
  • ESCAPED BY '"':文本字段中引号的转义字符
  • LINES TERMINATED BY 'n':行分隔符
  • 忽略 1 LINES:跳过标题行

虽然此方法允许用户加载正确数量的记录,但某些数据仍保持错误的顺序。为了解决这个问题,用户探索了导入 CSV 文件的替代方法。

一种推荐的方法涉及使用 mysqlimport 工具:

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv

该工具允许指定与 LOAD 类似的各种参数DATA 语句,包括行和字段分隔符。通过使用 mysqlimport,用户可以确保数据以正确的格式和顺序加载。

以上是如何成功地将包含多行文本字段的 CSV 导入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn