入门ThinkPHP5.0模型篇-对数据库的操作

来源:互联网 发布:javascript 观察者模式 编辑:程序博客网 时间:2024/05/29 02:01

第一小节讲数据库操作,也就是DB类,DB类的链接,增删改查以及条件构造器的链接。

第二小节主要学习TP5的模型层,模型层和DB类功能相同,也是对数据库进行增删改查的操作,只是它有了更高级的功能,模型层只是对TP5的DB类进行又一次封装,使我们使用起来更方便。修改器,自动完成以及时间戳,数据的软删除, 通过学习模型层,完成对数据库的所有操作。

2-1数据库的连接操作
在conf文件夹下建database.php文件,将conwention.php里关于数据库操作的部分复制过去,index文件下 dump(config(‘database’)),浏览器中得到刚刚的配置参数;
这里写图片描述

namespace app\index\controller;use think\Controller;use think\Db;class Index extends Controller{    public  function  index()    {        $res=Db::connect();        dump($res);        }        }

此时并没有真正的连接,只有在使用的时候才真正的connect上了

2-2数据库查询
(1)使用sql语句的方式查询

$res=Db::query("select * from imooc_user where id=?",[1]);        dump($res);

(2)find方法返回一条记录,返回的结果是一维数组,如果结果不存在,返回NULL

$res=Db::table('imooc_user')->where(['id'=>10])f->ind();        dump($res);

(3)select返回所有记录,返回的结果是二维数组,如果结果不存在,则返回一个空数组

$res=Db::table('imooc_user')->select();   dump($res);

(4)#value查询耨个字段值

     #返回一条记录,并且是这条记录的某个字段值,如果结果不存在,返回NULL        $res=Db::table('imooc_user')->where(['id'=>1])->value('email');
    (5)column返回一维数组,数组中的value值就是我们要获取的列的值就是结果不存在返回空数组
     $res=Db::table('imooc_user')->column('username','email');

(6)添加数据:insert 返回值是影响记录的行数,插入数
insertGetId:返回插入数据的自增id
insertAll:返回插入数据成功的行数
$db=Db::table(‘imooc_user’);

$res= $db->insert([            'username'=>'imooc',           'password'=>'md5(imooc)',            'email'=>'imooc']);

(7)更新数据库
1.使用update方法时,必须要传递where条件 ,返回影响的行数

$db=Db::table('imooc_user');      $res=$db->where(['id'=>1])->update([          'username'=>'lululu'    ]);      dump($res);
  1. setField仅更新某一字段,每次只更新一个字段
$res=$db->where(['id'=>2])->setField([            'username'=>'xxf'        ]);

(3)setInc 只传递一个字段名,该字段每次自增1,传递第二工人参数,该字段每次自增5
setDec,返回影响记录的行数,用于想要某个字段自减

(8)数据库删除操作
使用where条件或直接在delete中传入主键的自增id

  $res=$db->where(['id'=>2])->delete();  $res=$db->delete(3);

截断数据表:phpmyadmin里选中表,点击操作,选择清空数据表