CSVファイルがあります。そこには140万行のデータが含まれているため、そのCSVファイルは約100万行であるため、ExcelでそのCSVファイルを開くことができません。
したがって、このファイルをMySQLワークベンチにインポートしたいと思います。このcsvファイルには次のような列が含まれています
"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
次のような列を含む「ダミー」という名前のテーブルをMySQLワークベンチに作成しようとしています
ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
CSVファイルの名前はmodel.csv
です。ワークベンチでの私のコードは次のようなものです。
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
しかし、私はmodel.CSV file not found
のようなエラーが発生しています
ENCLOSED BY句がないと思います
LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv'
INTO TABLE test.dummy FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
そして、csvファイルのフルパスを指定します
データセットが小さい場合、GUIでそれを実現する方法は次のとおりです。
SCHEMASのナビゲーターで、スキーマ/データベースを右クリックし、「テーブルデータインポートウィザード」を選択します
Macでも動作します。
現時点では、すべてのプラットフォームで(MySQL Workbenchを使用して)CSVをインポートすることはできません。また、このファイルがMySQLサーバーホストと同じホストにない場合はお勧めしません。
ただし、 mysqlimport を使用できます。
例:
mysqlimport --local --compress --user=username --password --Host=hostname \
--fields-terminated-by=',' Acme sales.part_*
この例では、mysqlimport
は、「part_」で始まる拡張子を持つ「sales」という名前のすべてのファイルをロードするように指示されています。これは、「分割」の例で作成されたすべてのファイルをロードする便利な方法です。 --compressオプションを使用して、ネットワークトラフィックを最小化します。 --fields-terminated-by = '、'オプションはCSVファイルに使用され、-localオプションは着信データがクライアントにあることを指定します。 --localオプションを使用しない場合、MySQLはデータベースホスト上のデータを検索するため、常に--localオプションを指定します。
AWS RDSドキュメンテーション に主題に関する有用な情報があります。
サーバーがリモートマシンにある場合は、ローカルマシンではなく、リモートマシンにファイルがあることを確認してください。
ファイルがmysqlサーバーと同じマシンにある場合は、mysqlユーザーにファイルの読み取り/書き込み権限があることを確認するか、mysqlスキーマディレクトリにファイルをコピーします。
私の場合、ubuntuでは/var/lib/mysql/db_myschema/myfile.csvでした
また、この問題とは関係ありませんが、新しい行に問題がある場合は、sublimeTEXTを使用して行末をWINDOWS形式に変更し、ファイルを保存して再試行してください。
それは本当に長い間私を悩ませていたので、少し注意が必要です。
テーブルを開くだけで([行の選択-制限10000]を右クリック)、新しいウィンドウが開きます。この新しいウィンドウには、「インポートアイコン」があります。
MySQLを使用できます テーブルデータインポートウィザード