Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件

[复制链接]
查看: 3533|回复: 31
发表于 2023-1-17 16:15:01 | 显示全部楼层 | 阅读模式
为了方便下面的测试,我们先重新创建一张数据表,请执行以下语句创建表结构:
  1. DROP TABLE IF EXISTS `user`;
  2. CREATE TABLE `user`  (
  3.   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  4.   `age` tinyint COMMENT '年龄',
  5.   `name` VARCHAR(10) COMMENT '姓名',
  6.   `sex` CHAR COMMENT '性别',
  7.   `createtime` int(11) NOT NULL COMMENT '添加时间',
  8.   PRIMARY KEY (`id`) USING BTREE
  9. ) ENGINE = InnoDB CHARACTER SET = utf8;
复制代码
再执行以下语句添加数据:
  1. INSERT INTO `user` VALUES (1, 18,'tom', '男', 1647102638);
  2. INSERT INTO `user` VALUES (2, null, 'berry','女', 1647102638);
  3. INSERT INTO `user` VALUES (3, 20, 'marry','女', 1647228362);
  4. INSERT INTO `user` VALUES (4, 33, 'ross','女', 1647228526);
  5. INSERT INTO `user` VALUES (5, 22, 'julie','男',1647326334);
复制代码
执行后的数据表数据如下:
Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件
好了,我们现在开始讲解where条件的使用方法。
在前面我们已经列出过where的全部语法,本文也只能代表性的讲解几个,其余的大家自行测试即可。
第一条语句--and:
  1. select name from user where age=33 and sex='女';
复制代码
语句解释:
  1. 在user表中查询name字段,查询条件是:age=33且sex=女。
复制代码
查询结果如下:

Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件
第二条语句--in
  1. select name from user where age in (20,22,33);
复制代码
语句解释:
  1. 在user表中查询name字段,条件是:age为20或22或33.
复制代码
执行结果如下:
Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件

第三条语句--between..and...
  1. select name from user where age between 22 and 33;
复制代码
语句解释:
  1. 在user表中查询name字段,条件是:年龄在22和33之间,包括22和33。等同于22<=age<=33.
复制代码
执行结果如下:
Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件

第四条语句--is null
  1. select name from user where age is null;
复制代码
语句解释:
  1. 在user表中查询name字段,条件是:age为null。
复制代码

执行结果如下:
Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件

第五条语句--like
  1. select * from user where name like '%rry';
复制代码
语句解释:
  1. 在user表中查询所有数据,条件是:name的后三个字母为rry
复制代码
执行结果如下:
Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件

ok,我们就演示以上5条语句即可,其它条件大家自行测试吧。
下面我们再次列出where的全部语法,如下:
  1. =  等于
  2. <> 不等于
  3. != 不等于
  4. < 小于
  5. > 大于
  6. !< 不小于
  7. !> 不大于
  8. <= 小于等于
  9. >= 大于等于
  10. 用法:
  11. 例如:WHERE 列名 = 10;
复制代码
  1. in 在范围内 例如:WHERE 列名 in (值1,值2)
  2. not in 不在范围内  例如:WHERE 列名 not in (值1,值2)
  3. between..and... 在之间 例如 WHERE 列名 between 5 and 10;
  4. not between...and... 不在之间 例如 WHERE 列名 not between 5 and 10;
  5. is null 为空 例如 WHERE 列名 is null;
  6. is not null  不为空 例如 WHERE 列名 is not null;
复制代码
  1. and和or --多条件查询,例如:where 列名1 = 值1 and 列名2 <= 值2;
  2. like 通配查询,包括%和_两种。
  3. %匹配任何字符0次或多次。
  4. _匹配1个字符。
  5. 举个栗子:
  6. WHERE 列名 like 'Fish%'; --表示在指定列的所有数据中匹配前面是Fish的数据。
  7. WHERE 列名 like '_inch'; --表示在指定列的所有数据中匹配任意一个字符+inch的数据。
  8. 注意:使用通配查询的效率不高,应当尽可能的不用。
复制代码


易博软件介绍
发表于 2023-1-30 19:36:41 | 显示全部楼层
比上大学时的老师讲的好多了,非常有条理
发表于 2023-1-31 03:11:22 | 显示全部楼层
希望楼主发布更多教程,喜欢看。
发表于 2023-1-31 10:15:56 | 显示全部楼层
好教程不多,喜欢看老师的教程,思路很清晰。
发表于 2023-1-31 18:48:16 | 显示全部楼层
讲的好讲的妙 好教程
发表于 2023-2-1 11:51:11 | 显示全部楼层
感谢楼主,又涨知识了。
发表于 2023-2-2 02:54:20 | 显示全部楼层
大赞大赞大赞大赞大赞大赞。
发表于 2023-2-2 20:59:42 | 显示全部楼层
懂是懂了,有的单次太长,不好记

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-2-15 08:43:50 | 显示全部楼层
每天看几篇,好好练习,没几天也就会玩mysql了!

0

主题

23

帖子

12

积分

营销入门

Rank: 2

积分
12
发表于 2023-2-17 11:11:47 | 显示全部楼层
讲的都是最常用的sql语句,非常好
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表