codeigniter (CI)是一个优秀、敏捷的PHP开源框架,尤其封装了对数据库的操作,很方便,以下是php ci常用的数据库操作,作个记录:

/*
==================================
查询
$query = $this->db_query("SELECT * FROM table");
==================================
*/ //result() 返回对象数组
$data = $query->result(); //result_array() 返回数据
$data = $query->result_array(); //row() 只返回一行对象数组
$data = $query->row(); //num_rows() 返回查询结果行数
$data = $query->num_rows(); //num_fields() 返回查询请求的字段个数
$data = $query->num_fields(); //row_array() 只返回一行数组
$data = $query->row_array(); //free_result() 释放当前查询所占用的内存并删除关联资源标识
$data = $query->free_result(); /*
==================================
插入操作
==================================
*/ //上次插入操作生成的ID
echo $this->db->insert_id(); //写入和更新操作被影响的行数
echo $this->db->affected_rows(); //返回指定表的总行数
echo $this->db->count_all('table_name'); //输出当前的数据库版本号
echo $this->db->version(); //输出当前的数据库平台
echo $this->db->platform(); //返回最后运行的查询语句
echo $this->db->last_query(); //插入数据,被插入的数据会被自动转换和过滤,例如:
//$data = array('name' => $name, 'email' => $email, 'url' => $url);
$this->db->insert_string('table_name', $data); /*
==================================
更新操作
==================================
*/ //更新数据,被更新的数据会被自动转换和过滤,例如:
//$data = array('name' => $name, 'email' => $email, 'url' => $url);
//$where = "author_id = 1 AND status = 'active'";
$this->db->update_string('table_name', $data, $where); /*
==================================
选择数据
==================================
*/ //获取表的全部数据
$this->db->get('table_name'); //第二个参数为输出条数,第三个参数为开始位置
$this->db->get('table_name', 10, 20); //获取数据,第一个参数为表名,第二个为获取条件,第三个为条数
$this->db->get_where('table_name', array('id'=>$id), $offset); //select方式获取数据
$this->db->select('title, content, date');
$data = $this->db->get('table_name'); //获取字段的最大值,第二个参数为别名,相当于max(age) AS nianling
$this->db->select_max('age');
$this->db->select_max('age', 'nianling'); //获取字段的最小值
$this->db->select_min('age');
$this->db->select_min('age', 'nianling'); //获取字段的和
$this->db->select_sum('age');
$this->db->select_sum('age', 'nianling'); //自定义from表
$this->db->select('title', content, date');
$this->db->from('table_name'); //查询条件 WHERE name = 'Joe' AND title = 'boss' AND status = 'active'
$this->db->where('name', $name);
$this->db->where('title', $title);
$this->db->where('status', $status); //范围查询
$this->db->where_in('item1', 'item2');
$this->db->where_not_in('item1', 'item2'); //匹配,第三个参数为匹配模式 title LIKE '%match%'
$this->db->like('title', 'match', 'before/after/both');
$this->db->not_like(); //分组 GROUP BY title, date
$this->db->group_by('title', 'date'); //限制条数
$this->db->limit(0, 20);

codeigniter 对数据库的常用操作的更多相关文章

  1. nodejs 进阶:封装所有对数据库的常用操作

    //这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb').MongoClient; var settings = require(&quo ...

  2. linux下对应mysql数据库的常用操作

    ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后 ...

  3. linux 中数据库的常用操作

    1-连接数据库: mysql -h localhost -u jiangbiao -p xxxxx@xxx:~$ mysql -h localhost -u jiangbiao -p Enter pa ...

  4. mysql数据库中常用操作汇总

    一.查询数据库的基本信息: 1.    /* 查询数据库 ‘boss’ 所有表及注释 */SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema ...

  5. MySQL数据库的常用操作

    /*创建表*/ CREATE TABLE tb_test ( id ) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', name ) NOT NULL ...

  6. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  7. DBA必备:MySQL数据库常用操作和技巧

    DBA必备:MySQL数据库常用操作和技巧 2011-02-25 15:31 kaduo it168 字号:T | T MySQL数据库可以说是DBA们最常见和常用的数据库之一,为了方便大家使用,老M ...

  8. 在shell终端操作oracle数据库的常用命令

    这里面是在一个项目中用到的操作oracle数据库的常用linux命令,因为当时无法用plsql远程连接,大部分操作都需要在命令行窗口进行,总结一下 第一种方式 (1)先切换至sqlplus [orac ...

  9. sql server建库建表(数据库和数据表的常用操作)

    数据库和数据表 (开发常用 操作) 一,数据库的创建 一个SQLServer 是由两个文件组成的:数据文件(mdf) 和日志文件(ldf),所以我们创建数据库就是要为其指定数据库名.数据文件和日志文件 ...

随机推荐

  1. Java初学(二)

    一.数据类型 在定义Long或者Float类型变量的时候,要加L或f(大小写无关,只是便于识别,建议不要小写L) 整数默认是int,浮点数默认是double 二.java字符 java语言采用的是Un ...

  2. iOS 刚刚,几分钟前,几小时前,几天前,几月前,几年前

    - (NSString *)compareCurrentTime:(NSDate*) compareDate { NSTimeInterval timeInterval = [compareDate ...

  3. TCP的那些事儿(上)

    TCP的那些事儿(上) 原文链接:http://coolshell.cn/articles/11564.html TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面. ...

  4. Struts2标签简介

    Struts2标签简介 Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持,极大简化了视图页面的编写 不依赖任何表现 ...

  5. DROP TABLE ** CASCADE CONSTRAINTS PURGE删除表的时候级联删除从表外键

    1.关于 cascade constraints 假设A为主表(既含有某一主键的表),B为从表(即引用了A的主键作为外键). 则当删除A表时,如不特殊说明,则 drop table A 系统会出现错误 ...

  6. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  7. [转]uses-permission权限列表

    android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.permiss ...

  8. 复制”链接文件“到虚拟机(VirtualBox)的”共享文件夹“时报错:创建符号链接时报错:只读文件系统

    问题描述: 1.Ubuntu 中的 /www/目录,是宿主主机 Windows 7 以“共享文件夹”的形式挂载的: 2./etc/php.ini 是 /opt/software/php/etc/php ...

  9. [Android教程]EditText怎样限制用户的输入?数字/字母/邮箱

    有输入必有验证.为了防止用户随便输入确保提交数据的合法性,程序不得不在文本输入框(EditText)中增加限制或验证. 关于输入类型有数字.字母.邮箱.电话等形式,这些具体得根据业务来.那么Andro ...

  10. VS2008+Qt+助手 智能提示不显示、Qt关键字不高亮的解决办法【已解决】

    笔者使用的开发环境是VS2008+Qt4.8.5+VAssistX,有时候会出现代码关键字不能高亮显示,并且助手的智能提示不显示.问题如下 解决的办法是在助手的选项中设置其搜索路径,助手的设置通过VS ...