学習[43]日目
本日の学習内容
SQLについて
SQLはRDB(データをテーブルという表形式の構造で管理するデータベース)に対して命令を行う言語であるが、命令に関して2つに大別出来ます。
1つは、DDLと呼ばれるデータを定義するための命令としては
CREATE(Railsでいうとrake db:createやcreate table)
ALTER(Railsでいうとadd_column)
DROP(Railsでいうとdrop_table,drop_column)
があります。
もう1つは、DMLと呼ばれるデータを操作するための命令としては
INSERT(Railsでいうとsaveやcreateメソッド)
UPDATE(Railsでいうとupdateメソッド)
DELETE(Railsでいうとdestroyメソッド)
SELECT(Railsでいうとwhereやfindメソッド)
があります。
SQL=Structured Query Language
RDB=Rerational DataBase
DDL=Data Definition Language
DML=Data Manipulation Languae
SQLを実行するためには、データベースへ接続をする必要があります。
接続後、SQLを上にあったような命令を実際にしていきます。
CREATE DATABASE 任意のデータベース名;
によってデータベースを作成して、
SHOW DATABASE ;
により現在保管しているデータベースの一覧を確認して
USE 任意のデータベース名;
により使用するデータベースを選択する。
次いで、
CREATE TABLE 任意のテーブル名 (カラム名 カラム名の型);
によりデータベースにテーブルを作成して、
SHOW TABLES ;
により作成したテーブルとカラムの確認を行います。
カラムの詳細を確認する際には、
SHOW columns FROM 任意のテーブル名;
によって確認することが出来ます。
ALTER TABLE 任意のテーブル名 ADD (カラム名 カラム名の型);
によって指定したテーブルにカラムを追加することが出来ます。
追加の他にも
ALTER TABLE 任意のテーブル名 CHANGE (カラム名 カラム名の型);
により指定したテーブルのカラムの変更することが出来たり、
ALTER TABLE 任意のテーブル名 DROP カラム名;
により指定したテーブルのカラムを削除することが出来ます。
上記がDDLの内容になります。
続いてDMLの内容に関してです。
まず作成したテーブルのカラムにそれぞれ値を入力してレコードを生成する時は下記のコマンドを入力します。ただし、(値1, 値2, 値3)はそれぞれ(カラム1, カラム2, カラム3)に対応するものであると仮定した場合のものです。
INSERT INTO 任意のテーブル名 VALUES(値1, 値2, 値3);
によって全てのカラムに値が入ったレコードが生成されます。
もし、特定のカラムにのみ値を入力したい場合には、
INSERT INTO 任意のテーブル名 (カラム1, カラム3) VALUES(値1, 値3);
都することでカラムの1,3にのみ値を入力することが出来ます。
このようにカラム2の値を入れ忘れてデフォルト値のNULL状態を更新したい場合、
UPDATE 任意のテーブル名 SET カラム2 = 値2 WHERE id = 2 ;
によって値2をidが2のカラム2に追加してあげることが出来ます。
レコードを削除したい場合には、
DELETE FROM 任意のテーブル名 WHERE id = X ;
によって特定のidのレコードを削除することが出来ます。
上で出てくるFROMやSELECTはそれぞれ句と呼ばれ、FROM句はテーブル、SELECT句はカラムを指定する際に指定する名称の前に置くようにして使われる。
汎用例としてSELECT *のように明日タリクが使用されていることがありますが、これはワイルドカードと呼ばれ意味としては全てのカラムを選択するという意味である。
WHERE句は条件として論理演算子や比較演算子を利用することが出来るので取得するレコードの条件を指定することが出来ます。
このような条件等で検索してきたデータに関しては更に関数も用いて任意のデータにデータを編集することが出来ます。
今回はこのような感じで次はデータベースの設計に関して学習を進めていきたいと思います。
最後までお読み頂き有難うございます。