<?php
namespace Home\Controller;
use Think\Controller;
class DataBaseController extends Controller {
public function index(){
$Form=M('Form');
/*一, 使用字符串作为查询条件
print_r($Form->where('id=4 AND title=123')->select()); */
/*二, 使用数组作为查询条件
$where['title']='insert';
$where['create_time']=1472174461;
print_r($Form->where($where)->select());*/
/*OR AND查询 使用关键字:_logic
$where['title']='inset';
$where['create_time']=1472174461;
$where['_logic']='OR';//OR 或 AND
print_r($Form->where($where)->select());*/
/*三、使用对象方式来查询
$where=new WHERE();
$where->id=4;
print_r($Form->where($where)->select());*/
/*表达式查询
EQ 等于(=)
NEQ 不等于(<>)
GT 大于(>)
EGT 大于等于(>=)
LT 小于(<)
ELT 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询
EXP 表达式查询,支持SQL语法*/
//等于
//$map['id']=array('eq',7);
//BETWEEN 查询ID 4~6之间
//$map['id']=array('BETWEEN','4,6');
/*IN
$map['id']=array('IN','6,8');
$map['id']=array('NOT IN','6,8');
print_r($Form->where($map)->select());*/
/*EXP:表达式,支持更复杂的查询情况
//exp查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称。查询表达式不仅可用于查询条件,也可以用于数据更新
$data['title']='exp';
$data['count']=array('exp','count+1');
var_dump($Form->where('id=4')->save($data));*/
//快捷查询 | or & and
/* 不同列名 相同条件查询
$map['id|count']=4;
print_r($Form->where($map)->select());*/
/*不同列名 不同条件查询
$map['id&count']=array('4','3','_multi'=>true);
print_r($Form->where($map)->select());*/
/*同级查询
echo $Form->count();
// 获取用户数:
$userCount = $User->count();
// 或者根据字段统计:
$userCount = $User->count("id");
// 获取用户的最大积分:
$maxScore = $User->max('score');
// 获取积分大于0的用户的最小积分:
$minScore = $User->where('score>0')->min('score');
// 获取用户的平均积分:
$avgScore = $User->avg('score');
// 统计用户的总成绩:
$sumScore = $User->sum('score');
*/
/*SQL查询 query执行SQL查询操作
print_r($Form->query('select * from think_form'));*/
/*execute 更新 写入数据库操作
echo $Form->execute('update think_form set count=5 where id=7');*/
/*动态查询 getBy 根据字段的值查询数据 getFieldBy 根据字段查询并返回某个字段的值 */
//print_r($Form->getByid(4));//By+列名 动态查询
//getFieldBy 动态查询 By+列名 动态查询 参数1:值 参数2:返回查询列
//print_r($Form->getFieldByid(4,'title'));
/*子查询
select方法
$subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false);
buildSql方法
$subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql();
// 利用子查询进行查询
$model->table($subQuery.' a')->where()->order()->select()
*/
}
}
ThinkPHP 查询语言
最新推荐文章于 2020-03-16 20:46:51 发布