Codeigniter操作データベーステーブルの最適化書き方のまとめ
3105 ワード
codeigniterを使ってもしばらく時間がありました。何もまとめていません。今いくつかのCodeigniter操作データベース表の最適化の書き方をまとめます。全体ではないですが、確かにCIを始めたばかりの学生を助けます。
リンクデータベース
挿入
リンクデータベース
$this->load->database();//
//
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
クエリー//
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));
//
$query = $this->db->query($sql); //
$query = $this->db->get('tablename'); // , :SELECT * FROM tablename
$query = $this->db->get('tablename', 10, 20); // : SELECT * FROM tablename LIMIT 20, 10
$query->result() //
$query->result_array() //
/*
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->email;
}
*/
$query->num_rows() //
$query->num_fields() //
//
$row = $query->row(); //
$row = $query->row_array(); //
/*
$row = $query->row_array();
echo $row['name'];
*/
挿入
$data = array(
'title' => $title,
'name' => $name
);
$this->db->insert('tablename', $data); //
$this->db->insert_string('tablename', $data); //
$this->db->insert_id() // id
$this->db->affected_rows() // (update,insert)
更新$data = array(
'name' => $name,
'email' => $email
);
$where = "id = 1";
$this->db->update('tablename', $data);
$this->db->update_string('tablename', $data, $where);
削除$array = array(
'name' => $name,
'title' => $title
);
$this->db->delete('tablename', $array);
// Produces:
// "DELETE FROM tablename WHERE name = '$name' AND title = "$title""
$this->db->truncate('tablename'); //
// Produce: TRUNCATE tablename
-----------------------------------------------------
(where)
-------
$array = array(
'name' => $name,
'title' => $title
);
$this->db->where($array);
// Produces: "WHERE name = '$name' AND title = "$title""
-----------------------------------------------------
$this->db->count_all('tablename'); //
-----------------------------------------------------
$query->free_result() //