- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- CodeIgniter CRUD へ行く。
- 1 (2011-05-18 (水) 08:27:27)
- 2 (2011-05-18 (水) 08:53:55)
- 3 (2011-05-21 (土) 13:00:34)
- 4 (2011-05-23 (月) 15:42:23)
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.htmlINSERT は既存テーブルに新しい行を挿入します。
INSERT ... VALUES と INSERT ... SET 型のステートメントは、明示的に指定された値に基づいて行を挿入します。
INSERT ... SELECT 型は別のテーブルから選択された行を挿入します。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, ... ]
または:
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, ... ]
または:
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 条項は、更新できる行数に制限を設定します。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のモデルクラスの記述例
ユニークな値なら「UPDATE IGNORE」にする。
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(); } ?>
http://codeigniter.jp/user_guide_ja/database/helpers.html
$this->db->affected_rows()
「書き込み」タイプのクエリ (insert、update、など) が実行されたとき、処理された行の数を取得します。