MySQL使用WHERE命令来限定数据查询条件。

语法:SELECT 属性1,属性2 FROM 表名 WHERE 条件1 OR 条件2 AND 条件3

说明:WHERE同样适用于UPDATE、DELETE等命令;

            使用OR、AND实现多限制条件下的数据查询;

where执行顺序是从左往右执行的,在数据量小的时候不用考虑,但数据量多的时候要考虑条件的先后顺序,此时应遵守一个原则:排除越多的条件放在第一个;

           使用主键作为查询的限定条件,速度是非常快的。

操作符说明表(A=10,B=20)

操作符 描述 示例说明
= 等号,检测两个值是否相等,若相等,则返回True (A = B)返回False
<>,!= 不等于,检测两个值是否相等,若不相等,则返回True (A != B)返回True
> 大于,检测左边的值是否大于右边的值,若左边的值大于右边的值,则返回True (A > B)返回False
< 小于,检测左边的值是否小于右边的值,若左边的值小于右边的值,则返回True (A < B)返回True
>= 不小于,检测左边的值是否不小于右边的值,若左边的值不小于右边的值,则返回True (A >= B)返回False
<= 不大于,检测左边的值是否不大于右边的值,若左边的值不大于右边的值,则返回True (A <= B)返回True
BETWEEN....AND.... 介于指定范围之内 where num between 3 and 5
NOT BETWEEN...AND... 不在限定的范围内 where num not between 3 and 5
IN(项1,项2,项3...) 值在指定项内 where num in (3,5,6)
NOT IN(项1,项2,项3...) 值不在指定项内 where num not in (3,5,6)
IS NULL 空值判断符 where name is null
IS NOT NULL 非空值判断符 where name is not null
NOT、AND、OR 取反,与,或,优先级NOT>AND>OR,用于多个逻辑连接 where num>2 AND num<6
LIKE 搜索匹配,常与模式匹配符配合使用 ——
NOT LIKE LIKE的反义 ——
% 模式匹配符,表示任意字符串 where username like '%user'

若A或B的值为字符型,需要加上" "或' '。

默认情况下,where语句是不区分字母大小写的,需要通过BINARY强制区分。

示例:

mysql> select num,name from courses where name=.'语文';
+-----+--------+
| num | name |
+-----+--------+
| 2 | 语文 |
+-----+--------+ mysql> SELECT * from tutorials_tbl WHERE tutorial_author='Sanjay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+
| 6 | JAVA Tutorial | SANJAY | 2007-05-26 |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec) mysql> SELECT * from tutorials_tbl WHERE BINARY tutorial_author='Sanjay'; //强制区分大小写
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+

 mysql> select num,name from courses where num>2 AND num<5;
 +-----+--------+
 | num | name |
 +-----+--------+
 | 3 | 英语 |
 | 4 | 化学 |
 +-----+--------+
 2 rows in set (0.00 sec)

 mysql> select num,name from courses where NOT num>2;
 +-----+--------+
 | num | name |
 +-----+--------+
 | 1 | 数学 |
 | 2 | 语文 |
 +-----+--------+
 2 rows in set (0.00 sec)

 mysql> SELECT * FROM courses WHERE name LIKE '%文';
 +-----+--------+-----------------+
 | num | name | submission_date |
 +-----+--------+-----------------+
 | 2 | 语文 | 2018-01-30 |
 +-----+--------+-----------------+
 1 row in set (0.00 sec)

MySQL条件检索_WHERE的更多相关文章

  1. InnoDB这种行锁实现特点意味者:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁!

    InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁来实现的. InnoDB这种行锁实现特点意味者:只有通过索引条件检索数据,InnoD ...

  2. Hibernate入门(十二)离线条件检索

    Hibernate——离线条件检索DetachedCriteria DetachedCriteria翻译为离线条件查询,因为它是可以脱离Session来使用的一种条件查询对象,我们都知道Criteri ...

  3. asp.net用三层实现多条件检索

    众所周知,三层将项目分为界面层,业务逻辑层和数据訪问层(以最主要的三层为例) 相同都知道,多条件检索事实上就是依据用户选择的条件项,然后来拼sql语句 那么.既然要依据用户选择的条件项来拼sql语句, ...

  4. MySQL条件判断处理函数_20160925

    MySQL条件判断处理 一.假如我想把salesperson 分成 5组,计算每个销售分组的业绩 首先先将销售分组 SELECT *, CASE WHEN salesperson IN (" ...

  5. 记mysql条件分支语句CASE WHEN THEN ELSE END的使用

    记一次基于mysql数据库查询时条件分支语句使用 表达式格式:CASE column WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 .... ELSE 表达式 END [ ...

  6. springmvc+spring+mybatis分页查询实例版本3,添加条件检索

    在第二个版本上添加了姓名模糊查询,年龄区间查询;自以为easy,结果发现mybatis的各种参数写法基本搞混或是忘了,zuo啊,直接上代码,然后赶紧把mybatis整理一遍再研究自己的项目,应该还会有 ...

  7. mysql条件查询中AND与OR联合使用的注意事项!

    mysql查询中经常会用到AND与OR一起使用的情况,可如果写法不对,往往会起到相反的效果,这不,前几天就碰到了,最后测试果然提了一堆bug!!!! 废话就不多说了,主要总结一下几点: 一 当mysq ...

  8. Mysql中文检索匹配与正则

    今天在用sql模糊查询包含字母d的时候,发现一些不包含此字母的也被查询出来了: SELECT * FROM custom WHERE custom_realname LIKE '%d%' 查询了一下, ...

  9. mysql条件查询and or使用实例及优先级介绍

    mysql and与or介绍 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 使用OR关键字时: 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来. 如果不符合这 ...

随机推荐

  1. Linux网络设备驱动 _驱动模型

    Linux素来以其强大的网络功能著名,同时, 网络设备也作为三大设备之一, 成为Linux驱动学习中必不可少的设备类型, 此外, 由于历史原因, Linux并没有强制对网络设备贯彻其"一切皆 ...

  2. 【Zookeeper系列】ZooKeeper伸缩性(转)

    原文地址:https://www.cnblogs.com/sunddenly/p/4143306.html 一.ZooKeeper中Observer 1.1 ZooKeeper角色 经过前面的介绍,我 ...

  3. JS学习大作业-Excel

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. ArcGIS map preview in Power BI service

    登录PowerBI网站:www.powerBI.com 点[设置],如下图:   找到[适用PowerBI的ArcGIS地图(预览)] 点击[应用]即可. 打开PowerBI DestTop客户端,找 ...

  5. python中的张量运算(tensor)

    1,首先比较二者的参数部分:这就是处理0阶张量和1阶张量的区别 np.max:(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接收一个参数 axis ...

  6. 11.8luffycity(3)

    2018-11-8 19:11:49 打算过几天回学校! 越努力越幸运~!永远不要高估自己! 做一下笔记,等路飞项目做完放上github连接 1. 复杂的跨域 class CORSMiddleware ...

  7. LomBok插件的使用

    LomBok插件的使用 By Zhai 简介: LomBok是一个通过简单注解就可以减少一些冗余代码编写的小工具.例如 @Setter @Getter 用于实例类上该类就不需要写set get 方法. ...

  8. swp文件已存在

    vim编辑某个文件时,提示.xxx.sh.swp文件已存在是因为异常退出后,linux会生成一个swp文件,无论选择什么,下次进入还是会提示ll 命令无法看到文件使用 rm -rf .xxx.sh.s ...

  9. 电子产品使用感受之———我用过的最昂贵的手机壳:otter box 和 Apple 原装清水壳的对比

    2014年9月27日,我买到了我所使用的第一部 iPhone — iPhone 5C 蓝色.今天,2019年3月2日,我手里拿的是iPhoneXR 蓝色,两款手机如出一辙的设计和手感,让我充满了无限的 ...

  10. Linux 安装mysql mariadb配置

    CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置 1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server ...