CodeIgniter

CRUD

CRUDとは (Create, Read, Update, Delete) クラッド: - IT用語辞典

CRUDとは、データベース管理システム(DBRS)に必要とされる4つの主要な機能、「作成(Create)」「読み出し(Read)」「更新(Update)」「削除(Delete)」をそれぞれ頭文字で表したもののことである。

Create

  • MySQL INSERT構文
    http://dev.mysql.com/doc/refman/5.1/ja/insert.html

    INSERT は既存テーブルに新しい行を挿入します。
    INSERT ... VALUES と INSERT ... SET 型のステートメントは、明示的に指定された値に基づいて行を挿入します。
    INSERT ... SELECT 型は別のテーブルから選択された行を挿入します。

    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
    
     
     
     
     
    
    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        VALUES ({expr | DEFAULT},...),(...),...
        [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

    または:

    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
    
     
     
     
     
    
    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name
        SET col_name={expr | DEFAULT}, ...
        [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

    または:

    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
    
     
     
     
     
    
    INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        SELECT ...
        [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
  • CodeIgniterのモデルクラスの記述例
      1
      2
      3
      4
      5
      6
      7
      8
      9
    
    <?php function insert($arg) {
      $this->load->database();
      $sql = 'INSERT IGNORE `table_name` SET
        `column_name1` = ? ,
        `column_name2` = ? ,
        `column_name3` = ?';
      $param = array($arg[1], $arg[2], $arg[3]);
      $this->db->query($sql, $param);
      return $this->db->insert_id();
    } ?>

http://codeigniter.jp/user_guide_ja/database/helpers.html

$this->db->insert_id()
データベースに行を挿入したときに、挿入した ID 番号を取得します。

Read

Update

  • MySQL UPDATE構文
    http://dev.mysql.com/doc/refman/5.1/ja/update.html

    単一テーブル構文には、UPDATE ステートメントは新しい値を利用して tbl_name 内に既存行のカラムを更新します。
    SET 条項は、どのカラムを変更し、それらにはどの値が与えられるべきかという事を指示します。
    もし WHERE 条項が与えられたら、それはどの行を更新するべきかを決定します。WHERE 条項が無ければ、全ての行が更新されます。
    もし ORDER BY 条項が指定されると、指定された順に行が更新されます。
    LIMIT 条項は、更新できる行数に制限を設定します。

    Everything is expanded.Everything is shortened.
      1
      2
      3
      4
      5
    
     
     
     
     
     
    
    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
        SET col_name1=expr1 [, col_name2=expr2 ...]
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
  • CodeIgniterのモデルクラスの記述例
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
    
    <?php function update($arg, $where) {
      $this->load->database();
      $sql = 'UPDATE `table_name` SET
          `column_name1` = ? ,
          `column_name2` = ? ,
          `column_name3` = ?
        WHERE
          `column_name4` = ?';
      $param = array($arg[1], $arg[2], $arg[3], $where);
      $this->db->query($sql, $param);
      return $this->db->affected_rows();
    } ?>
    ユニークな値なら「UPDATE IGNORE」にする。

http://codeigniter.jp/user_guide_ja/database/helpers.html

$this->db->affected_rows()
「書き込み」タイプのクエリ (insert、update、など) が実行されたとき、処理された行の数を取得します。

Delete


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS