質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

2回答

2553閲覧

mysql;csvファイルの読み込み

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2015/09/01 13:33

mysqlで以下のようなcsvファイルを読み込ませたいです.

00000xx_000000x,http://・・・,,,,,
00000xx_000000x,http://・・・,,,,,
00000xx_000000x,http://・・・,,,,,

idとurlコンマ区切りのものです.
処理の関係上,urlの後ろにコンマが5つついてしまっています.
そのため,idとurlの列のみを読み込ませたいのですが,可能でしょうか.
mysqlに関してかなりの素人なのでコマンドを書いて解説いただければ幸いです.

また,idに_が含まれるため,idのデータ型指定にも悩んでいます.

2点ご教授いただけないでしょうか.

環境はwindowsでmysql5.6になります.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

KenTeradaさんの回答のように、MySQLへ一旦取り込んでから必要なカラムを取り出すという手もありますが、MySQLへ取り込む前にCSVファイルから必要なカラムだけを取り出してしまうという方法もあります。
Windowsであればコマンドプロンプトを開き、FORコマンドを使用すると簡単に処理できます。
元のCSVファイルをtest.csv、最初の2カラム分だけを取り出したCSV(処理結果の出力先)をtest2.csvとしますと

>type test.csv 00000xx_000001x,http://abc01.com/~,,,,, 00000xx_000002x,http://abc02.com/~,,,,, 00000xx_000003x,http://abc03.com/~,,,,, 00000xx_000004x,http://abc04.com/~,,,,, 00000xx_000005x,http://abc05.com/~,,,,, > >FOR /F "tokens=1-6 delims=," %a IN (test.csv) DO @ECHO %a,%b >>test2.csv > >type test2.csv 00000xx_000001x,http://abc01.com/~ 00000xx_000002x,http://abc02.com/~ 00000xx_000003x,http://abc03.com/~ 00000xx_000004x,http://abc04.com/~ 00000xx_000005x,http://abc05.com/~ >

これができれば、あとはMySQLへインポートするだけです。

load data local infile "test2.csv" into table table_name fields terminated by ',';

投稿2015/09/01 15:31

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/04 07:56

ありがとうございます. おかげさまで解決しました.
guest

0

一度CSVファイルの全てを取り込んで,selectすればよいのではないでしょうか?
スクリプト言語で予めCSVファイルを加工してもよいのですが.

sql

1LOAD DATA INFILE "filename" INTO TABLE idurl FIELDS TERMINATED BY ',' 2SELECT id, url FROM idurl

MySQLは触ったことがないので,これで動くのか確信はないです.
しかしこんなようなことをすれば動くだろうと思います.

投稿2015/09/01 14:35

KenTerada

総合スコア751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/04 07:57

ありがとうございます. おかげさまで解決しました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問