人亦已歌 发表于 2023-1-17 16:15:01

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

为了方便下面的测试,我们先重新创建一张数据表,请执行以下语句创建表结构:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`(
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`age` tinyint COMMENT '年龄',
`name` VARCHAR(10) COMMENT '姓名',
`sex` CHAR COMMENT '性别',
`createtime` int(11) NOT NULL COMMENT '添加时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8;再执行以下语句添加数据:
INSERT INTO `user` VALUES (1, 18,'tom', '男', 1647102638);
INSERT INTO `user` VALUES (2, null, 'berry','女', 1647102638);
INSERT INTO `user` VALUES (3, 20, 'marry','女', 1647228362);
INSERT INTO `user` VALUES (4, 33, 'ross','女', 1647228526);
INSERT INTO `user` VALUES (5, 22, 'julie','男',1647326334);执行后的数据表数据如下:

好了,我们现在开始讲解where条件的使用方法。
在前面我们已经列出过where的全部语法,本文也只能代表性的讲解几个,其余的大家自行测试即可。
第一条语句--and:
select name from user where age=33 and sex='女';语句解释:
在user表中查询name字段,查询条件是:age=33且sex=女。查询结果如下:


第二条语句--in
select name from user where age in (20,22,33);语句解释:
在user表中查询name字段,条件是:age为20或22或33.执行结果如下:


第三条语句--between..and...
select name from user where age between 22 and 33;语句解释:
在user表中查询name字段,条件是:年龄在22和33之间,包括22和33。等同于22<=age<=33.执行结果如下:


第四条语句--is null
select name from user where age is null;语句解释:
在user表中查询name字段,条件是:age为null。
执行结果如下:


第五条语句--like
select * from user where name like '%rry';语句解释:
在user表中查询所有数据,条件是:name的后三个字母为rry执行结果如下:


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


顺次 发表于 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

懂是懂了,有的单次太长,不好记

海角树 发表于 2023-2-15 08:43:50

每天看几篇,好好练习,没几天也就会玩mysql了!

0o续集o0 发表于 2023-2-17 11:11:47

讲的都是最常用的sql语句,非常好
页: [1] 2 3 4
查看完整版本: Mysql数据库核心技术(十六)-查询数据(三)-select语句中的where条件