ThinkPHP 学习笔记 8.数据库的查询方式
发布日期:2021-05-14 20:24:47 浏览次数:16 分类:精选文章

本文共 1454 字,大约阅读时间需要 4 分钟。

YSQL 查询优化指南

一、普通查询方式

1. 字符串形式

$arr = $m->where("sex=0 and username='gege'")->find();

2. 数组形式

$data['sex'] = 0;
$data['username'] = 'gege';
$arr = $m->where($data)->find();

注意:默认使用and逻辑,如果需要or逻辑,请手动指定如下:

$data['sex'] = 0;
$data['username'] = 'gege';
$data['_logic'] = 'or';
$arr = $m->where($data)->find();

二、表达式查询

基于表达式的查询方式更为灵活,支持多种逻辑运算符和数据范围需求。

1. 比较运算符

  • 等于 (EQ)

    $data['id'] = array('eq', 6);
    $arr = $m->where($data)->select();
  • 不等于 (NEQ)

    $data['username'] = array('neq', 'gege');
    $arr = $m->where($data)->select();
  • 大于 (GT)

    $data['age'] = array('gt', 18);
    $arr = $m->where($data)->select();
  • 大于等于 (EGT)

    $data['score'] = array('egt', 80);
    $arr = $m->where($data)->select();
  • 小于 (LT)

    $data['id'] = array('lt', 6);
    $arr = $m->where($data)->select();
  • 小于等于 (ELT)

    $data['amount'] = array('elt', 100);
    $arr = $m->where($data)->select();

2. 模糊查询

  • LIKE 通配符

    $data['username'] = array('like', '%ge%');
    $arr = $m->where($data)->select();
  • NOT LIKE

    $data['username'] = array('notlike', '%ge%');
    $arr = $m->where($data)->select();
  • 多个通配符结合

    $data['username'] = array('like', array('%ge%', '%2%', '%五%'));
    $arr = $m->where($data)->select();

默认行为:多个通配符默认使用or逻辑,例如%ge%|%2%|%五%相当于username LIKE '%ge%' OR username LIKE '%2%' OR username LIKE '%五%'

3. 范围查询

  • BETWEEN 介于两者之间

    $data['id'] = array('between', array(5, 7));
    $arr = $m->where($data)->select();
  • IN指定数组

    $data['id'] = array('in', array(4, 6, 7));
    $arr = $m->where($data)->select();

通过以上方法,可以灵活满足各种查询需求,提升数据库操作的 productivity。

上一篇:Think PHP 学习笔记 8.查询方式的一般使用
下一篇:wamp出现You don’t have permission to access/on this server提示

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月19日 11时17分04秒