mysql - 通过 shell 脚本使用 Ubuntu 终端将 CSV 插入 MySQL

标签 mysql shell ubuntu csv

是否可以在 Ubuntu 中使用 shell 脚本将 CSV 文件插入 MySQL?

这是我尝试过的:

mysql -uroot -proot mysfdb < /home/sf/data.csv

但是报错

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

这是 CSV 文件中的示例内容:

showinventory_SST312V8N4615041313_1366009574txt_,800-200002.A0,00007985

有什么想法吗?

最佳答案

Maksym Polshcha 的回答是正确的,但只遗漏了几件事。显然,因为它是本地文件,所以我必须在 mysql 命令中将其声明为本地文件。最后的命令应该是这样的:

 mysql -uroot -proot --local_infile=1 3parsfdb -e "LOAD DATA LOCAL INFILE '/logfiles/Bat_res.csv' INTO TABLE Bat_res FIELDS TERMINATED BY ','"

我还确保 /logfiles 目录和 Bat_res.csv 是世界可读的。

感谢您的精彩回答。

关于mysql - 通过 shell 脚本使用 Ubuntu 终端将 CSV 插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011143/

相关文章:

java - Spring + Hibernate加载大量记录

mysql - 对文本字段中的值进行分组和计数

mysql - 如何在MySql存储过程的一个select语句中选择多个avg(列)?

mysql - 插入自动增量值

ios - Shell脚本调用错误命令/bin/sh失败,在Xcode 9中退出代码为1

python - Healpy python-3..4 在 ubuntu-14.04 上的安装问题

java - 从 java 在终端中运行脚本

java - 停止在 ssh 中运行的 java 文件

android - 无法加载库 :/usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt. 所以

c - linux设置串口中断