js css html

thinkphp5.0 数据库增删改查

2023-02-02  本文已影响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
上一篇 下一篇

猜你喜欢

热点阅读