博客列表 >tp5.1 Db类数据库操作入口类

tp5.1 Db类数据库操作入口类

Pengsir
Pengsir原创
2018年01月22日 17:44:261117浏览
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/1/22 0022
 * Time: 11:13
 */

namespace app\index\controller;
use think\Db;//导入操作数据库类
/*
 *查询构造器:
 * 准备工作:app_debug=>'true';app_trace=>'true';
 * 系统学习数据库的增删改查:CURD
 */
class Demo5
{
//    1.单条查询
        public function find(){
            /*
             * Db类数据库操作的入口类
             * 功能:静态调用think\Db\Query.php类中的查询方法实现基本操作
             * table():选择数据表
             * where():设置查询条件 表达式,数组
             * 1.单条使用表达式
             * 2.多条使用数组
             * find()返回符合条件的第一条记录,没有的话返回Null
             */
            $res =Db::table('student')
//                ->field('id,name,email')
                    ->field(['id'=>'编号','name'=>'姓名','email'=>'邮箱'])
                ->where('id','=',5)
//                ->find(5);//如果是主键查询,可省略where()
                ->find();
            dump(is_null($res)? '没有找到这条数据': $res);
        }
//        2.多条查询
        public function select(){
            //select()返回的是一个二维数组,没有数据返回是一个空数据
            $res=Db::table('student')
                ->field('id,name,email,course,grade')
                ->where([
                    ['course','=','php'],
                    ['grade','>=',80]
                ])->select();
            if(is_null($res)){
                return '没有找到数据';
            }else{
                foreach ($res as $row){
                    dump($row);
                }
            }
        }
        //插入操作
    public function insert(){
//            1.准备要插入的数据
        $data =[
            'name'=>'金毛狮王3',
            'email'=>'jm@qq.com',
            'course'=>'java','grade'=>99,
            'create_time'=>time(),
            'update_time'=>time(),
            ];
//        return Db::table('student')->insert($data);
//        return Db::table('student')->data($data)->insert();
//        插入的同时返回新增主键ID
//        insertGetId()同时执行二步:第一步插入,第二步返回主键id
        return Db::table('student')->insertGetId($data);
    }
//    4.添加多条
    public function insertAll(){
        $data =[
            ['name'=>'peng','email'=>'p@qq.com'],
            ['name'=>'shou','email'=>'s@qq.com'],
            ['name'=>'xing','email'=>'x@qq.com']
        ];
        return Db::table('student')->insertAll($data);
    }
//    5.更新操作
    public function update(){
        //update()必须要有更新条件
//        return Db::table('student')
//            ->where('id',14)
//            ->update(['name'=>'西门庆']);
//        如果更新条件是主键的话,可以直接把主键写到更新数组中
        return Db::table('student')
            ->update(['name'=>'金莲','id'=>15]);
    }
//    6.删除操作
    public function delete(){
        return Db::table('student')
            ->where('id',17)
            ->delete();
    }
    //原生查询
    public function query(){
        $sql = "SELECT `name`,`email`FROM `student` WHERE `id` IN (4,5,6)";
        dump(Db::query($sql));
    }
//    原生写操作:更新,删除,添加
   public function execute(){
//        return Db::execute("UPDATE `student` SET `name`='武松' WHERE `id`=13");
//        return Db::execute("INSERT `student` SET `name`='宋江'");
//       return Db::execute("DELETE FROM `student` WHERE `id`=12");
    }
}

admin数据库student表.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议