注: 打印出最后一条数据库操作的sql语句
echo Db::getLastSql();
1.使用table方法查询
use think\Db;
//查询所有数据
$data = Db::table('user')->select();
//查询一条数据
$data = Db::table('user')->find();
2.使用name方法查询
use think\Db;
//查询所有数据
$data = Db::name('user')->select();
//查询一条数据
$data = Db::name('user')->find();
table和name的区别:
name方法会自动添加表前缀
3.助手函数查询db()
$data = db('user')->select();
$data = db('user')->find();
统计数据库条数
$data = db('user')->field('count(*) as tot')->select();
$data = table('user')->field(['count(*)'=>'tot'])->select();
Group分组聚合
//根据pass字段进行分组统计(pass相同 的数量)
$data = db('user')->field('pass,count(*) as tot')->group("pass")->select();
having过滤只能配合group分组使用
$data = db('user')->field('pass,count(*) as tot')->having('tot >= 2')->group("pass")->select();
union集合
//打印出user表跟goods表中的name(分开)
$data = Db::field("name")->table("user")->union("select name from goods")->select();
bind绑定参数(防止sql注入)
$id = input("id");
//删除的时候规定接收的id只能是 int类型
$data = Db::table("user")->where("id",":id")->bind(["id"=>[$id,\PDO::PARAM_INT]])->select();
统计数据
//年龄最大值
$data = db('user')->max('age');
//年龄最小值
$data = db('user')->min('age');
//年龄平均值
$data = db('user')->avg('age');
//求和
$data = db('user')->sum('age');
//统计数据条数
$data = db('user')->count('age');
4.视图查询(相当于多表查询)
//视图查询
$data = Db::view('goods','id,name') //查询出goods表的id跟name字段
->view('type','name','type.id=goods.cid','left')//查询type表的name字段,type表的id等于goods表的cid,左查询
->select();
//打印出最后执行的sql语句
echo Db::getLastSql();
//打印出查询出来的数据
dump($data);
- 空白目录
- 关于页面跳转跟重定向
- thinkphp5return的问题
- thinkphp5权限auth
- thinkphp5关联查询多表查询join
- javascript
- 数据库命令行操作
- php间隔一段时间自动执行
- PHP字符串首尾留N位,中间替换成*号
- tp5获取当前域名
- PHP常用函数
- 注册发送短信验证的接口详解
- php可逆加密解密
- 配置本地虚拟主机
- thinkphp5跨控制器调用
- thinkphp5框架加载流程
- thinkphp5路由详解
- thinkphp5功能集合
- thinkphp5数据库操作
- delete,put类型
- tp5数据库查询
- tp5数据库增删改
- 事务机制
- thinkphp模型model新建和查询
- tp5model的新增
- tp5model修改
- tp5model删除和软删除
- tp5视图
- tp5API