「Ruby on RailsからMySQLを使うことはあるけど、RubyからもMySQLを使ってみたい!」
そんなことを考えたことがありませんか?
Ruby on RailsはRubyあっての技術なので、上記のように考える人も結構いるのではないでしょうか?
私自身も「Ruby on Railsを使う上で、RubyからもMySQLを使ってみたい」と思った一人です。。
そこで今回は、RubyからMySQLを使う方法をまとめていきます。
ただMySQLを使うだけでは面白くないと思ったので、簡単な勤怠管理アプリを作ることにしました。
勤怠情報を登録することを通して、MySQLを触る方法を紹介していこうと思います。
また勤怠管理アプリと言っても、コマンドラインインターフェース(いわゆる黒い画面)ですので悪しからず・・・orz
今回はMySQLとRubyをインストール済みであることが前提です、話を進めていきます。
まだ準備していない方は、準備をよろしくお願いします。
一応、RubyとMySQLのインストール方法は、下にまとめてあるので参考にしてみてください。
目次
RubyからMySQLを使って勤怠管理アプリを作る手順
1.Gemをインストールする
Gemfileを作成して、以下のような文言を追加してください。
gem 'mysql2'
そして「bundle install」でgemをインストールしましょう。
2.MySQLを使えるか確認
今回MySQLを使うためのRubyファイルを作成します。
新規データベースの作り方は、以下の記事を参照してみてください。
そして以下のような内容を先ほど作ったRubyファイルに書いて、実行します。
MySQLが使えるか確認できたら次へ進みましょう。
3.MySQLにテーブルを用意する
先ほど作ったデータベースにテーブルを作成します。
今回は以下のようなテーブル構造にします。
- id = IDカラム
- attendance_time = 出勤した時間のカラム
- leave_office_time = 退勤した時間のカラム
- created_at = レコードを挿入した時間のカラム
- attendance_status = 出退勤の状態を管理するカラム
MySQLにログインして以下のコマンドを実行してください。すると、テーブルが作成できます。
4.プログラムを書く
一気にプログラムの記述が多くなりますが、以下のように書くと勤怠管理アプリが作成できます。
今回はRubyからMySQLを操作するというのが主題なので、その部分だけ抽出して説明していきます。
gemを使っているので、以下のような記述をするとRuby上からSQL文を実行できます。
client.query("SQL文")
5.動作確認
「4.プログラムを書いていく」でプログラムを書いたファイルを実行すると、勤怠管理アプリがコマンドライン上で実行されます。
数字で操作していくと、勤怠が管理できていると思います。
何回か出退勤の操作を行ってみて、MySQL上でSELECT * FROM attendance;
のようなコマンドを実行すると、レコードが追加されていることが確認できます。
まとめ
勤怠管理アプリを作成する過程でMySQLを使うことができました。
Ruby on RailsからMySQLを使うことはあっても、RubyからMySQLを使うことは意外に無かったのではないでしょうか?
今回の学習を通して、Ruby on Railsの裏側を垣間見ることができたのではないでしょうか?
今回作ったのは勤怠管理アプリでしたが、自分で他のアプリを作ることでさらに理解が深まると思います。
コメントを残す