アットウィキロゴ

SQL

「SQL」の編集履歴(バックアップ)一覧に戻る

SQL - (2010/02/22 (月) 22:04:07) のソース

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