将 CSV 文件导入 MySQL 表
问题:无法将数据从 CSV 文件正确加载到 MySQL表格存在缺失或未对齐等问题
分析:
使用 LOAD DATA INFILE 的原始方法由于跨多行的文本简介解析不正确以及缺乏正确的分隔符规范而出现错误。
解决方案 1(使用 LOAD DATA INFILE):
为了解决这些问题,LOAD DATA INFILE 语句已修改为包含以下参数:
- COLUMNS TERMINATED BY ',':指定列分隔符作为逗号。
- 可选地用 '"' 括起来:表示文本字段可以用双引号括起来。
- ESCAPED BY '"':指定文本字段中的双引号被转义。
- LINES TERMINATED BY 'n':表示行终止通过换行符。
- IGNORE 1 LINES:忽略 CSV 文件的第一行,通常包含列名称。
这纠正了解析问题,但数据仍然未对齐。
解决方案 2(使用 mysqlimport):
将 CSV 文件导入 MySQL 的一种更有效、更可靠的方法是使用 mysqlimport 实用程序。它提供了额外的选项来指定分隔符和其他导入参数。
要使用 mysqlimport:
-
创建数据库和表:创建数据库和表到您想要导入 CSV 数据。
-
使用命令:执行以下命令命令,替换 ;和与您的特定数据库和表名称:
1 2 3 4 5 | mysqlimport --ignore-lines=1 \
--fields-terminated-by=, \
--local -u root \
-p Database \
TableName.csv
|
登录后复制
- --ignore-lines=1:忽略 CSV 文件的第一行,通常包含列名称。
- --fields-termerated-by=,: 指定列分隔符为逗号。
- --local:表示数据位于本地主机上。
- -u root:指定 MySQL 用户(在本例中为“root”)。
- -p:提示输入 MySQL 密码。
此方法提供了一种更精确、更高效的方式将 CSV 数据导入 MySQL 表。
以上是如何高效地将CSV数据导入MySQL表,同时处理数据错位和解析错误?的详细内容。更多信息请关注PHP中文网其他相关文章!