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

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

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

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

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

Q&A

解決済

1回答

1143閲覧

【Mysql】CSVファイルをDBにインポートしたい

yastinbieber

総合スコア49

CSV

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

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

0グッド

0クリップ

投稿2020/08/15 08:13

編集2020/08/16 02:59

前提・実現したいこと

CSVファイルをDBにインポートしたいです。

既存でfooddateテーブルが用意されておりそのテーブルにCSV内にあるデータをインポートしたいと思っております。

参考サイトを見ながら進めておりますがエラーが出てしまい立ち往生してしまっているような状況です。

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

mysql

1mysql> load date local 2 -> infile "/Users/yastinbieber/Dropbox/foods_date.csv" 3 -> into table fooddates 4 -> fields terminated by ','; 5 6ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'date local 7infile "/Users/yastinbieber/Dropbox/foods_date.csv" 8into table foodda' at line 1

CSVに囲み文字がない為、OPTIONALLY ENCLOSED BYは記述しておりません。

なおCSVファイルは下記へ格納されています。
保管場所の指定も合っているのか疑問です。

■場所 Macintosh HD → ユーザ → yastinbieber → Dropbox

試したこと

参考サイト①
参考サイト②
上記のサイトを真似しながら実行しております。が上記のようなエラーが出てしまっているような形です。

エラー文で検索もかけておりますが欲しい情報がなく理解の深い方ご教授いただけますと幸いです。

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

Rails 5.2.4.3
ruby 2.5.1

追記

Mysql

1mysql> load data local 2 -> infile "/Users/yastinbieber/Desktop/foods_date.csv" 3 -> into table fooddates 4 -> fields terminated by ','; 5 6ERROR 2 (HY000): File '/Users/yastinbieber/Desktop/foods_date.csv' not found (Errcode: 2)

tarninal

1yasuhiroMacBook:~ yastinbieber$ cd Desktop 2yasuhiroMacBook:Desktop yastinbieber$ ls 3foods_date.csv other files

CSVファイル

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

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

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

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

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

guest

回答1

0

ベストアンサー

mysql> load date local

date ではなく、dataではないでしょうか。

LOAD DATA INFILE 構文 - MySQL

投稿2020/08/15 09:46

dodox86

総合スコア9183

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

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

yastinbieber

2020/08/15 10:41

ご回答ありがとうございます。 間違えて記述しておりました。ご指摘ありがとうございます。 しかしながら新たにエラーを吐いてしまいました。 ファイルが存在しないと言っているのでしょうか… Dropboxに確かに保存しているはずなのですが…
dodox86

2020/08/15 10:43

> ファイルが存在しないと言っているのでしょうか… エラーメッセージの通りです。 > ERROR 2 (HY000): File '/Users/yastinbieber/Dropbox/foods_date.csv' not found (Errcode: 2) macOSのターミナル上から、ls コマンドで確認できますか? このファイル名も実は foods_date.csvではなく、foods_data.csvであったりしませんか?
yastinbieber

2020/08/15 11:27

> macOSのターミナル上から、ls コマンドで確認できますか? このファイル名も実は foods_date.csvではなく、foods_data.csvであったりしませんか? :Desktop yastinbieber$ ls foods_date.csv 場所が変更された項目 csvファイルをデスクトップ上に移動させたのですが、上記のようにlsコマンドで確認自体はできます。 ただ依然not found のエラーを吐いているような状況です。。 またスペルのミスはありません。
dodox86

2020/08/15 12:02

ん? デスクトップ上に移動した上で、 $ ls /Users/yastinbieber/Desktop/foods_date.csv で確認できた。(存在した)と言う意味ですか? 更に、そのPATH名で infile "/Users/Desktop/foods_date.csv" と指定してもダメだった、と言うことですか?
yastinbieber

2020/08/16 02:45

わかりづらく申し訳ございません。 新たに実行したコードを追記にて記入しました。 仰るとおりデスクトップ上に移動した上でfoods_date.csvを確認することはできています。 その上でinfile "/Users/Desktop/foods_date.csv"を実行しましたが変わらずエラーが起きているような状態です。 もし再度見落としや実行すべき点などございましたらご教授いただけますと幸いです。
dodox86

2020/08/16 05:22

一応確認なのですが、MySQLモニタ(CLI)はmacOSのターミナル上で起動しているのですよね。 また、ターミナル上でlsコマンドの実行は、PATH名を省略しないで実行してみてください。その際"-l"オプションを付けてみてください。 ls -l /Users/yastinbieber/Desktop/foods_date.csv PATH名は手入力でなく、エラーメッセージで出ているPATHをコピー&ペーストして実行してください。 要は、LOADのINFILEパラメータで指定しているPATH名と一字一句同じでもエラーが出るか、です。
yastinbieber

2020/08/16 07:41

実際に今使用しているオブジェクトの傘下にcsvファイルを移したところ読み込むことができました。 細かくご教示いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問