我有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做到这一点。
答案 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文件