首先我们需要进行一下配置,这里需要修改的文件为application目录下的config目录下的database.php文件,我们修改相应的配置项,比如这里是我的配置情况:

通常我们在操作数据库之前,首先需要进行数据库的加载,通常代码内容如下:
$this->load->database();
在连接之后,我们可以使用$this->db来获取当前的数据库对象,然后我们就可以对它进行数据库的操作了。
PS:对于查询操作,一般我们得到的都是一个结果集,我们还需要调用一下result()这个方法来或许结果集。

来做一次数据的查询,要获取user表的数据,创建一个Db控制器,然后写一个demo方法,整个文件的代码如下:

我们就可以看到它数据取出后的结果了

其他框架转过来的朋友们会不习惯每次查询后都需要写一个result()来获取结果集,但是不得不承认的是这种方式也有不少优点的,而且它本身也有比较丰富的方法可供我们调用:
(1)num_rows()用来获取总的行数。
(2)list_fields()用来获取所有的字段数。
(3)result_array()用数组的方式来获取数据。
(4)result_object()用对象的方式来获取数据。
(5)row()用来获取一行数据。
(6)next_row()用来获取下一行数据。
(7)first_row()用来获取第一行数据。
(8)previous_row()用来获取上一行数据。

在Db控制器中新建一个result()方法,然后书写如下代码:

在上面的代码中,直接执行了一条SQL语句,然后我们用一个循环的方式来输出每条记录的内容,需要说明的是,这里的每条记录默认返回的格式是对象格式。然后我们就会看到具体的输出如下:

增删改查

首先是增加数据,我们可以使用insert()方法来插入数据,它的第一个参数是表名,第二个参数是一个数组。

在上面,我们向role表中插入了一条数据

我们也可以进行批量插入,这个时候我们可以使用insert_batch()方法,它的第一个参数也是一个表名,第二个参数可以是一个多维数组。代码范例如下:

这里表示成功插入的行数

对于查询数据来说,则有比较多的方法,下面是几个常用的方法:
(1)from()表示选择的表
(2)select()表示要选择哪些字段,可以用数组表示,也可以用逗号分隔多个字段的字符串,如果为空则表示选择所有字段,相当于填写了"*"
(3)distinct()表示去除重复的记录
(4)limit()表示要获取多少条记录
(5)offset()表示选择的偏移量
(6)where()表示where条件,一般第一个参数是字段名,第二个参数是值,也可以把第一个参数设置为整个条件
(7)group_by()表示按哪些字段进行分组
(8)order_by()表示按哪些字段进行排序,第一个参数为字段名,第二个参数用'asc'表示升序,用'desc'表示降序
(9)join()表示进行表的连接,第一个参数为连接的表名,第二个参数为连接的条件
(10)get()表示进行获取操作,在它之后通常跟result()来检索出具体的结果
其实具体的方法还有很多,这里只是列举了比较常用的几个

不过对于查询来说,它所涉及的方法还是有点太多了,很多功能我们还是需要去查看手册。

对于数据的删除,我们可以使用delete()来执行,我们可以用from()来选择表,用where()来表示条件,用delete()来表示最后的删除。

对于数据的修改,我们可以使用update()来进行修改,我们可以使用from()来选择要更新的表,我们可以用where来表示更新的条件,我们可以用set()表示要更新的数据。

最新文章

  1. Hibernate映射一对多双向关联关系及部门关联属性
  2. Plextor 浦科特M7VC性能
  3. CSS3 box-sizing 属性
  4. 转:Java架构师与开发者提高效率的10个工具
  5. UICollectionView出现the behavior of the UICollectionViewFlowLayout is not defined because:
  6. linux内核--进程地址空间(一)
  7. 阿里巴巴2014年校园招聘(秋季招聘)在线笔试--測试研发project师
  8. Activity的启动模式与flag详解
  9. rem布局配合less的快速开发
  10. win10 mysql详尽安装教程
  11. 基于Grafana+SimpleJson的灵活报表解决方案
  12. 实现memcpy函数
  13. C# 中的Async 和 Await 的用法详解
  14. MYSQL定时任务 触发器
  15. Numpy 数据类型
  16. SAP Brazil J1BTAX 为税收例外创建税收组(翻译)
  17. 理解socket.io(一)---相关的API
  18. topcoder srm 710 div1 -23
  19. 避免代码merge后无法构建发布(GItlabCI + Jenkins)
  20. arduino 配置 esp8266

热门文章

  1. webpack教程——css的加载
  2. IE新发现
  3. CSS制作响应式正方形及其应用
  4. Mybatis 框架文档 超具体笔记
  5. opencv源代码分析之二:cvhaartraining.cpp
  6. Entity Framework Utility .ttinclude File
  7. python对XML 操作
  8. PCB 无需解压,直接读取Zip压缩包指定文件 实现方法
  9. PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)
  10. JPA实体关联关系,一对一以及转换器