DBPythonでSlackBotを開発しよう企画の第6回目。今回はデータの保存・加工をしていくために、MySQL(データベース)に連携していきます。データベース連携することで、ツイート情報の保存をしたり、保存しておいたデータを加工して利用することができるので、アプリケーション開発には必須です。ような構成になり、APIアクセスしてPythonアプリケーションで取得したデータを保存し、更新処理をして出力できるようにしていきます!データベース連携ができればTwitterAPIなどのAPIにはアクセス上限があるのが普通なので、APIアクセス回数を最低限に抑えるためにも、一度取得したデータは保存しておきたいですし。DB連携させとくのマジ大事。Python入門書をパラパラ立ち読みしてみたのですが、意外にもデータベース連携の話を扱ってる本少ない印象でした。「アプリケーション開発入門」と言いながら、ライブラリ使ってちょっとした機能体験して終わり・・・。みたいなことで終わってしまっては、実際に使われるようなアプリケーションを開発する能力は伸びないと思うのでアプリケーションのデータベース連携させていきます。今回は、Homebrewを利用してインストールしていきます。terminalで以下のコマンドを打ち込んでMySQLをインストールしていきます。mysqlHomebrewでMySQLインストールすることができたら、MySQLを起動して、ログインしてパスワードの初期設定などを進めていきましょう。MySQLサーバーを起動します。SUCCESS!ルート権限のユーザーでログインします。パスワードを設定していないので、パスワードを指定しなくてもログイン出来ます。statement.mysql>以下のように、「xxx」の箇所を自分の設定したいパスワードに書き換えて、パスワードの設定をしておきます。sec)これでパスワードの設定をすることができました。-p」コマンドを打ち込んだのち、パスワードを入力することでログインすることができるようになると思います。statement.mysql>ついでにユーザー名も「root」から変更しておきましょう。以下のコマンドで「root」→「xxx」に変更します。sec)これで、以下のコマンドでログインすることができるようになりました。statement.mysql>MySQLでDB/テーブル作成・登録MySQLにログインすることができるようになったので、Databaseを作成して、テーブルを作成していきましょう。sec)これで「test」という名前のデータベースを作成することができました。以下のコマンドでデータベースを確認すると、「test」という名前のデータベースが作成できていることを確認できます。test」というコマンドで、「test」というデータベースに入ります。changed次にデータベース内に「twitter_user」という名前のテーブルを作成していきます。以下のコマンドでテーブルとカラム内容のテーブルを作成していきます。sec)また、「twitter_tweet」という名前のテーブルも作成しておきます。sec)ここまでで、「test」データベース内に「twitter_tweet」と「twitter_user」テーブルを作成することができました。以下のコマンドで「twitter_user」テーブルの中身を見てみると、登録できていることが確認できます。sec)以下のコマンドで登録されているテーブルを確認することができます。sec)テーブルにレコード(データ)を登録していきましょう。以下のクエリを発行します。sec)「twitter_user」テーブルの中身を確認すると、登録できていることが確認できます。sec)以上で、データベースとテーブルの用意をすることができました。あとは自分のアプリケーションで利用するテーブルを作成しておきます。Heroku上でもMySQL用意ここまででLocal(自分の手元のPC)環境でのMySQLを用意することができましたが、Heroku上にデプロイしたアプリケーションでもMySQLを利用できるようにしておきましょう。cleardb:ignite」というコマンドを実行。https://heroku.com/verify「クレジットカードを登録してください」という表示が。仕方ないので登録しますか。なるよ!」という表示が。クレジットカード登録してもらいたいんでしょうね。documentation今回は無事アドオンすることができました。CLEARDB_DATABASE_URL」コマンドで、設定できた「CLEARDB_DATABASE_URL」の値を確認します。DATABASE_URL='mysql2://xxxxx?reconnect=true'」コマンドでDATABASE_URLの値を設定しておきます。(xxxxxの部分は各自の環境によって異なっているので、書き換えてください。mysql2://xxxxx?reconnect=true'これで「DATABASE_URL」の値が設定できたはずです。DATA」コマンドで確認すると、登録することができていることを確認できます。mysql」でMySQLをアンインストールして再度インストールするという事態になって無駄に時間を使って消耗してしまいました...。次回はSQLAlchemyというO/Rマッパーを利用して、DB(MySQL)に対してSQLを発行してデータのやり取りをしていきます。ちなみに、今回ググりながらMySQL連携に試みて非効率に感じ、「入門書を参考にしよう!」と思ってPython入門書を20冊くらいパラ見しました。Python集中講座』が一番わかりやすいなあと思いました。超初心者で右も左も分からないです!という人は読んでみてもいいかも。19:00PythonでSlackBot開発6「MySQL連携してデータベース利用」Tweet関連記事2018-06-07Herokuでよく使うコマンドまとめHerokuでよく使うコマンドをまとめておきます。忘れるので...2018-04-14PythonでSlackBot開発9「Twitterのつぶやき情報をMySQLに保存する」PythonでSlackBotを開発しよう企画の第9回目。Schedulerでプログラム定期実行」PythonでSlackBotを開発しよう企画の第8回目。今回はプログラム...2018-04-10PythonでSlackBot開発7「SQLAlchemyでデータベースアクセス」PythonでSlackBotを開発しよう企画の第7回目。今回は前回用意し...2018-04-06PythonでSlackBot開発3「Twitterで話題のツイートを教えてくれる」PythonでSlackBotを開発しよう企画の第3回目。積極的にさぼるために頑張る25歳Webエンジニアのブログ。プログラミング・エンジニアのスキルアップ・ブログ運営についてよく書きます。@virtual_techXプログラムとか技術の話はQiitaでよく書いてます。Webエンジニア向けです。virtual_techXはてなブログをはじめよう!virtual-surferさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。