美文网首页js css html
thinkphp5.0 数据库增删改查

thinkphp5.0 数据库增删改查

作者: 暴躁程序员 | 来源:发表于2023-02-02 11:33 被阅读0次

    一、查询

    1. sql语句查询

    sql查询传递条件参数的两种方式
    返回多条数据,只查询到一条数据也以数组的方式返给前端,查不到返回[]

    $name = 'alias';
    $pwd = '123456';
    Db::query('select * from user where name = :name and pwd = :pwd',[$name,$pwd]);
    Db::query('select * from user where name =? and pwd =?',[$name,$pwd]);
    

    2. 链式查询

    参考tp5.0官方文档

    1. where()条件

    1. where(字段名,表达式,查询条件)
    Db::name('user')->where('name','like','%alias%')->select();
    
    1. where与 和 where或
      参考tp5.0官方文档
    where('字段名','表达式','查询条件');
    whereOr('字段名','表达式','查询条件');
    
    1. where 混合查询
      闭包
    Db::table('user')->where(function ($query) {
       $query->where('name', 'alias')->whereor('name', 'alias2');
    })->whereOr(function ($query) {
       $query->where('name', 'like', 'alias')->whereOr('name', 'like', 'alia2');
    })->select();
    
    1. where实现 等于 的四种方式
    // where(字段名,值)
    Db::name('user')->where('name','alias2')->where('pwd',456) ->select();
    
    // where(字段名,=,值)
    Db::name('user')->where('name','=','alias2')->where('pwd','=',456) ->select();
    
    // where([字段名=>字段值]) 
    Db::name('user')->where(['name'=>'alias2','pwd'=>'456']) ->select();
    
    // where(function ($query) { $query->where()})
    Db::name('user')->where(function ($query) {
        $query->where('name', 'alias2')->where('pwd', '456');
    })->select();
    

    2. 简单查询

    返回单条、多条数据
    返回指定列和所有数据

    // 返回单条数据,查询多条数据也以对象的方式返第一条给前端,查不到返回null
    Db::name('user')->where('name','alias2')->where('pwd',456) ->find(); 
    // 返回多条数据,只查询到一条数据也以数组的方式返给前端,查不到返回[]
    Db::name('user')->where('name','alias2')->where('pwd',456) ->select();
    
    // 返回指定列的数据
    Db::name('user')->where('name','alias2')->where('pwd',456)->field('id,name')->select(); // id name 列
    Db::name('user')->where('name','alias2')->where('pwd',456)->field('id,name',true)->select(); // 除了 id name 的列
    

    二、添加

    1. 添加单条
    $data = ['name' => 'alias1', 'pwd' => '123','create_time'  => Db::raw('now()')];
    Db::name('user')->insert($data); // 成功返回 1
    Db::name('user')->insertGetId($data); // 成功返回自增主键值
    
    1. 添加多条
    $list = [
        ['name' => 'alias1', 'pwd' => '123'],
        ['name' => 'alias2', 'pwd' => '456'],
        ['name' => 'alias3', 'pwd' => '789']
    ];
    Db::name('user')->insertAll($list); //成功返回 添加成功的条数
    
    1. 助手函数方式
    db('user')->insert($data); // 添加单条数据,成功返回 1
    db('user')->insertAll($list);  // 添加多条数据,成功返回 添加成功的条数
    
    1. 快捷方式
    $data = ['name' => 'alias1', 'pwd' => '123'];
    Db::table('data')->data($data)->insert();
    

    三、删除

    删除成功返回删除成功的条数

    1. 删除单条
    Db::name('user')->delete(1); // 根据自增主键删除
    Db::name('user')->where('id',1)->delete();
    Db::name('user')->where('id','=',1)->delete();
    
    1. 删除多条
    Db::name('user')->delete([1,2,3]); // 根据自增主键删除
    Db::name('user')->where('id','<',3)->delete();
    
    1. 助手函数方式
    db('user')->delete(1); 
    db('user')->where('id','<',3)->delete();
    

    四、修改

    修改成功返回修改成功的条数

    1. 修改单条
    $data = ['name' => 'mac1','update_time'  => Db::raw('now()')];
    Db::name('user')->where('id', 2)->update($data); //成功返回1,没有修改返回0
    
    1. 修改多条
    2. 助手函数方式
    $data = ['name' => 'mac1'];
    db('user')->where('id', 2)->update($data); //成功返回1,没有修改返回0
    

    相关文章

      网友评论

        本文标题:thinkphp5.0 数据库增删改查

        本文链接:https://www.haomeiwen.com/subject/cldihdtx.html