前言[随时更新]
MySQL快速复习
MySQL原生查询
选择数据表
删除数据
聚合查询
时间查询
视图查询
子查询
总结/参考
批量查询,我们之前其实也用到过,就是把查询条件全部打包到一个数组中
Db::table('表名') ->where([
'字段1' => ['表达式1','条件1'],
'字段1' => ['表达式1','条件1'],
, ······ ])
->select();
//1.创建查询条件数组
$map = [];
$map['字段1' ] = ['表达式1','条件1'];
$map['字段2' ] = ['表达式2','条件2'];
$map['字段3' ] = ['表达式3','条件3'];
//2.执行查询
Db::table('表名') ->where($map) -> select();
本例很简单,但会用到很多较复杂的语法,请留意
<?php
namespace app\index\controller;
//导入数据库类
use think\Db;
class Index {
public function index(){
//1.设置查询字段
$field = [];
$field['id'] = '编号';
$field['name'] = '姓名';
$field['salary'] = '工资';
//2.设置查询条件
$where = [];
$where['age'] = ['>',50];
$where['salary'] = ['>',9500];
//3.执行查询
$result = Db::table('tp5_staff') -> field($field) -> where($where)->select();
//4.输出结果
dump($result);
}
}
array(3) {
[0] => array(3) {
["编号"] => int(1023)
["姓名"] => string(9) "段王爷"
["工资"] => float(9560)
}
[1] => array(3) {
["编号"] => int(1028)
["姓名"] => string(6) "方方"
["工资"] => float(9877)
}
[2] => array(3) {
["编号"] => int(1006)
["姓名"] => string(9) "西门庆"
["工资"] => float(19801)
}
}
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE `age` > 50 AND `salary` > 9500
批量设置还可以设置“OR”条件,请同学们自己完成。