●SELECT文
①列の別名
列名 AS 列別名
→ASは省略可能
以下の場合は、「””」で囲む
・大小文字を区別したい場合
・列別名にスペースがある場合
・列別名に特殊記号($や#など)
②NULL
・NULLが算術式にあった場合は、結果NULLとなる
例) 1.5 * NULL = NULL
・文字列との結合
文字列とNULLを結合した場合、文字列が返る
③リテラル
・文字や日付けのリテラルは、シングル「'」で囲む
・数値は、囲まない
①INSERT構文
INSERT INTO 表名 [列名1、列名2・・・]
VALUES (値1,値2・・・);
※列リストと値リストは数と順番があっていないとエラーになる
列リストは必須ではない
VALUESに記述の、文字或いは日は「’」で囲む
・行を挿入する場合、(NULL)
1.暗黙的な方法(列を列リストから外す)
2.明示的な方法
NULLを指定又は、空文字列''を指定する。
②UPDATE構文
UPDATE 表名
SET 列名1=値1[,列名2=値2,・・・・]
[ WHERE 条件式 ]
・SET句で複数の列をカンマで区切って複数更新できる
・SET句では、NULLキーワードも利用可能
列定義でNOT NULLの場合は、不可能
・WHERE条件に一致したものを、複数更新可能
③DELETE構文
DELETE [ FROM ] Table名 [ WHERE XX]
※TRUNCATEもデータ削除はできるが、行単位にはできない。
・全体削除のみ
・DDLのため、ロールバックできない
TRUNCATE構文
TRUNCATE TABLE Table名;
■トランザクション
①SAVEPOINT
トランザクションを細かくセッションに分割できる
構文:ROLLBACK TO A;
例)SAVEPOINT A;
DELETE FROM Test; ①
SAVEPOINT B;
DELETE FROM Test2; ②
ROLLBACK TO B;
※SAVEPOINT Bまで戻り②のみロールバックする
同じ名称のSAVEPOINTを作成した場合、直前のトランザクションのみROLLBACKし
それより前のSAVEPOINTは削除される
例)SAVEPOINT A;
DELETE FROM Test; ①
SAVEPOINT A;
DELETE FROM Test2; ②
ROLLBACK TO A;
※SAVEPOINT ②のみロールバックする。①のSAVEPOINTは削除される
②トランザクション
DDL、DCL実行時は、トランザクションは暗黙でコミットされる
DMLの場合は、されない
DMLの後でDDLやDCL実行する場合は、事前にcommitまたはrollbackすること