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

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

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

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

MySQL

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

728閲覧

MySQLにてCSVファイルのインポートができません。

a.econ

総合スコア1

MySQL Workbench

MySQL Workbenchは、オープンソースのデータベースモデリングツールです。ビジュアルなデータベース設計・SQL開発・サーバー設定・ユーザー管理・バックアップといった様々な管理ツールを備えます。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

MySQL

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2023/03/19 14:45

実現したいこと

  • CSVファイルを既存のテーブルに読み込む。

前提

MySQLでデータベース作成を試みています。
読み込みたい.csvファイルは外付けのHDD上にあり,
5GB程のデータを最終的には読み込む予定です。
以下のコードで読んでいるデータはその一部で約500MBあります。

発生している問題・エラーメッセージ

Error Code: 2. File '‪D:\data\data\preprocessed\dat2007.csv' not found (OS errno 2 - No such file or directory)

該当のソースコード

SQL

1CREATE DATABASE data_db; 2SET GLOBAL local_infile=1; 3USE data_db; 4 5CREATE TABLE data_tab 6(VARCHAR(10) not null, 7(省略) 8); 9 10LOAD DATA LOCAL INFILE '‪D:/data/data/preprocessed/dat2007.csv' 11 INTO TABLE data_db.data_tab 12 FIELDS TERMINATED BY ',' ENCLOSED BY '"' 13 LINES TERMINATED BY '\n' 14 IGNORE 1 ROWS 15;

試したこと

  • データの場所をHDDから他所に移す
  • "OPT_LOCAL_INFILE=1"をサーバーの「Edit connection...」>「Advanced」>「Others:」に書き加える
  • 別の.csvファイルで試す
  • MySQLを再インストールする
  • PC,アプリを再起動する

補足情報(FW/ツールのバージョンなど)

凡ミスのような気がしているのですが,エラーの原因に一向に気付けません。
ですので,MySQLの仕様に詳しくない方も,現段階では原因に思い当たっていない方も,私がミスに気付くきっかけになるかもしれないので是非お気軽にご質問ください。

環境等は以下の通りです。
追加的に必要そうな情報等ありました際には是非お声掛けください。すぐに追記いたします。
OS: Windows 10
MySQL Workbench(64bit): version 8.0.32

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

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

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

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

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

sazi

2023/03/20 01:58

MySQL、実行環境、ファイルの配置場所全て同一PCですか? LOAD DATA LOCAL INFILE ⇒ LOAD DATA INFILE 上記のようにLOCAL を指定しないようにしてみてください。
a.econ

2023/03/20 05:49

sazi様 コメントありがとうございます。 >MySQL、実行環境、ファイルの配置場所全て同一PCですか? それらはすべて同一PC上です。 >LOAD DATA LOCAL INFILE ⇒ LOAD DATA INFILE >上記のようにLOCAL を指定しないようにしてみてください。 LOCALを削除したところ,今度は以下のエラーが発生しました。 Error Code: 29. File 'C:\ProgramData\MySQL\MySQL Server 5.7\Data\‪data\data\preprocessed\dat2007.csv' not found (Errcode: 2 - No such file or directory) そこでbadadirの設定を修正した後に同コードを実行したところ,以下のエラーが発生しました。 Error Code: 29. File 'D:mysql\Data\‪data\data\preprocessed\dat2007.csv' not found (Errcode: 2 - No such file or directory) この場合にはどうしたらよいか,改めてご助言をいただきたいです。 (※なお,フォルダ名の"data"は実際にはデータ名そのものを示す名前です。念のため伏せています。)
sazi

2023/03/20 05:59 編集

同じファイルを指しているなら、以下の様にフルパスが変わるのはおかしいです。 'C:\ProgramData\MySQL\MySQL Server 5.7\Data\‪data\data\preprocessed\dat2007.csv' 'D:mysql\Data\‪data\data\preprocessed\dat2007.csv' エラーメッセージ通りに、そのパスに処理時点でファイルが無いのでしょう。 実際に上記のパスでアクセスできるかを確認して下さい。 ※パスが正しいなら、処理後にファイル削除しようとしているが、実際には処理前にファイルが削除されているとか。
a.econ

2023/03/20 07:56

>同じファイルを指しているなら、以下の様にフルパスが変わるのはおかしいです。 説明不足で申し訳ございません。 datadir(※前コメントのbadadirは誤字)の設定を修正した際にデータの位置を変更しています。 そのため,変更後のパスにはファイルが存在しパスは正しいものだと確認できています。 >※パスが正しいなら、… 実行しているコードは前述の内容のみなので,削除に関して思い当たる原因は残念ながらありません。 似たように(もしくはこちらの意味で仰ったのかもしれませんが),MySQLからは該当.csvファイルにアクセスできないという線も考えましたが,「プロパティ」>「セキュリティ」からアクセスはすべて許可できているものと思われます。 こちらが手元の情報を十分に伝えきれない中,こうしてコメントをいただき助かっております。 今回同様,必要な情報をお伝えするためにも疑問点等ありましたら是非ご指摘ください。
sazi

2023/03/20 08:01

> datadir(※前コメントのbadadirは誤字)の設定を修正した際にデータの位置を変更しています。 それなら、統一したパスで実行した結果で報告すべきですね。
a.econ

2023/03/20 09:02

ご指摘の通りだと思います。お手数お掛けしてしまい申し訳ありません。
sazi

2023/03/20 09:11 編集

パスに日本語を含んだものはありませんか? Macとかだと権限も関係するようですけど、Windowsで管理者で実行されているんですよね?
a.econ

2023/03/20 09:20

sazi様 おかげさまで色々と確認していたところ自己解決いたしました。 つきましては,sazi様にベストアンサー的なものをぜひお送りしたいのですが, この場合はどのようにしたらよいでしょうか。 自己解決した方法は"data"で代替していたデータ名を日本語から英語に直したというものです。 MySQL上では文字化けが無かったために意図してこの方法を試していませんでしたが, 上手く認識できていなかったようです。 "data"で伏せていたために解決しようのない状況下でご尽力くださったsazi様には本当に感謝しております。
a.econ

2023/03/20 09:22

時間差で正解をご指摘されていたのですね!! 本当に申し訳ありません。
a.econ

2023/03/20 09:25

長々と返信を書いた後,ページを更新したところsazi様の返信に気が付きました。 改めて回答に日本語が無いか確認する旨を投稿していただければベストアンサーに認定させていただきたいと思います。 お手数をお掛けしますが是非よろしくお願いいたします。
sazi

2023/03/20 12:02

自己解決で問題ありません。
guest

回答1

0

自己解決

ファイルのアドレスに日本語が混じっていました...
日本語を英字に直したら解決という結果です。

投稿2023/04/08 08:36

a.econ

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問