MySQLのCSVファイルの利用について

このQ&Aのポイント
  • MySQLを利用してCSVファイルを管理する方法について質問です。15000行のデータをダウンロード、アップロードする時間は長いですか?
  • CSVファイルを各PCにダウンロードし、変更箇所を更新する方法について質問です。各PCにのみ変更を反映することは可能でしょうか?
  • MySQLとCSVファイルを組み合わせた管理方法についての質問です。他にオススメなデータベースはありますか?
回答を見る
  • ベストアンサー

MySQLのCSVファイルの利用について

MySQLについて質問させていただきます。 現在PC3台ほどで同じネットワーク内にてエクセルファイル共有にて商品在庫管理をしています。 大体15000レコードの30カラムほどのデータが数個あります。 今後別のネットワークからのアクセスやデータ量の増大も考え、 ちゃんとしたデータベースで管理したいなぁと考え始めました。 そこで質問なのですが仮にMySQLを利用するとして、 例えば毎日その在庫データをCSVファイルとしてローカルにダウンロードして各PCにて作業、 作業終了後丸々そのCSVをまたアップロードして変更箇所を更新。 1.回線速度にもよるとは思うのですが、一般的に この程度のデータをダウンロード、アップロードするのに 時間は結構かかってしまうものなのでしょうか? 2.また各PCにて作業、そのデータを各アップロードすると、 各PCにて変更した箇所のみうまい具合に反映することは可能でしょうか? 3.そもそもこのような使い方はありな感じでしょうか?? 4.このような使い方で他にオススメなデータベースなどございますでしょうか?? ちなみにそのデータを使用しての検索、更新作業などがかなり多く、 またデータを利用した様々なマクロを組んでいる為、 できればエクセルを使用したローカルでの作業がかなり望ましい状況です。 ちなみにデーターベースはまったくの素人です。 いけそうであればMySQLを勉強してみようかと思っています。 どなたかアドバイスいただければ嬉しいです。

  • MySQL
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1.まあ、推計で 20MB から 100 MB 未満といったところですよね。LAN内であれば、気にするほどでもないですが、WANを経由するとなると回線速度がどうなるかですね。地域によっては問題になるかと。 参考:100MB=800Mbを転送する時間 1 Mbps:800Mb / 1Mbps ≒ 800s ≒ 14min 0.5 Mbps:800Mb / 0.5Mbps ≒ 1600s ≒ 27min 128 Kbps:800000Kb / 128Kbps ≒ 6250s ≒ 105min ※さまざまな要因(テキトーな計算が原因)によって上記よりも遅くなる。 (最近は、ADSLなのに上り 5Mbps のプランもあるようですが、私は詳しくは知りません) 2.CSVファイルの設計によります。というか、Excelの側で変更した内容のみをCSV出力するようにし、それで一括更新した方がいいでしょう。 (たとえば、カラムの更新日などでマークする) 要は、更新ルールをきちんと決めることです。 3.ユーザ数が増えたら破綻します。 そもそも、大規模(多人数、同時実行(並列処理))でなければ、かなりいい加減でも、そこそこ満足できる結果は得られるのがExcelの良くも悪いところです。 ローカルPCでの作業というのは、メリットがあるのは分かりますよ。 でも、それでは、多人数が同時に作業を実行することはできません。(あるいは、非常に制約を受けます) 4.私には、あなたが求めているのはデータベースソフトではなくて、CSVを差分結合したり比較するソフトだと思います・・・。 たとえば、 1.前日までのCSVファイルとPC1,2,3それぞれの更新されたCSVファイルの差分を抽出する。 2.抽出された差分で更新が衝突したレコードを調整する。 3.前日までのCSVファイルに対して、抽出された差分の更新を適用する。 のようなことをしたいのですよね・・・。 >ちなみにそのデータを使用しての検索、更新作業などがかなり多く、 >またデータを利用した様々なマクロを組んでいる為、 >できればエクセルを使用したローカルでの作業がかなり望ましい状況です。 まあ、Excelは、レポート処理に限定して、ローカルでのデータの更新処理は避けた方が無難です。 >ちなみにデーターベースはまったくの素人です。 >いけそうであればMySQLを勉強してみようかと思っています。 Excel VBAが相当使えるのなら、いけると思います。(かんたんとは言いませんが)

poyon8989
質問者

お礼

的確なご回答ありがとうございます!差分結合についていろいろ調べてみたいと思います!いずれはECサイトとの在庫管理のリンクも考えていたためとりあえずMySQLにたどり着きましたが、もう少し幅広く検討してみたいと思います!!

関連するQ&A

  • MySQLにCSVファイルを入れる方法

    MySQLでデータベースを構築しています。CSVファイルにデータを構築していますがMySQLにインポートする方法が解りません。どうかおしえていただけませんでしょうか?

  • MySQLにEXCELやCSVなどでの一括登録

    レンタルサーバー上のMySQLにローカル上のEXCELで作成するデータを登録しようとしています。 過去ログ等を調べたのですが、自分で質問することにしました。 http://oshiete1.goo.ne.jp/qa1244588.html MySQLとPHPでwebに公開するサイトを作っています。 データベースはphpMyAdminより操作しています。 データ登録時なのですが、登録する項目(フィールド)と、件数(レコード)が多いので、 phpMyAdminだと一度に登録できるのが、2件とブラウザ上での作業になるので、 間違いや、確認等の効率がかなり悪くなります。 エクスポートでEXCELやXML、CSVなどがあるので、インポートでも使えるのではないかと考えました。 そこで過去ログやweb上で情報を探し、CSVなどをインポートしてみたのですが、エラーが表示されます。 過去ログで見つけました、ODBCドライバというのは必要なのでしょうか。 またそれはレンタルサーバーでも使用可能なのでしょうか。 EXCELなどのソフトを使って、ローカル上でデータを作成・管理したいと考えています。 何か良い方法はないでしょうか。 環境: Mac OSX.4  (基本Macで作業しています) Windows XP sp2 レンタルサーバ: MySQL 4.1.10a phpMyAdmin 2.6.4-pl4 PHP4(ver.4.3.8) 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • mysqlへcsvファイルの読み込み

    mysqlについて質問させて下さい。 エクセルをcsvファイルに変換したものを、データベースに読む込んだのですが、下記のエラーが出ます。 for column 'id' at row 1ect integer value: 'id,number 整数が間違っていると言うことかと思い、エクセルのほうはデータを全部数値にし、mysqlのほうは「int」にしました。 これでも同じエラーが出てしますのですが、原因がお解かりの方、教えて頂けると助かります。 sql文です。 LOAD DATA INFILE "***.csv" INTO TABLE dbname.tablename; カラムはidとnumberのみです。 よろしくお願いします。

  • CSVファイルをMYSQLにインポート

    先日からMYSQL+PHPの勉強をはじめました。 データベース構築の際、以前作成したCSVファイルをMYSQLのテーブルとして 利用したいと考えております。 そこで、MYSQLコマンドより、 LOAD DATA LOCAL INFILE 'ファイル名.csv' INTO TABLE テーブル名 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 0 rows affected (0.04 sec) Records: 102 Deleted: 0 Skipped: 102 Warnings: 0 とCSVファイル自体が悪いのかSQL文に問題がるのかインポートがうまくいきません。。 ちなみにCSVは  0,2011/6/2 0:00,80.94,81.32,80.55,80.92 0,2011/5/25 0:00,81.94,82.17,81.8,81.95 0,2011/5/23 0:00,81.77,82.04,81.32,81.99 環境はphpdevで一括でインストールした phpadmin: バージョン2.3.2 MYSQL: MySQL4 apache: 1.3.27 初心者で基本的な質問かもしれないですがどうかご教授お願いします。

    • ベストアンサー
    • MySQL
  • インターフェースからCSVを取り込んで、MySQLにインポート

    インターフェースからCSVを取り込んで、MySQLにインポート ブラウザのインターフェースからCSVファイルを選択して、MySQLにインポートするようにしたいのですが、 (1)ファイルのアップロード (2)サーバー上にある(アップロードされた)CSVファイルをMySQLにインポート という手順で処理するほかないでしょうか? ローカルのCSVファイルを直接MySQLにインポートするような画期的な方法(ライブラリなど)あったらいいなと思い質問します。 PHPのバージョン:5.2 MySQLのバージョン:5.1 です。 まだ基本設計の段階なので、具体的な質問になっておらず申し訳ありませんが、 よろしくお願いします。

    • 締切済み
    • PHP
  • MySQLで連続csvファイルを読み込むために

    MySQL 5.6を最近使い始めました。 大量のcsvファイルで保存されているデータを読み込んで、データベースとして扱いたいのですが、どうすれば良いでしょうか? ファイル名は、 data1_1.csv data1_2.csv data1_3.csv data2_1.csv data2_2.csv といった形で、規則正しく並んでいるのですが、大量にあるため、ループを使って自動化したいと思っております。そのために、LOAD DATA INFILE ファイル名 を使って、このファイル名を順次変えて繰り返す方法がわかりません。 まず、ファイル名に変数が使えるのかと思って @file="data1_1.csv"としてファイル名を置き換えてみたのですが、エラーでした。これでは、この1_1を順次動かす以前に変数が無理なのかも?と思っています。 何かやり方があるようでしたら、どなたかお教えください。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • CSVでDLしたデータにダブルクォーテーションがつくようになりました

    データベースからCSVでデータをダウンロードし、 内容を修正し、再アップロードする作業をしています。 先月までは何も問題なく作業できていたのですが 先ほどから再アップロードにエラーが出るようになりました。 『許可されていない記号が使われています』というような表示です。 テキストや秀丸などに貼り付けてみたところ、 CSVのデータを貼りつける際に ダブルクォーテーション「”」で囲まれていることがわかりました。 これが引っかかっているようです。 と言っても、今まで何も考えずにDL・UPしていたので 何が原因でダブルクォーテーションが出るようになったのか わかりません。 ためしに他のパソコンで試したところ、 他のパソコンでDLして開いたCSVでは”はついていませんでした。 どのようにすれば以前と同じように”なしのCSVになるでしょうか? 使用しているソフトはOffice2003です。(WinXP) 流れは下記のような感じ。。。 1.WEBサイト上でデータベースにアクセス 2.データをダウンロード(zipで自然解凍→保存) 3.EXCELで開いて修正 4.CSVでそのままアップロード 宜しくお願いします。

  • CSVファイルのダブルクォーテーションについて

    ショッピングカート WebCart 2.31 http://www.cgis.biz/ と言うフリーのPHPスクリプトを試しているのですが、商品一覧データをcsv形式でダウンロード出来き、アップロード出来る機能があります。 ダウンロードしたcsvデータをExcel2003で開き、そのまま上書き保存してアップロードすると意図しない表示となります。 ダウンロードしたデータを何もせずアップロードすると正常表示となります。 ダウンロードしたcsvデータをテキストエディタで開くとカンマで区切られたデータが全て「"」で括られていて文字列として扱われていました。 Excel2003で開くときに各データにダブルクォーテーションで括られた形式に出来ないものでしょうか。 よろしくお願い致します。

  • 郵便番号csvのロードで特定の文字が化ける

    郵政省からダウンロードした郵便番号CSVをMySQLデータベースへ取り込む際に特定の文字が化けてしまいます。"十"という文字は確実に化けています。ソースのCSVはSJISに設定されており、データベースもSJISです。 いくつか下のような方法も試していますが、うまく行きませんでした。 ソースCSVをEUCに保存し直してアップロード時にSJISへ変換→駄目 ソースCSVをUTF8に保存し直してアップロード時にSJISへ変換→駄目 何か解決する方法はありませんでしょうか?ぜひよろしくお願いします。 環境としては、さくらインターネットのサーバで、phpMyAdminを通してLOAD DATA LOCALでロードしています。 FreeBSD 4.10-RELEASE-p20 i386 Apache/1.3.34 (Unix) phpMyAdmin 2.6.1-pl3 MySQL 4.0.26

    • ベストアンサー
    • MySQL
  • mysqlのcsvファイル出力について

    今jspファイルでボタンを押すとサーバーにあるデータベースの結果をcsvファイルとして保存するファイルを作りました。 今、作業用のパソコンからテラタームを使い、リモート接続で作業をしています。 なので出力するcsvファイルをサーバーの方ではなく、作業用のパソコンに落としたいのですが、方法はないですかね? 今はjspのほうでSELECT * FROM テーブル名 INTO OUTFILE のコマンドをmysqlに送っています。 phpmyadminで接続してそこからcsvファイルを落とすと閲覧しているパソコンに落ちるようになってるのでそ それができたらなと思います。 何かいい方法はないでしょうか? よろしくお願いします。