CSVからMySQL v5に新しいテーブルをインポートする最も簡単な方法は何ですか?

StackOverflow https://stackoverflow.com/questions/156994

  •  03-07-2019
  •  | 
  •  

質問

ローカルネットワーク上のLinuxサーバーでMySQL 5を実行しています。デスクトップでWindows XPを実行しています。 MySQL GUIツールを見ていたが、助けにはならないと思う。リモートサーバーにApacheをインストールできません& PHPmyAdminのようなものを使用します。

役に立ちましたか?

解決

無料のCommunity Editionがあり、インポートするオプションがあるWindowsシステムで SQLyog を使用していますCSV。

自分でこのオプションを使用したことはないので、どれほど良いかはわかりません。ただし、SQLyogは、私がこれまで使用してきた他のすべてのことに優れています。

他のヒント

ルックイン@ロードデータインファイル: http:/ /dev.mysql.com/doc/refman/5.0/en/load-data.html

MySQLシェルまたはクエリブラウザから...

CSVにヘッダーがない場合:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;

CSVにヘッダーがある場合:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;

スプレッドシートエディタを使用して、一連のSQLステートメントを作成します。新しい列を先頭に追加し、 insert to tablename values( 'に追加します。他の列を追加して、' '、' のようなコードでデータを分離します。で終了します。 ''); 。自動入力機能を使用して、これらのセルを必要な数の行にドラッグします。シート全体をプレーンテキストエディターにコピーし、余分なタブを削除して、挿入ステートメントの簡単なセットを残します。

これは、任意のデータベースシステムおよび任意のスプレッドシートファイル形式に使用できるソリューションです。さらに、他のデータベースなどのソースからスプレッドシートを作成したり、Webページからコピーして貼り付けたりするのも簡単です。また、Excel、OpenOffice、またはGoogleドキュメントを使用して、デスクトップマシンから非常に高速で利用できます。

Excel および OpenOffice のバージョン。

LOAD DATA INFILE を使用してこれを実行しましたが、ガレスの例ほど単純ではないことに注意する価値があります(カイはドキュメント)。カンマ区切り値を正しくインポートするために、これを使用しました:

LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

これは、各フィールドを引用符で囲み、上部に単一のヘッダー行があるCSVファイルを想定しています。 (デフォルトである必要があるため、 LINES TERMINATED BY はおそらく必要ありませんが、明示的にすることをお勧めします。)

Toadアプリケーションは驚くほど機能し、フリーウェアです。適切なCSVファイルがある場合、テーブルが作成され、すべてのデータがインポートされます。

CSVを解析してテーブルに挿入する単純なPythonスクリプトを作成します。

csv および mysqldb モジュールをご覧ください。

商用ソフトウェアを少し使用してもかまわない場合は、Navicat( http://mysql.navicat.com / )は非常に便利なソフトウェアで、Mac、Windows、Linuxで利用できます。大規模なCSVファイルをデータベースにインポートするために定期的に使用しています。

Toad for MySQL はこれをうまく行い、インポートをかなり制御します(選択的に一致する列たとえば)最も永続的なのは無料です。

SQLYogも使用しましたが、コミュニティエディションではファイルからのインポートが利用できないため、このための商用バージョンが必要です。

Toadは、すべての主要なデータベースのバージョンに付属する優れたソフトウェアであり、過去にもMSSQLとOracleの両方のバージョンを使用しました。推奨。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top