必要に駆られたのでMySQLについて勉強しているのですが、
ファイル読み込みで問題が起こり、詰まってしまっています。
MySQL上で自作したsampledb内にテーブルprefectureを作成し、
そのテーブル内にPrefecture.csvファイル(文字コードshiftJIS)からデータを入力しようと
しているのですが、最初の一件しかテーブルに格納されず、他のデータが入らないのです。
以下に入力したクエリ文を掲載します。
create database sampledb default character set sjis
create table Prefecture(PREF_CD INT(3),PREF_NAME VARCHAR(10),PRIMARY KEY(PREF_CD))
LOAD DATA INFILE "Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY","
-> LINES TERMINATED BY"\r\n";
Query OK, 1 row affected, 1 warning (0.08 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 1
select * from prefecture
+---------+-----------+
| PREF_CD | PREF_NAME |
+---------+-----------+
| 1 | 北海道
2 |
+---------+-----------+
1 row in set (0.00 sec)
Prefecture.csvについてはこちらのサイト仕様上添付できませんでしたが、
1,北海道
2,青森県
3,岩手県
.
.
.(以下省略)
のように、47都道府県の番号と地名を並べたものです。
独力では解決法を見出せません。
どうかご助力お願いします。
No.1ベストアンサー
- 回答日時:
正直これだけの情報ではなんとも・・・・。
可能性としてはラインターミネーターが\r\nじゃなくて\nなので全部が1行と解釈されて最初の2列だけに反応しているとかかね。↓の2つを試してみてその結果を教えてもらえますか。\r\nを\nと\rにそれぞれしたものです。
1.
LOAD DATA INFILE "Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY ","
-> LINES TERMINATED BY "\n";
2.
LOAD DATA INFILE "Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY ","
-> LINES TERMINATED BY "\r";
この回答への補足
ご回答ありがとうございます。
お答にありました2つについて、試してみましたところ
以下のような結果が出ました。
・1つめ
mysql> LOAD DATA INFILE"Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY ","
-> LINES TERMINATED BY "\n";
Query OK, 1 row affected, 1 warning (0.34 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 1
mysql> select * from Prefecture;
+---------+-----------+
| PREF_CD | PREF_NAME |
+---------+-----------+
| 1 | 北海道
2 |
+---------+-----------+
1 row in set (0.00 sec)
・2つめ
mysql> LOAD DATA INFILE"Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY ","
-> LINES TERMINATED BY "\r";
Query OK, 1 row affected, 1 warning (0.25 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 1
mysql> select * from Prefecture;
+---------+-----------+
| PREF_CD | PREF_NAME |
+---------+-----------+
| 1 | 北海道
2 |
+---------+-----------+
1 row in set (0.00 sec)
以上の通り、問題の解決には至りませんでした。
申し訳ありませんが、再度お力添えをお願いします。
質問者です。
この度のご回答、重ねて感謝申し上げます。
大変申し訳ないのですが、今回発生した問題について、
自己で解決できてしまいました。
以下に解決した方法を記載します。
mysql> LOAD DATA INFILE"Prefecture.csv"
-> INTO TABLE Prefecture FIELDS TERMINATED BY ","
Query OK, 47 rows affected (0.33 sec)
Records: 47 Deleted: 0 Skipped: 0 Warnings
mysql> select * from Prefecture;
+---------+-----------+
| PREF_CD | PREF_NAME |
+---------+-----------+
| 1 | 北海道
| 2 | 青森県
| 3 | 岩手県
| 4 | 宮城県
(中略)
| 46 | 鹿児島県
| 47 | 沖縄県 |
+---------+-----------+
47 rows in set (0.00 sec)
以上のように、改行コードを指定する一文
-> LINES TERMINATED BY ~
を抜かしたところ、データが正常に読み込まれました。
この度はお騒がせ致しましたことをお詫び申し上げるとともに、
ご回答戴きましたこと、大変感謝致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
sqlite3でcsvのインポートがで...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
同じSQL文で極端に検索が遅くな...
-
mysqlにおけるホストのパーセン...
-
バッチファイルではパスワード...
-
PL/SQLをWindowsのBATファイル...
-
phpmyadminでの特権が表示方法
-
MySQLへの特殊文字の挿入について
-
ODBCを使用する場合のファイルD...
-
html上でMySQLにアクセス(Java...
-
漢字や平仮名の文字をSQLで実行...
-
htmlタグを含んだ文字のデータ...
-
複数インスタンス
-
サーバーに接続できない
-
phpMyAdmin、インポートで全角...
-
TVTestのエラーの解決方法を教...
-
別サーバのデータベースの読み込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
MySQL Date型にNULLが設定でき...
-
CSVを1行しかインポートしない...
-
BAT処理でCSVデータのインポート
-
BCPコマンドについて
-
sqlite3でcsvのインポートがで...
-
MySQLで連続csvファイルを読み...
-
SQLサーバーにcsv.ファイル...
-
phpMyAdmin テキストインポート...
-
MySQLデータベースにcsvファイ...
-
セミコロンで区切り指定サイズ...
-
CSVインポート,日本語文字化け
-
CentOS(Linux)上の/var/lib/mys...
-
MySQL Sever5.0でのファイルの...
-
CSVファイルのインポートについて
-
phpMyAdminでのデータのインポ...
-
大容量CSVのインポート方法を教...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
おすすめ情報