web-dev-qa-db-ja.com

コマンドプロンプト(MySQL 5.6.25)を使用してCSVをmysqlテーブルにインポートする

次のコマンドを使用して、mysqlデータベースにCSVをロードしようとしています。

LOAD DATA LOCAL INFILE '\Users\userName\Downloads\tableName.csv' 
INTO TABLE tableName 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'

しかし、私はこのエラーを受け取ります:

ERROR 2 <HY000>: File 'UsersuserNameDownloadstableName.csv' not found <Errocode: 2 - No such file or directory>

コマンドでmysqlにログオンします(ここで説明します MySQL import csv file ERROR 13(HY000):Ca n't get stat of /path/file.csv(Errcode:2) ):

mysql -u root -p --local-infile

上記のリンクで説明されていることを実行して、別のMySQLサーバー(Ubuntuを実行している別のマシン)にCSVをインポートすることができました。ただし、同じプロセスが、コマンドプロンプトを使用するWindowsマシン上の別のMySQL Serverインスタンスに対して機能していないようです。

3
TCulos

これは私たちが扱っているWindowsなので、二重のバックスラッシュを使用します

LOAD DATA LOCAL INFILE 'C:\\Users\\userName\\Downloads\\tableName.csv' 
INTO TABLE tableName 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'

またはフォワードスラッシュ

LOAD DATA LOCAL INFILE 'C:/Users/userName/Downloads/tableName.csv' 
INTO TABLE tableName 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'

LOAD DATA INFILEのMySQLドキュメントにそのように記載されています

ファイル名はリテラル文字列として指定する必要があります。 Windowsでは、パス名にバックスラッシュをフォワードスラッシュまたは二重のバックスラッシュとして指定します。 character_set_filesystemシステム変数は、ファイル名の解釈を制御します。

2
RolandoMySQLDBA