用于将 csv 文件导入 MySQL 数据库的 HeidiSQL 脚本
HeidiSQL script for importing csv files to MySQL database
我有一台 Linux OS 机器,我在想是否有一个选项可以每隔 x 分钟将新文件导入我的数据库 (MySQL)。
我的意思是,我每隔 x 分钟就会在一个目录中收到新文件,而且我知道使用 HeidiSQL 我可以手动导入 CSV 文件。但是,我希望它是自动的并且定期在我的 Linux 机器中使用 scrpit。想着用cron重复做动作,只是不知道有没有导入文件到HeidiSQL的命令。
我试图在 Heidi 网页中找到它,但似乎没有关于 it.I 的信息,我也愿意接受其他建议。
谢谢。
首先,您不能将文件导入HeidiSQL。相反,您想将 CSV 文件导入 MySQL/MariaDB 服务器。 HeidiSQL 是这些服务器的客户端。
那么,HeidiSQL 不能做太多预定的事情,因为它是一个图形客户端,因此只提供很少的命令行参数,即 documented。
但您可以使用 mysql(Windows 上的 .exe)命令行程序来执行此操作。举个例子:
path/to/mysql -hlocalhost -uroot -pwhatever --database=yourdb --execute="LOAD DATA LOCAL INFILE 'path/to/your/file.csv' INTO TABLE `foo` CHARACTER SET utf8 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (`fooid`, `foosubid`, `fooname`)"
我有一台 Linux OS 机器,我在想是否有一个选项可以每隔 x 分钟将新文件导入我的数据库 (MySQL)。
我的意思是,我每隔 x 分钟就会在一个目录中收到新文件,而且我知道使用 HeidiSQL 我可以手动导入 CSV 文件。但是,我希望它是自动的并且定期在我的 Linux 机器中使用 scrpit。想着用cron重复做动作,只是不知道有没有导入文件到HeidiSQL的命令。
我试图在 Heidi 网页中找到它,但似乎没有关于 it.I 的信息,我也愿意接受其他建议。
谢谢。
首先,您不能将文件导入HeidiSQL。相反,您想将 CSV 文件导入 MySQL/MariaDB 服务器。 HeidiSQL 是这些服务器的客户端。
那么,HeidiSQL 不能做太多预定的事情,因为它是一个图形客户端,因此只提供很少的命令行参数,即 documented。
但您可以使用 mysql(Windows 上的 .exe)命令行程序来执行此操作。举个例子:
path/to/mysql -hlocalhost -uroot -pwhatever --database=yourdb --execute="LOAD DATA LOCAL INFILE 'path/to/your/file.csv' INTO TABLE `foo` CHARACTER SET utf8 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (`fooid`, `foosubid`, `fooname`)"