0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RubyOnRailsを用いたデータベースの作り方

Posted at

復習を兼ねて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
#追加したカラムを反映させるために、コマンドを実施
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?