语法:

-- select * from 表名 where 条件;

测试数据:

-- 建表语句
create table `student` (
`sid` int(11) primary key auto_increment,
`sname` varchar(20) not null,
`sex` varchar(10) default null,
`isdelete` tinyint(1) default 0
)charset=utf8; -- 插入数据
insert into `student`(`sid`, `sname`, `sex`) values
(0, '达摩', '男'),
(0, '典韦', '男'),
(0, '曹操', '男'),
(0, '钟无艳', '女'),
(0, '孙悟空', '男'),
(0, '兰陵王', '男'),
(0, '程咬金', '男'),
(0, '刘备', '男'),
(0, '刘禅', '男'),
(0, '孙尚香', '女'),
(0, '孙膑', '男');

比较运算符

  • 等于: =
  • 大于: >
  • 小于 :<
  • 大于等于: >=
  • 小于等于 :<=
  • 不等于: !=或者<>
-- 查询sid小于3的学生信息
select * from student where sid<3;

执行结果:

逻辑运算符

  • 且:and
  • 或: or
  • 非:not
-- 查词 sid 大于 8 并且 sex 为 男 的学生
select * from student where sid>8 and sex='男'; -- 查询 sid 大于等于 10 或者 sid 小于 3 的学生;
select * from student where sid>=10 or sid<3; -- 查询 sid 不大于 3 的学生
select * from student where not sid>3;

执行结果:

优先级:not>and>or

注意:and 比 or 优先运算。如果同时出现并希望 or 优先运算,可以使用小括号。

模糊查询----like

  • % 表示匹配一个或多个任意字符

    select * from student where sname like '孙%';
    select * from student where sname like '%无%';
    select * from student where sname like '孙%' or sname like '%无%';

执行结果:

  • _ 表示匹配一个任意字符

    select * from student where sname like '孙_';
    select * from student where sname like '孙__'; -- 两个下划线

范围查询

  • 非连续范围查询:in

    select * from student where sid in(1,2,3,8);

    执行结果:

    注:假如没有第 8 条数据,不会报错,只是没有返回值而已

  • 连续范围查询:between ... and ...

    select * from student where sid between 3 and 8;
    select * from student where sid between 3 and 8 and sex='男';

    执行结果:

    注 1:假如没有第 8 条数据,不会报错,只是没有返回值而已

    注 2:between…and…和 and 同时运用,会优先计算 between…and…

空与非空

  • 空判断:is null
  • 非空判断:is not null
-- 查询没有性别信息的同学
select * from student where sex is null;

执行结果:

注意:null’ ’的不同。null就是空,在计算机中不占用任何内存;’ ’为空字符

串,需要占据一定内存。

聚合函数

请查看MySQL之函数一节

分组----group by

敬请期待

分组后的数据筛选----having

敬请期待

排序----order by

  • 语法:select * from 表名 order by 列1 asc/desc, 列2 asc/desc, ...;
  • 说明

    • 将数据按照列 1 进行排序,如果某些列 1 的值相同,则按照列 2 进

      行排序。
    • 默认按照从小到大的顺序排序------升序 asc。
    • asc:升序;desc:降序。

示例:

select * from student
where sex='女'
order by sid desc;

执行结果:

获取部分行----limit

  • 语法:select * from 表名 limit atart,count;
  • 说明:从start开始,获取count条数据,start索引从0开始。

示例:

select * from student limit 1,5;

执行结果:

分页

语法:select * from 表名 where 查询条件 limit (curPage - 1)*pageSize,pageSize;

说明:curPage是当前第几页;pageSize是一页多少条记录

MySQL之where条件数据筛选的更多相关文章

  1. mysql中运用条件判断筛选来获取数据

    ### part1 单表查询 sql查询完整语法: select .. from .. where .. group by .. having .. order by .. limit .. 一.wh ...

  2. mysql 判断指定条件数据存不存在,不存在则插入

    折腾了半天终于把这个给折腾顺了,但是后来发现用不了竟然...悲剧啊,但是还是要记录下加深记忆 insert into table1 (field1, field2,field3) select ?fi ...

  3. layui table 根据条件改变更换表格颜色 高亮显示 数据筛选

    请问想让当layui表格的某个字段符合某个条件的时候,让该行变颜色.这样可以实现么. layui数据表格怎么更换表格颜色 layui表格 通过判断某一行中的某一列的值进行设置这一行的颜色 LayUI之 ...

  4. MySQL使用笔记(六)条件数据记录查询

    By francis_hao    Dec 17,2016 条件数据记录查询 mysql> select field1,field2-- from table_name where 条件; 其中 ...

  5. 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数

    MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...

  6. Mysql 查询出某列字段 被包含于 条件数据中

    我们通常是使用  某条件  是否包含于 某列中   ,简单点 就是:select * from 表名 where  字段名 like '%条件数据%'; 现在说下   某列 被包含于 条件数据中 接下 ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)

    系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...

  8. 通过Gearman实现MySQL到Redis的数据同步

    对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...

  9. MySQL · 性能优化 · 条件下推到物化表

    MySQL · 性能优化 · 条件下推到物化表 http://mysql.taobao.org/monthly/2016/07/08/ 背景 MySQL引入了Materialization(物化)这一 ...

随机推荐

  1. 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL

    什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...

  2. [OS] 操作系统课程(三)

    工具 源码阅读:understand 源码文档自动生成工具:Doxygen 编译环境:gcc 运行环境:x86机器或QEMU 调试工具:QEMU+(GDB or IDE) IDE:Eclipse-CD ...

  3. 关于jmeter线程组和循环次数的设置

    初始设置:设置线程数 n = 80,循环次数a = 1,ramp-up period=5 一 计算最后一个线程的生成时间(last) 总共生成80个线程,总共需要5秒,每秒钟会启动16个线程,所以,第 ...

  4. VMWare虚拟机显示模块“Disk”启动失败

    找到启动虚拟机的目录: 在此路径中找到.vmx文件,在文件中查找(Ctrl+F快速查找)vmci0.present,此时会看到"vmci0.present = "TRUE" ...

  5. Boa Web Server 缺陷报告及其修正方法

    综述 Boa 作为一种轻巧实用的 WEB 服务器广泛应用于嵌入式设备上, 但 Boa 对实现动态网页的 CGI  的支持上仍存在一些缺陷, 本文描述了 Boa 对 CGI 的 Status/Locat ...

  6. Linux系统函数read()/write()/pread()/pwrite()的区别-(转自CSDN网络)

    在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策.先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白 ...

  7. 网上的说TB6560存在的问题

    https://www.amobbs.com/thread-5506456-2-1.html

  8. Docker的镜像理解以及容器的备份、恢复和迁移操作

    Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 D ...

  9. C语言编程 菜鸟练习100题(41-50)

    [练习41]字符串翻转 0. 题目: 字符串翻转 1. 分析: 学习递归思想和方法. 2. 程序: 方法一: #include <stdio.h> void reverseSentence ...

  10. Jenkins 基础篇-凭证配置

    我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...