復習を兼ねてRubyOnRailsを用いたデータベースの作成方法について記載。
#モデルの作成方法
rails g model User name:string age:integer
上記コマンドでモデルを作成することができる。モデル名のUserだが、最初だけ大文字の単数形になることに注意。
(テーブル名はusersという小文字の複数形になる)
カラムにはstringなどデータの形式も指定する。
string:文字
text : 長い文字列(255文字以上のデータを格納する際)
integer : 整数
float : 浮動小数
decimal : 精度の高い小数
datetime : 日時
timestamp : タイムスタンプ
time : 時間
date : 日付
binary : バイナリデータ
boolean : Boolean
#マイグレーションファイルを実行する
rails db:migrate
このコマンドを実行することによりデータベースが作成される。
#データベースの中を見る
rails dbconsole
このコマンドを実行するとSQLiteが立ち上がる。コマンドを実行することでデータベースの中を参照可能。
.tables
#テーブル一覧を確認 ちゃんとテーブルが作成されたかを確認する際などに使用
.exit
#参照モードを解除
#データベースにデータを入れる
rails c
#rails consoleの略
このコマンドにより、コンソール上でRubyを簡単に実行することができる様になる。Rubyを用いてデータを入れていく。
User.create(name:"A君",age:22)
#nameがA君、ageが22歳のデータを追加
#データを参照する
User.find(1)
#ユーザーIDが1のデータを参照する
User.find_by(name:"A君")
#nameがA君のデータを参照する
IDを指定するときはfind、その他のデータを指定する場合はfind_byを使用する。
ただしfind_byはデータを検索して、IDが一番若い人のデータのみしか見つけてくれない。
(例:年齢が29歳の人が5人いても、最初の1人目しかデータを持ってこない)
User.where(age:29)
#複数のデータを持ってきたいときに入力
上記のコマンドを入力することによって、合致するデータを配列で抽出することができる。
ちなみに、下記コマンドで全てのユーザーを確認することが可能。
User.all
#ユーザーの情報を変更する
まずは変更の対象とするユーザーを決める
change_user = User.find(1)
#ユーザーID1のデータを変更することを宣言 ちなみにchange_userは変数なので、何でもOK
change_user.age = 35
#ID1のageを35に変更
change_user.save
#変更した内容を記録する こちらを実行しないとデータベースには反映されないので注意
#データの削除方法
user = User.find(1)
#まずは削除対象のデータを決める userは変数なので、別の名前でもOK この場合はIDが1を指定
user.destroy
#データを削除する
#カラムの追加方法
rails g migration add_mail_users mail:string
#マイグレーションファイルのみを作る mailカラムをusersテーブルに作る
rails db:migrate
#追加したカラムを反映させるために、コマンドを実施