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

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

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

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

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

Q&A

1回答

1056閲覧

phpmyadminによるSQLでのcsvファイルの出力方法について

teturousan

総合スコア4

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

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

0グッド

1クリップ

投稿2021/04/06 20:10

編集2021/04/07 00:38

phpmyadminにおいて作成したokyakuテーブルのデータをcsvで出力ができません。

 ●実行したコード
------------------------------------------------------------
SELECT * FROM okyaku INTO OUTFILE 'C:\Users\user\Desktop';
------------------------------------------------------------
エラーメッセージ
MySQL のメッセージ: ドキュメント
#1086 - ファイル 'C:UsersuserDesktop' はすでに存在します。
------------------------------------------------------------

●試したこと
1.出力先のファイルパスの最後に\を追加
'C:\Users\user\Desktop「\」';
2.ファイルパスの確認

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

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

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

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

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

teturousan

2021/04/07 07:35 編集

アドバイスを参考に下記の内容で解決いたしました。 ------------------------------------------------------------ SELECT 'code','onamae','email' UNION SELECT code,onamae,email FROM okyaku INTO OUTFILE 'C:\\Users\\user\\Desktop\\test.csv' CHARACTER SET 'sjis' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ------------------------------------------------------------
teturousan

2021/04/07 07:35

\と¥\の違いってなんなのでしょうか?絶対パスと相対パスと呼ばれるものなのでしょうか?
guest

回答1

0

phpmyadminは、わかりませんが\を\にすればいいのでは。

エスケープ文字じゃないでしょうか。

あとファイル名まで書かないといけないんじゃないですか?
なので
SELECT * FROM okyaku INTO OUTFILE 'C:\Users\user\Desktop\test.csv';
って感じで

投稿2021/04/06 20:16

編集2021/04/06 20:19
xail2222

総合スコア1525

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

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

m.ts10806

2021/04/06 21:31

ぶら下がりで申し訳ない。補足です。 https://dev.mysql.com/doc/refman/5.6/ja/select-into.html > SELECT ... INTO OUTFILE 'file_name' 形式 > file_name を既存のファイルにすることはできません。 拡張子はなくてもファイル作れますが、エラーの原因は既存のパスを指定したこと。
xail2222

2021/04/06 21:36 編集

確かにそうですね。一度実行した後に上手く行かないからもう一度実行したのでしょう。 カレント?どこかしらないですけど、そこに変なファイルが出来ているのでしょうね。 あと、私コードでも2回実行したら同じエラーになりますね 回答に反映した方が良いのかな? m.ts10806さんの内容
m.ts10806

2021/04/06 21:36 編集

C:\Users\user\Desktop はWindowsには必ず初期で存在するものなので一度目から当該現象起きてると思います。
xail2222

2021/04/06 21:37

いや「 'C:UsersuserDesktop' はすでに存在します。」だから ¥がエスケープシーケンスと解釈されて、カレントに'C:UsersuserDesktop'ってファイルが 一回目に出来たのではないのですか?
m.ts10806

2021/04/06 21:39

あ、別のSQLと勘違いしてました。MySQLではバックスラッシュでしたね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問