![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちわ。今MySQLを使ってテーブルの作成をしているのですが、やり方に自信がないため質問させていただきます。
test.txtに以下の情報が入っているとします。(ゲノムの情報になります)
*****
id count start_position end_position
1 2 51091076,51101385,51091253,51102009,
2 3 112644827,112647824,112648979,112645084,112647981,112649152,
3 3 30103583,30105062,30106006,30103918,30105414,30106086,
*****
countのコラムにはstart_position, end_positionに何個の値が入るのかを示しています。
ここから、test_tableというのをつくり、以下の形にしたいのです。
id start_position end_position
1 51091076 51091253
1 51101385 51102009
2 112644827 112645084
2 112647824 112647981
2 112648979 112649152
3 30103583 30103918
3 30105062 30105414
3 30106006 30106086
test.txtを使って.
LOAD DATA INFILE 'test.txt'
INTO TABLE test_table
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';
と全体のテーブルを作りました。この際、start_position, end_positionの値にはカンマが入る形になってしまいます。
上記のテーブルを作成するため、まず、idだけのテーブルを作ろうと思い、
SELECT REPEAT(CONCAT(id, '\r'), EXONCOUNT) FROM test_table INTO OUTFILE 'id_count.txt';
LOAD DATA INFILE 'id_count.txt' INTO TABLE id_count LINES TERMINATED BY '\r';
を実行し、
positionだけのテーブルも以下のように用意しました。
SELECT REPLACE(start_position, ',', '\r') FROM test_table INTO OUTFILE 'start.txt';
LOAD DATA INFILE 'start.txt' INTO TABLE start LINES TERMINATED BY '\r';
そうすると、
id_countテーブルは
***
| 1 |
| 1 |
|
2 |
| 2 |
| 2 |
|
3 |
| 3 |
| 3 |
***
と表記され、
startテーブルは
**********
| 51091076 |
| 51101385 |
| 0 |
| 112644827 |
| 112647824 |
| 112648979 |
| 0 |
| 30103583 |
| 30105062 |
| 30106006 |
| 0 |
**********
と0が入ってしまいます。
start_positionとend_positionの値の最後のコンマを外してからやればできるのかもしれませんが、ほかに方法がありましたら教えていただけると嬉しいです。
わかりにくい点があるかもしれませんが、お願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
どうやら改行文字の問題のように見受けられます。
記載のコードを修正するならば、
> SELECT REPLACE(start_position, ',', '\r') FROM test_table INTO OUTFILE 'start.txt';
の部分を
SELECT REPLACE( REPLACE( REPLACE( start_position, char(13), ''),char(10),''),',','\r') FROM test_table INTO OUTFILE 'start.txt';
として改行文字を取り除いてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Ruby パイソンでテキストファイルが読み込めない 1 2022/11/14 16:42
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
マイクラPC版のコマンドで効率...
-
[MySQL] 3つのテーブルの結合で...
-
VIEWの元のテーブルのindexって...
-
SQLサーバから、項目の属性(型...
-
sqlで、600行あるテーブルを100...
-
php+mysqlで複数選択削除について
-
PL/SQLの変数について
-
副問合せの書き方について
-
MySQLのint型で001と表示する方...
-
ある条件の最大値+1を初番する...
-
ストアドのエラーについて
-
スクリーンセイバー
-
WHERE id = ? について
-
select文のwhere句に配列を入れ...
-
クエリ表示と、ADOで抽出したレ...
-
mysqlのdeleteのサブクエリーで...
-
存在しないレコードの抽出方法...
-
SQLにて特定の文字を除いた検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
-
select文のwhere句に配列を入れ...
-
SQL Left Join で重複を排除す...
-
VIEWの元のテーブルのindexって...
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
sqlで、600行あるテーブルを100...
-
クエリ表示と、ADOで抽出したレ...
-
PL/SQLの変数について
-
Unionした最後にGROUP BYを追加...
-
エラー 1068 (42000): 複数の主...
-
バインド変数について
-
[MySQL] 3つのテーブルの結合で...
-
Access パラメータクエリをcsv...
-
LEFT JOIN と GROUP BY
-
php+mysqlで複数選択削除について
-
insertを高速化させたい
おすすめ情報