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

[复制链接]
查看: 617|回复: 7

832

主题

1426

帖子

6802

积分

管理员

人亦已歌

Rank: 12Rank: 12Rank: 12

积分
6802

活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

发表于 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. 注意:使用通配查询的效率不高,应当尽可能的不用。
复制代码


1

主题

199

帖子

101

积分

年费会员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
101

年费会员

发表于 7 天前 | 显示全部楼层
比上大学时的老师讲的好多了,非常有条理

2

主题

216

帖子

111

积分

年费会员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
111

年费会员

发表于 6 天前 | 显示全部楼层
希望楼主发布更多教程,喜欢看。
发表于 6 天前 | 显示全部楼层
好教程不多,喜欢看老师的教程,思路很清晰。

0

主题

3

帖子

2

积分

终身会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
2

终身会员

发表于 6 天前 | 显示全部楼层
讲的好讲的妙 好教程
发表于 5 天前 | 显示全部楼层
感谢楼主,又涨知识了。
发表于 4 天前 | 显示全部楼层
大赞大赞大赞大赞大赞大赞。
发表于 4 天前 | 显示全部楼层
懂是懂了,有的单次太长,不好记
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

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

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

返回顶部 返回列表