SQLとは
プログラミングの学習を始めると必ずお会いする言葉、それはSQL。
SQLとはデータベース内のデータを操作するプログラム言語のことです。
データベースにデータを登録するときや、何かのデータを参照するために取り出すときは、
実はSQLを介して行なっています。
命令文を実行することで、必要なデータを簡単に取得できるのです。
ちなみにフルネームは「Structured Query Language」で、これを直訳すると
「構造化問い合わせ言語」という意味らしいです。逆に難しい...。
SQLを覚えると、データベースに保存されている情報を効率的に扱えるようになります。
Rails内でのSQL
Rails内ではSQLを意識することはあまりないかもしれません。
例えば、通常データベースとやりとりをするためにはこのSQLでアクセスする必要があります。(SQL=データベース言語ともいう)
しかし、Railsではモデルを使うことでデータベースとのやりとりが簡略化されており、
SQLを記述しなくてもデータベースのやりとりができるようになっています。
RailsではモデルがSQL文をデータベースに渡すことでデータを操作できているんですね。
SQLを構成する3つの言語
SQLの命令文はDDL・DML・DCLの3種類で構成されています。
●DDL(Data Definition Language)・・・データを定義
●DML(Data Manipulation Language)・・・データを操作
●DCL(Data Control Language)・・・データ制御や管理
definitionは定義っていう意味だし、manipulationは操作って意味だし、Controlはそのままだし
そう考えると覚えやすいですね!
DDL(データ定義言語)
SQLのデータベースの定義や作成に関わる。代表的なのは以下3つ。
♦︎CREATE文・・・データベースやテーブルの作成
♦︎DROP文・・・データベースやテーブルの削除
♦︎ALTER文・・・データベースやテーブルの変更
DML(データ操作言語)
データの取得/登録/更新/削除などのデータ操作に関わる。
♦︎SELECT文・・・データを取得
♦︎UPDATA文・・・データ更新
♦︎DELETE文・・・データ削除
♦︎INSERT文・・・データ挿入
DCL(データ制御言語)
データベースを管理、操作するときに使用する言語。
トランザクションの制御やデータベースへのアクセスを制御。
♦︎BEGIN文・・・トランザクション開始
♦︎COMMIT文・・・実行した処理の確定
♦︎GRANT文・・・権限を与える
♦︎REVOKE文・・・権限を奪う
♦︎ROLLBACK文・・・データの戻し
※トランザクション?何それ?ってなった方は以下記事ご参照ください。
SQL活用方法の例
| 生徒番号 | 名前 | クラス |
|---|---|---|
| 1 | Apiyo | 2 |
| 2 | Bpiyo | 1 |
| 3 | Cpiyo | 3 |
| 4 | Dpiyo | 1 |
1. SELECT 名前 EROM 生徒テーブル WHERE 生徒番号 = 1
例えば、上のリストから1番の生徒のデータを取り出したい ➡︎ SELECT文を使用
結果、生徒番号1番のApiyoちゃんを取り出せるはずです。
今回はSQLの基本中の基本をまとめてみました!以下記事も参照ください。
https://wa3.i-3-i.info/word15640.html
https://udemy.benesse.co.jp/development/system/intro-sql.html
