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

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

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

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

Q&A

解決済

1回答

2066閲覧

phpMyAdmin環境での月次データ取得作業の自動化

退会済みユーザー

退会済みユーザー

総合スコア0

phpMyAdmin

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

0グッド

0クリップ

投稿2016/12/02 08:53

運用を担当させていただいているシステムの、例えば当月の新規登録者などをMySQLのデータベースから毎月、ほぼ決まったSQl文で取得する作業をやっています。

環境はphpMyAdminを開発担当から用意していただきました。
詳しい仕組みはよくわかっていません。
SQLの環境はあるクラウドサービスのデータベースです。

それで、SQL文についてはwhere文を毎月、取得する年月に書き換えている感じです。
「WHERE ・・・BETWEEN '2016-10-01' AND '2016-10-31'」

という形で・・・。

この作業は自動化できるのでしょうか?
where文を動的に変えることは可能ですか?

何か工夫できることがあれば教えてください。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

まずお断りしておきますが、

環境はphpMyAdminを開発担当から用意していただきました。
詳しい仕組みはよくわかっていません。

もし、SQLもよくわからないのであれば、従来の運用どおり、日付を書き換え続けることをお勧めします。
文を大きく書き換えたことによる責任が発生するからです。

「WHERE ・・・BETWEEN '2016-10-01' AND '2016-10-31'」

SQLの書き換えは、システム日を求め、一ヶ月引いた最終日に1日加算して(月初)開始日とし、
システム日の最終日(月末)を求め、範囲とすることで、実行する当月の範囲が抽出できるでしょう。

WHERE 日付 BETWEEN date_add(last_day(date_sub(sysdate(), INTERVAL 1 MONTH)), INTERVAL 1 day) AND last_day(sysdate())

投稿2016/12/02 11:13

akio221

総合スコア716

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

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

退会済みユーザー

退会済みユーザー

2016/12/05 02:56

SQLは自分で作ったので問題ありません。 教えていただいたwhere文でやってみます。 実行はやはり手作業でやるしかないでしょうか・・。
akio221

2016/12/05 06:03

自分の最も得意な言語と、その言語で動作するMySQLへのドライバを準備し、 SQLだけを走らせるプログラムを書いて、linux系ならcrontabコマンド Windows系ならばタスクスケジューラで定期実行する感じですね。
退会済みユーザー

退会済みユーザー

2016/12/05 07:07

ありがとうございます。 phpMyAdminの環境を立ち上げてるサーバーに、タスクスケジューラ等を設定するということでしょうか。 「このURLにアクセスして~」と、アドレスを教えてもらっているだけでサーバーの設定までいじれません。 ローカルから自動で実行させるのは厳しいですか?
akio221

2016/12/05 07:38

MySQLに外部からの接続が許可されているのであれば、(データベースに接続可能であれば) 外部の端末でも実行可能ですよ。
退会済みユーザー

退会済みユーザー

2016/12/05 08:11

やり方を探してみたいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問