tp5数据库查询

tp5数据库查询
注: 打印出最后一条数据库操作的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);

修改

->update ( ['title' => '新标题'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园游会永不打烊.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值