php手记之04-tp5数据库操作
Posted 码锋窝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php手记之04-tp5数据库操作相关的知识,希望对你有一定的参考价值。
//--------查询
// 原生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数据库操作的主要内容,如果未能解决你的问题,请参考以下文章