アットウィキロゴ

SQL

●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すること

 

 

最終更新:2010年02月22日 22:04