お世話になっております。
表題にあります、200以上の項目を有したCSVをlocalからアップロードし、MySQLに保存したいと考えています。
csvの形式は複数あるものの、納めるテーブルは1つなのでるため、CSVの項目とテーブルのカラムが一致していません。
簡単にinsert文であれば
INSERT INTO TableName ('0', ''....
となるのでしょうが、データの量(レコード数)含め、カラム数が200以上と多いので、どのような仕組みが効率が良いのか?そのフローなどご教示いただければと質問いたしました。
言語はPHP(7.1)で、mysqliにて作成しています。
お忙しい中恐縮ですが、アドバイスのほど頂戴出来れば幸いです。
よろしくお願い申し上げます。
■追記--------------------------------------------------------
形式の異なるCSVデータはそれぞれ別のテーブルに収めるべきとのご意見を伺いました。
誤った思考は避けたいところですが、具体的にどのような構成にすべきか?イメージが湧きません。
下記に現状の構成と、その理由を記載いたしますので、引き続きご教示いただければ幸いです。
取り扱いたいデータは不動産情報で、
・売買物件(販売中)
・売買物件(売却成約済み)
・賃貸物件(募集中)
・賃貸物件(入居成約済み)
など4つのカテゴリに別けられ、local内にあるCSVはこのカテゴリ毎に振り分けられています。
不動産情報なので、販売中の売買物件であれば、「販売価格」を筆頭に、マンションであれば「専有面積」、そして戸建てであれば、「土地面積」や「建物面積」などがあり、
制約済みの物件情報であれば「売却価格」、募集中の賃貸物件であれば「月額賃料」や「共益費」など、それぞれのカテゴリ、物件区分に応じた項目が存在し、イメージ的にCSVの内容は以下のような感じです。
・売買物件(販売中)
"物件番号","データ区分","物件区分","販売価格","有効期限"
"10010111","01","03","49800000","2018-8-30"
"10010121","01","02","85600000","2018-8-30"
・売買物件(売却成約済み)
"物件番号","データ区分","物件区分","成約価格","成約日"
"10010132","02","02","69800000","2018-8-30"
"10010139","02","04","28600000","2018-8-30"
・賃貸物件(募集中)
"物件番号","データ区分","物件区分","月額賃料","有効期限"
"10010212","03","03","98000","2018-8-30"
"10010245","03","02","48000","2018-8-30"
・賃貸物件(入居成約済み)
"物件番号","データ区分","物件区分","販売価格","成約日"
"10010111","04","02","128000","2018-8-30"
"10010121","04","02","88000","2018-8-30"
これらCSV(4種)をウェブ上のデータベースに保存するわけですが、1度の操作で検索する必要があることから、「物件情報」として1つのテーブルにデータを保存しようと考えたのが事の経緯です。
以上のことから、そのテーブルには、「販売価格」「成約価格」「月額賃料」「土地面積」「建物面積」「専有面積」など、それぞれのカテゴリ、それぞれの物件区分ならではのカラムを設け、CSVをアップするとき、(CSVはカテゴリ別に分けられているので)それぞれ適切なカラムに振り分けながら保存していく流れをイメージしています。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/30 04:23
2018/08/30 04:46
2018/08/30 04:55