iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL之where条件数据筛选
  • 104
分享到

MySQL之where条件数据筛选

MySQL之where条件数据筛选 2022-01-01 17:01:51 104人浏览 无得
摘要

语法: -- select * from 表名 where 条件; 测试数据: -- 建表语句 create table `student` ( `sid` int(11) primary key auto_incr

MySQL之where条件数据筛选

语法:

-- 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是一页多少条记录

posted @ 2021-07-06 16:35  pure3417  阅读(15)  评论(0)  编辑  收藏  举报 刷新评论刷新页面返回顶部 Copyright © 2021 pure3417
Powered by .net 5.0 on kubernetes
您可能感兴趣的文档:

--结束END--

本文标题: MySQL之where条件数据筛选

本文链接: https://www.lsjlt.com/news/8570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作