CI框架的数据操作(增删改查)方法总结
2017-06-28 15:32
645 查看
<?php class demo_model extends CI_Model { public function __construct() { $this->load->database(); } //- 查询实例 public function select() { //SELECT * FROM mytable $query = $this->db->get('mytable'); //SELECT * FROM mytable LIMIT 20, 10 //说明:第二参数是每页纪录数,第三个参数是偏移 $query = $this->db->get('mytable', 10, 20); //SELECT * FROM mytable where id=$id LIMIT $offset,$limit $query = $this->db->get_where('mytable',array('id' => $id),$limit,$offset); //SELECT title, content, date FROM mytable $this->db->select('title, content, date'); $query = $this->db->get('mytable'); //SELECT MAX(age) as age FROM members $this->db->select_max('age'); $query = $this->db->get('members'); //SELECT MIN(age) as age FROM members $this->db->select_min('age'); $query = $this->db->get('members'); //SELECT MAX(age) as member_age FROM members $this->db->select_max('age', 'member_age'); $query = $this->db->get('members'); //SELECT SUM(age) as member_age FROM members $this->db->select_sum('age','member_age'); $query = $this->db->get('members'); //SELECT title, content, date FROM mytable $this->db->select('title, content, date'); $this->db->from('mytable'); $query = $this->db->get(); //SELECT * FROM blogs //JOIN comments ON comments.id = blogs.id $this->db->select('*'); $this->db->from('blogs'); $this->db->join('comments', 'comments.id = blogs.id'); $query = $this->db->get(); //可选参数:left,right, outer, inner, left outer,right outer. //LEFT JOIN comments ON comments.id = blogs.id $this->db->join('comments', 'comments.id = blogs.id', 'left'); //WHERE name = 'joe' $this->db->where('name','joe'); //WHERE name = 'joe' and id=1 $this->db->where('name','joe'); $this->db->where('id',1); //WHERE name != 'joe' and id < 45 $this->db->where('name !=', 'joe'); $this->db->where('id <', 45); //WHERE name = 'Joe' AND title = 'boss' $array = array('name' => $name, 'title' => $title); $this->db->where($array); //WHERE name != 'Joe' AND id<1 $array = array('name!=' => $name, 'id<' => $id); $this->db->where($array); //可以自定义where $where = "name='Joe' AND status='boss' OR status='active'"; $this->db->where($where); //WHERE name != 'Joe' OR id > 50 $this->db->where('name !=', $name); $this->db->or_where('id >', $id); //WHERE username IN ('Frank', 'Todd', 'James') $names = array('Frank', 'Todd', 'James'); $this->db->where_in('username', $names); //OR username IN ('Frank', 'Todd', 'James') $names = array('Frank', 'Todd', 'James');//in后面只能是数组形式 $this->db->or_where_in('username', $names); //WHERE username NOT IN ('Frank', 'Todd', 'James') $names = array('Frank', 'Todd', 'James'); $this->db->where_not_in('username', $names); //OR username NOT IN ('Frank', 'Todd', 'James') $names = array('Frank', 'Todd', 'James'); $this->db->or_where_not_in('username', $names); //WHERE title LIKE '%match%' AND body LIKE '%match%' $this->db->like('title', 'match'); $this->db->like('body', 'match'); //可选参数:before,after,both,none //WHERE title LIKE '%match' $this->db->like('title', 'match', 'before'); // WHERE title LIKE '%match%' AND page1 LIKE '%match%' AND page2 LIKE '%match%' $array = array('title' => $match, 'page1' => $match, 'page2' => $match); $this->db->like($array); // WHERE title LIKE '%match%' OR body LIKE '%match%' $this->db->like('title', 'match'); $this->db->or_like('body', $match); // WHERE title NOT LIKE '%match% $this->db->not_like('title', 'match'); // WHERE title LIKE '%match%' OR body NOT LIKE '%match%' $this->db->like('title', 'match'); $this->db->or_not_like('body', 'match'); //GROUP BY title $this->db->group_by("title"); //GROUP BY title, date $this->db->group_by(array("title", "date")); //ORDER BY title DESC $this->db->order_by("title", "desc"); //ORDER BY title DESC, name ASC $this->db->order_by('title desc, name asc'); //ORDER BY title DESC, name ASC $this->db->order_by("title", "desc"); $this->db->order_by("name", "asc"); //LIMIT 10 $this->db->limit(10); //LIMIT 20, 10 (仅限MySQL中。其它数据库有稍微不同的语法) $this->db->limit(10, 20); //$this->db->count_all_results('my_table'); } //插入实例 public function insert() { //INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date') $data = array('title' => 'My title' ,'name' => 'My Name' ,'date' => 'My date'); $this->db->insert('mytable', $data); //INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), //('Another title', 'Another name', 'Another date') $data = array( array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ), array( 'title' => 'Another title' , 'name' => 'Another Name' , 'date' => 'Another date' ) ); $this->db->insert_batch('mytable', $data); //INSERT INTO mytable (field) VALUES (field+1) $this->db->set('field', 'field+1', FALSE); $this->db->insert('mytable'); //INSERT INTO mytable (field) VALUES ('field+1') //$this->db->set('wealth', 'wealth-'.$wealth, FALSE); $this->db->set('field', 'field+1'); $this->db->insert('mytable'); // $array = array('name' => $name, 'title' => $title, 'status' => $status); $this->db->set($array); $this->db->insert('mytable'); } //更新实例 public function update() { // UPDATE mytable // SET title = '{$title}', name = '{$name}', date = '{$date}' // WHERE id = $id $data = array( 'title' => $title,'name' => $name,'date' => $date); $this->db->where('id', $id); $this->db->update('mytable',$data); $this->db->update('mytable', $data, "id = 4"); //$where=array('id'=>10); //累加1 $this->db->where($where)->set('views','views+1',false)->update('news_info'); $where = array('id' => $id); $this->db->update('mytable', $data, $where); } //删除实例 public function delete() { //DELETE FROM mytable WHERE id = $id $this->db->delete('mytable', array('id' => $id)); //DELETE FROM table1 WHERE id = 5 //DELETE FROM table2 WHERE id = 5 //DELETE FROM table3 WHERE id = 5 $tables = array('table1', 'table2', 'table3'); $this->db->where('id', '5'); $this->db->delete($tables); // DELETE FROM mytable $this->db->empty_table('mytable'); } //其他实例 public function other() { //链式方法 $this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20); $query = $this->db->get(); //Active Record 缓存 $this->db->start_cache(); $this->db->select('field1'); $this->db->stop_cache(); $this->db->get('tablename'); //此处输出:SELECT `field1` FROM (`tablename`) $this->db->select('field2'); $this->db->get('tablename'); //此处输出:SELECT `field1`, `field2` FROM (`tablename`) $this->db->flush_cache(); $this->db->select('field2'); $this->db->get('tablename'); //此处输出:SELECT `field2` FROM (`tablename`) } //显示结果 public function result() { return $query->row_array();//返回第一行数据,返回结果为数组 return $query->result_array();//返回多行数据,返回结果为数组 return $query->row();//返回第一行数据 return $query->result();//返回多行数据 return $query->row_array(4);//加参数,可返回第五行数据,用法同上 return $query->num_rows();//当前请求行数 return $query->num_fields();//当前请求的字段数(列数) $this->db->affected_rows();//更新插入显示影响结果(insert/update) //显示结果集 return $this->db->query('sql'); //显示插入id return $this->db->insert_id(); //显示my_table有多少行数据 return $this->db->count_all('my_table'); //显示系统使用的数据库 return $this->db->platform(); //输出系统正在运行的数据库版本号 return $this->db->version(); //显示最近执行的SQL语句:SELECT * FROM sometable.... return $this->db->last_query(); //生成一个SQL语句 //INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@example.com', 'example.com') $data = array('name' => $name, 'email' => $email, 'url' => $url); return $this->db->insert_string('table_name', $data); //同上 $data = array('name' => $name, 'email' => $email, 'url' => $url); $where = "author_id = 1 AND status = 'active'"; return $this->db->update_string('table_name', $data, $where); //直接执行一个SQL语句 $sql = ""; $result=$this->db->query($sql)->result_array(); } }
相关文章推荐
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- CI(CodeIgniter)框架中的增删改查操作
- CI(CodeIgniter)框架中的增删改查操作
- CI框架入门示例之数据库取数据完整实现方法
- CI框架入门示例之数据库取数据完整实现方法
- 【ci框架】框架AR操作插入多条sql数据
- ORM映射框架总结--数据操作(五)
- android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过
- java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)
- CI(CodeIgniter)框架中的增删改查操作
- extjs4 数据的增删改查操作 数据的操作
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制等
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- ci框架操作数据库基本方法
- .NET C#操作文件系统数据的常用方法总结 part1
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR一、查询数据集合
- servlet小总结3----同一用户的不同页面的共享数据的四种方法,及Servlet中操作数据库时等
- 【总结】CI框架 操作 mysql 数据库 分类: php CI框架 mysql 增删改查 数据库 2014-08-03 22:16 200人阅读 评论(0) 收藏
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)