今週の学習課題
・ オラクルSQLの知識習得
(先週はMySQLベースで学習してしまったのでやり直し)
学習内容・結果
1. SQLの種類
-DDL(データ定義言語)
・CREATE
・ALTER
・DROP
–DML(データ操作言語)
・INSERT
・SELECT
・UPDATE
・DELETE
–DCL(データ制御言語)
・BEGIN
・COMMIT
・ROLLBACK
2. 式・条件
–CASE(値で分岐)
–CASE(条件で分岐)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
《DDL/データ定義言語》
情報を定義する際に使用するSQL。
●CREATE
CREATEはテーブルを作成することができる。多くのオプションも存在する。
CREATE TABLE RECEPTION (
RECEPTION_ID NUMBER(10) NOT NULL, --受付番号
MEMBERS_ID NUMBER(10) NOT NULL, --会員番号
CREATE_DATE DATE, --作成日
CONSTRAINT PK1 PRIMARY KEY(RECEPTION_ID)
);
●ALTER
ALTERは定義を追加・変更することができる。
ALTER TABLE RECEPTION ADD (
UPDATE_DATE DATE, --更新日
);
●DROP
DROPはテーブルを削除することができる。
DROP TABLE RECEPTION;
《DML/データ操作言語》
情報を操作する際に使用するSQL。
●INSERT(登録)
INSERTは情報を登録できる。この登録した情報1件1件をレコードといい、
1回のINSERTで1レコードを登録する。
INSERT INTO RECEPTION (RECEPTION_ID, MEMBERS_ID, CREATE_DATE, UPDATE_DATE) VALUES (1, 1, SYSDATE, SYSDATE)
SYSDATE:現在日付で、処理を行った日付を入力可能
●SELECT(検索)
SELECTはテーブルからレコードを取得できる。
SELECT RECEPTION_ID, MEMBERS_ID, CREATE_DATE, UPDATE_DATE FROM RECEPTION;
)-- * を用いることで全カラムを指定することが可能
SELECT * FROM RECEPTION;
-- 特定のカラムだけ取得することも可能
SELECT RECEPTION_ID, MEMBERS_ID FROM RECEPTION;
●UPDATE(更新)
UPDATEはカラムの値を更新できる。
UPDATE RECEPTION SET MEMBERS_ID = 2, UPDATE_DATE = SYSDATE WHERE RECEPTION_ID = 1;
●DELETE(削除)
DELETEはレコードを削除できます。
DELETE FROM RECEPTION WHERE RECEPTION_ID = 1;
《DCL/データ制御言語》
情報操作を制御する際に使用するSQL。。
●BEGIN(トランザクションを開始)
トランザクションとは一連の処理のかたまりを指す。
一連の流れで、一箇所でもエラーになればそれまでの処理をすべてもとに戻せるようにする役割を果たす。
このトランザクションを開始させるSQLがBEGIN。
●COMMIT(トランザクションを確定)
トランザクションを開始したら終了を伝える必要がある。
この終了を伝える指示がCOMMITである。
DBの設定により、オートコミット設定がONになっている場合、1SQLを実行するたびに自動でCOMMMIT処理がなされる。
●ROLLBACK(トランザクションを取り消す)
トランザクションを開始した以降の処理をすべて取消。
オートコミット設定がONになっている場合、ROLLBACK指示は無効とされる。
《CASE/値で分岐》
「値」で分岐した結果を返す方法。
SELECT
CASE 列名
WHEN 値1 THEN 結果1
WHEN 値2 THEN 結果2
ELSE 結果3
END
FROM table1;
《CASE/条件で分岐》
「条件式」を使う事ができるため幅が広がる。
WHENで条件式を記述し、SELECTしたい結果をTHENのあとに記述します。「CASE」の最後は「END」でしめくくるのがルール。
SELECT
CASE
WHEN 条件1 THEN 条件1の結果
WHEN 条件2 THEN 条件2の結果
ELSE 条件1,2以外の結果
END
FROM table1;
来週の目標
SQLの復習・学習
最終的にはCRUD・TRUNCATEを習得
残り一週間のためもっと多くの知識を詰め込んでいく。