2010-11-23 5 views
1

CSVファイルがあります。私たちは慎重にチェックして、必要な形式でデータを表示しています。mySqlの準備のためのcsvを扱う最善の方法

このように、このcsvファイルは、500kb未満のサイズです。私はsql(txtとして保存されている)に変換しました。

元のCSVデータエントリは、このようなどの3つのフィールドである。

'STANLEY'、 '7331'、 'TAS'

'GORMANSTON'、 '7466'、 'TAS'

変換した後、そのようによう:郊外INTO

INSERT('Locality''Pcode''State')VALUES( '\' STANLEY \ ''、 '\' 7331 \ ''、 '\' TAS \ '');郊外INTO

INSERT('Locality''Pcode''State')VALUES( '\' GORMANSTON \ ''、 '\' 7466 \ ''、 '\' TAS \ '');

今、db officianadoではありません。私は知りたいと思います。私はそれを正しく変換しましたか? このコードをdbにインポートするためのクリーナーにする必要があります。

このファイルのsqlは16,000以上のエントリを持つので、正しく処理されていることを確認してください。

乾杯

+1

おそらく値の周りのデータベースにシングルクォートを挿入したくないでしょう。 –

+1

だから、誰もあなたに[LOAD DATA INFILE](http://dev.mysql.com/doc/refman/5.1/en/load-data.html)について語ったので、CSV経由でデータを読み込むことはできませんでしたか? –

+0

+1ポニーは私の口の中から正しい言葉を取り出して起動しました。 –

答えて

2

場所など)、それらがバックティック(非シフトチルド)であること、データ面(スタンリー)がシングルクォートであることを確認してください。

変更:

それ以外
INSERT INTO suburbs (`Locality`,`Pcode`,'State`) VALUES ('STANLEY','7331','TAS'); 

、私はそれと間違って何も表示されません。

+0

経由でMySQLでたくさんちょうどつもりplonkだったか、私が考えていたとして、 INSERT INTO郊外 値(産地、Pコード、州) 値(blah、blahblah、deeblah); – 422

+0

私の例が示すように、各行を独自の行にすることができます。あるいは、csvがテーブルと正確に一致する場合はLOAD DATA INFILEコマンドを使用できます。または、INSERT INTO郊外( 'a ( '1'、 '2'、 '3')、( '4'、 '5'、 '6')、( '7'、 '8'、 '9' ) "しかし、あなたが持っている多くのデータでは、INSERT行を1行で実行することはできませんが、いくつかの行を構築する必要がありますが、行ごとに100個まで挿入することができます。私はそれは行の長さと関係があると思う...あなたは行ごとに1行だけをやるほうがいいよ – superfro

+0

ありがとう、私は行ごとに1つするつもりだった、私の関心はバッファーだった。転送は一度に130kbです。だから、インポートする最良の方法では、私はちょうどphpmyadminにニップ、dbを作成し、インポートします..あなたが物理的にどのように大きな虫が私たちが物理的にインポートすることができます心配され、私はちょうど1000行時間と16の輸入を行う...それは意味がある場合 – 422

1

余分な単一引用符は、あなたの記録で終わるエスケープしませんが、あなたのSQLは、よさそうですか?私はあなたがあなたのレコードに「スタンリー」またはスタンリーを欲しいかどうか分からないので、それをあなたに任せます。

あなたの仕事の半分は完了しています。あなたはインサート戦略を持っていますが、ロールバック戦略もありますか?あなたが最初に取り除く気にならないくらいの数の行だけで、挿入を試みることを謙虚に示せば、これは大きなデータ移行のようです。変更が取り消され、エラーが取り消される準備ができていないか、または準備が整っていなければ、常に痛みが伴う。

+0

ええ、どこから来たのかわからないのは、私たちのCSVからマイグレーションに変換されたものだと思います。私はすべての単一の行に郊外。INSERT INTO必要です: – 422

2

エスケープされた引用符を除いて、きれいに見えます。私は通常、このテクニックをExcelファイルで使用します。私の列があるところで、適切な挿入文を生成するための式を作成します。あるいは、SSISのようなものを使ってデータをDBに取り込むこともできます。アダムさんのコメントが言ったことを、あなたが最も可能性が高い(あなたは「フィールド」側に、また\「STANLEY \」などで

をやっている、引用符を挿入するつもりはないと同じように

+0

おかげで、私はそうはphpmyadminの – 422

関連する問題