php手记之04-tp5数据库操作
时间:2021-07-01 10:21:17
帮助过:3人阅读
//
原生sql语句查询
// $ret = Db::query("select * from tp5_user where id>10");
// dump($ret);
// 占位写法
// 单个参数
// $sql = "select * from tp5_user where id=?";
// $ret = Db::query($sql,[1]);
// $sql = "select * from tp5_user where id=:id";
// $ret = Db::query($sql,[‘id‘=>1]);
// 多个条件
// $sql = ‘select * from tp5_user where name=:name and id=:id‘;
// $ret = Db::query($sql,[‘name‘=>‘zhangsan‘,‘id‘=>2]);
// dump($ret);
// db查询一条数据
// $ret = db(‘user‘)->find(10);
// dump($ret);
// db查询多条数据
//所有数据
// $ret = db(‘user‘)->select();
// 条件查询
// $ret = db(‘user‘)->where(‘status‘,0)->select();
// 查不到会抛出异常
// $ret = db(‘user‘)->where(‘status‘,0)->selectOrFail();
# 查询某个字段的值可以用
// $ret = db(‘user‘)->where(‘status‘,0)->value(‘name‘);
# 查询某一列的值可以用
// $ret = Db::name(‘user‘)->where(‘id‘,10)->column(‘name‘);
// $ret = Db::name(‘user‘)->column(‘name‘);
# 排序并获取指定记录条数
// $ret = Db::name(‘user‘)->order(‘id‘, ‘desc‘)->limit(0,10)->select();
# 聚合查询
// Db::name(‘user‘)->count();
// Db::name(‘user‘)->max(‘score‘);
// Db::name(‘user‘)->where(‘score‘, ‘>‘, 0)->min(‘score‘);
// Db::name(‘user‘)->avg(‘score‘);
// Db::name(‘user‘)->where(‘id‘,10)->sum(‘score‘);
# 批量条件(字段)查询
// $map = [
// [‘name‘, ‘like‘, ‘%tp%‘],
// [‘age‘, ‘>‘, ‘10‘],
// [‘id‘, ‘>‘, 0],
// ];
// $ret = Db::name(‘user‘)
// ->where([ $map ])
// ->where(‘status‘,1)
// ->select();
# 闭包查询
// $name = ‘%tp%‘;
// $age = 10;
// $ret = Db::table(‘tp5_user‘)->where(function ($query) use($name, $age) {
// $query->where(‘name‘,‘like‘ ,$name)->where(‘age‘, ‘>‘, $age);
// })->select();
# 获取器 5.1.20之后才有
$ret = Db::name(‘user‘)->withAttr(‘name‘,
function(
$value,
$data) {
return strtolower(
$value);
})->
select();
dump($ret);
//--------增加
//插入数据
// $data = [‘name‘=>‘liwu1‘,‘age‘=>14];
// table需要写全表名
// $ret = Db::table(‘tp5_user‘)->insert($data);
// name不用写表前缀
// $ret = Db::name(‘user‘)->insert($data);
// 推荐写法
// $ret = db(‘user‘)->insert($data);
// dump($ret);
// 插入多条数据
// $data = [
// [‘name‘=>‘liww‘,‘age‘=>34],
// [‘name‘=>‘li31‘,‘age‘=>15],
// [‘name‘=>‘lrty‘,‘age‘=>16],
// [‘name‘=>‘liii‘,‘age‘=>24],
// ];
// $ret = db(‘user‘)->insertAll($data);
// dump($ret);
//--------修改
// 更新数据
// $data = [‘name‘=>‘tp5‘,‘age‘=>38];
// $ret = db(‘user‘)->where(‘id‘,‘=‘,1)->update($data);
// 等号可以省略
// $ret = db(‘user‘)->where(‘id‘,1)->update($data);
// $ret = db(‘user‘)->update($data);
//--------删除
// 删除数据
// 根据主键删除
// $ret = Db::name(‘user‘)->delete(1);
// $ret = Db::name(‘user‘)->delete(‘5,6‘);
// $ret = Db::name(‘user‘)->delete([2,3]);
// 条件删除
// $ret = db(‘user‘)->where(‘id‘,‘>‘,13)->delete();
// 软删除
// $ret = db(‘user‘)->where(‘id‘,‘>‘,12)->useSoftDelete(‘delete_time‘,time())->delete();
// dump($ret);
}
php手记之04-tp5数据库操作
标签:根据 status 参数 style insert avg time() sql语句 col