RailsのActive RecordとSQLについて
前回Railsがデータベースとどのようにデータのやり取りをしているかを学びました。
せっかくRailsで簡単に出来るように作ってくれているのだから、そちらの勉強に注力した方がいいのかなとも思っています。
なので簡単にだけSQLについて学んでみたいと思います。
Railsでモデルをつくる時のことが、以下のサイトの「Active Recordのモデルを作成する」という項目に書かれています。
Productというモデルを作るとした時の記述
class Product < ApplicationRecord
end
これと同等のSQLは以下のようになるようです。
このSQLの構文について以下のサイトを参考に勉強してみました。
◇ CREATE TABLEの基本構文
CREATE TABLEはテーブルを新規に作成する場合に用いるSQL文だそうです。
詳しくは下にまとめています。
先に出来上がりのデータベースのイメージを載せます。
データを追加するのはまた別のSQL文だと思いますが、データが入った時のイメージはこんな感じですかね。
◇ データ型の例
データ型の後ろの括弧は “データ長さ” を表すようです。
int(11)については11桁という意味ではなく、11個まで数字を表示するという意味みたいです。
varcharについてはこちら ↓
文字列のデータを扱う型で、括弧内の数字に長さが固定されないので、名前や住所など長さが変わる事もあるようなデータに使われるそう。
括弧内の数字はバイト数。1バイトは半角英数字1文字分の情報量。全角文字の場合1文字で2バイトの容量を必要とする。
◇ CREATE TABLEの主なオプション
null値とはデータが何も無いこと。
auto_incrementについてはこちら ↓
AUTO_INCREMENT をつけると、データを追加した時にカラムに対して現在格納されている最大の数値に 1 を追加した数値を自動で格納することができるとのこと。
他にもこちらの記事でSQL文との比較を載せてくれていました。
まだ使ったことのないRailsコードだったので、使うときに随時確認していきたいと思います。
次回はRDBMSであるPostgre SQLとSQLiteの違いを勉強したいと思っています。
読んで頂きありがとうございました!