MySQL Workbenchのdbにロードする必要があるExcel/CSVファイルがたくさんあります(Mac OS Xを使用しています)。私は適切なウォークスルーまたはチュートリアルを探しましたが、CSVをMySQL Workbenchにロードする方法を明確に説明するものは何も見ていません。
mySQLテーブルにcsvファイルをロードしようとしていますか?これは、LOAD DATA LOCAL INFILE
コマンドを使用して簡単に実行できます。
例:
LOAD DATA LOCAL INFILE '/data.csv' INTO TABLE my_table FIELDS TERMINATED BY ','
MySQLへの任意のインターフェースからそのコマンドを入力できるはずです。ワークベンチにはSQLクエリを実行する方法があると思います。
参考までに、私はWindowsでこれを実行したいと思い、タスクを達成するために HeidiSQL を使用しました。それは非常に簡単でした、私はツール-> CSVファイルのインポートを使用し、最初の試みでうまくいきました。
それはワークベンチでなければなりませんか?
他のMySQLビンを使用できますか?
次に例を示します。データベースを作成します。
テーブルを作成
load data local infile '/path/whatever.csv' into table dbName.tableName fields terminated by ',' enclosed by '"' lines terminated by '\n';
または、Excelを使用して、ロードするファイルのリストを使用して多数のLOAD DATA INFILEステートメントを生成することもできます。
たとえば、次のことができます。
このような数式をB1セルに配置します。
= "LOAD DATA LOCAL INFILE 'path /"&A1& "' INTO TABLE tablename FIELDS TERMINATED BY '、' LINES TERMINATED BY '\ r\n';"
b1セルをコピーして、必要に応じてB列セルに貼り付けます。
したがって、ExcelのB列にLOAD DATAステートメンスがあり、それらをmysqlコマンドラインにコピーして貼り付けることができます。
たぶん、スクリプトのパワーユーザーにとってはあまり便利ではありませんが、MS Excelの強力なユーザーにとっては理にかなっています。
Numbers iWork 9)でExcelファイルを開き、CSVにエクスポートします。 'CSV with LOAD DATA'オプションを使用してMySQLにインポートすると正常に機能します。
これは私にとって入り組んでいましたが、これが私がしたことです:
PHPmyAdminをインストールしたので、,
を区切り、エスケープ文字として"
を使用してCSVにエクスポートしました。 PHPmyAdminは"
をエスケープとして処理できなかったため、""
のすべてのインスタンスを\"
で検索/置換し、機能しました。スエルテ!