2017-02-16 5 views
0

同じSQLテーブルに入れたい1,000の.txtファイルがあります。これらのファイルはまったく同じ情報を持っています:私が使用するDMPは1時間ごとに新しい.txtファイルを作成します...作成される新しいファイルはそれぞれ「ヘッダ」を持ち、アイデアは最後に1つのヘッダ。だから、これは私が例えば1000時間後に私のディレクトリフォルダで見つけるものです:複数の.txtファイルをMySQLでロード

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

どのように私は千回記述することなく、私の表に、このファイルを挿入することができます

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

すべてのテキストファイルの形式が同じ場合。最初にデータベースに適切なテーブルを作成し、次に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ファイル

を実行してみてください
関連する問題