zoukankan      html  css  js  c++  java
  • CodeIgniter-CI之MySQL

    首先我们需要进行一下配置,这里需要修改的文件为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()表示要更新的数据。

     

  • 相关阅读:
    184. Department Highest Salary【leetcode】sql,join on
    181. Employees Earning More Than Their Managers【leetcode】,sql,inner join ,where
    178. Rank Scores【leetcode】,sql
    177. Nth Highest Salary【leetcode】,第n高数值,sql,limit,offset
    176. Second Highest Salary【取表中第二高的值】,sql,limit,offset
    118. Pascal's Triangle【LeetCode】,java,算法,杨辉三角
    204. Count Primes【leetcode】java,算法,质数
    202. Happy Number【leetcode】java,hashSet,算法
    41. First Missing Positive【leetcode】寻找第一个丢失的整数,java,算法
    删除
  • 原文地址:https://www.cnblogs.com/sun-cloud/p/6689720.html
Copyright © 2011-2022 走看看