ローカルネットワーク上のLinuxサーバーでMySQL5を実行しています。デスクトップでWindowsXPを実行しています。MySQL GUIツールを見てみましたが、役に立たないと思います。リモートサーバーにApacheをインストールできず、PHPmyAdminのようなものを使用できません。
9 に答える
@ load data infile を見てください: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;
無料のCommunityEditionがあり、CSVからインポートするオプションがあるWindowsシステムでSQLyogを使用しています。
私はこのオプションを自分で使用したことがないので、それがどれほど優れているかはわかりません。ただし、SQLyogは、私が使用した他のすべての点で優れています。
Toadアプリケーションは驚異的に機能し、フリーウェアです。適切なCSVファイルがある場合は、テーブルが作成され、すべてのデータがインポートされます。
を使用してこれを実行しLOAD DATA INFILE
ましたが、Gareth の例ほど単純ではないことに注意してください (Kai は、ドキュメントを参照する必要があることはまったく正しいです)。コンマ区切りの値を正しくインポートするために、これを使用しました:
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
(はデフォルトである必要があるため、おそらく必要ありませんが、明示的に指定することをお勧めします。)
スプレッドシート エディタを使用して一連の SQL ステートメントを作成します。先頭に新しい列を置き、 を追加しinsert into tablename values('
ます。のようなコードでデータを区切るために他の列を追加します'','
。で終了し'');
ます。オートフィル機能を使用して、これらのセルを必要な数の行にドラッグします。シート全体をプレーン テキスト エディターにコピーし、余分なタブを削除して、単純な一連の挿入ステートメントを残します。
これは、あらゆるデータベース システムとあらゆるスプレッドシート ファイル形式に使用できるソリューションです。さらに、他のデータベースなどのソースからスプレッドシートに入力したり、Web ページからコピーして貼り付けたりすることも簡単です。また、非常に高速で、Excel、OpenOffice、または Google Docs を使用して、どのデスクトップ マシンからでも利用できます。
ExcelおよびOpenOfficeバージョンのサンプル スプレッドシートを参照してください。
CSVを解析してテーブルに挿入する簡単なPythonスクリプトを記述します。
csvおよびmysqldbモジュールを見てください。
少しの商用ソフトウェアを使用してもかまわない場合、Navicat ( http://mysql.navicat.com/ ) は非常に便利なソフトウェアであり、Mac、Windows、Linux で利用できます。大きな CSV ファイルをデータベースにインポートするために定期的に使用しています。
Toad for MySQLは、インポートをかなり制御して (たとえば、選択的に列を照合する)、これをうまく行います。
私は SQLYog も使用しましたが、ファイルからのインポートはコミュニティ エディションでは利用できないため、これには商用バージョンが必要です。
Toad は、すべての主要なデータベース用のバージョンが用意されている優れたソフトウェアであり、私も過去に MSSQL と Oracle の両方のバージョンを使用しました。おすすめされた。