在MySQL中加载多个.txt文件

时间:2017-02-16 13:30:31

标签: mysql

我有1000个.txt文件,我想放在同一个SQL表中。所有这些文件具有完全相同的信息:我使用的DMP每小时创建一个新的.txt文件...每个创建的新文件都有一个"标题"我的想法是,我只想在最后有1个标题。这就是我在1000小时后在目录文件夹中找到的内容,例如:

nameoffile1.txt
nameoffile2.txt
nameoffile3.txt
...
nameoffile1000.txt

如何在不必写1000次的情况下将此文件插入表格中:

LOAD DATA LOCAL INFILE 'Users/xxxx/Desktop/Folder/nameoffile1.txt'
LOAD DATA LOCAL INFILE 'Users/xxxx/Desktop/Folder/nameoffile2.txt'

...并且最后只保留1个标题?

非常感谢你的帮助:))

NB1:我已经调查了以前的主题,但我找不到Mysql的答案。
NB2:我知道如何使用终端,但我想知道如何通过Mysql做到这一点。

1 个答案:

答案 0 :(得分:0)

如果您的所有文本文件都具有相同的格式。首先在您的数据库上创建一个合适的表,然后创建一个upload.bat文件,将它和所有文本文件放在C:/ import(或C:驱动器中没有空格的任何文件夹名称)中。所有文本文件的名称也不应该有空格。

echo off
setlocal enabledelayedexpansion

FOR %%f IN ("*.csv") DO (
  set old=%%~dpnxf
  set new=!old:\=\\!
  "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -e "load data local infile '"!new!"' IGNORE into table YOUR_TABLE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"""' LINES TERMINATED BY '\n' IGNORE 1 ROWS " -h 127.0.0.1 -u USERNAME -pPASSWORD YOUR_SCHEMA
  echo UPLOAD %%~nxf DONE
)

pause

然后尝试运行这个bat文件