いくつかのLOAD DATA INFILE
ステートメントを記述せずに、すべてのcsvファイルをMySQLに挿入する方法を探しています。
挿入する必要があるcsvファイルがたくさんあり、ファイル自体が非常に大きい。
*.csv
を試しましたが、うまくいきません。
これらの以前の回答を参照してください:
https://stackoverflow.com/questions/8538995/how-to-import-multiple-csv-files-into-a-mysql-database
https://stackoverflow.com/questions/6552042/mysql-loading-multiple-files-into-a-table
基本的にはありません。しかし、これをスクリプト化して同様の結果を得るのは簡単です(たとえば、ループを使用して複数のファイルをインポートする1つのコマンド)。
作者が最初に質問に残したCW回答
私は機能するスクリプトを書きました:
for f in /var/lib/mysql/[insert name of database here]/*.csv
do
mysql -e "LOAD DATA INFILE '"$f"' INTO TABLE [nameoftable]
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES"
-u [username] --password= [password] [name of database]
echo "Done: '"$f"' at $(date)"
done