MySQL where 操作符
MySql WHERE 操作符号
前言
在 WHERE 子句中,你可以使用任何条件对记录进行过滤。
准备工作
准备 users 表,并插入数据
# 创建用户表 users
create table users (
id int AUTO_INCREMENT not null primary key ,
name varchar(255) ,
age int ,
job varchar(255) ,
address varchar(255)
);
# 插入数据
insert into users (id, name, age, job, address)
VALUES
(null, '小赵', 18, '高中生', '广州' ),
(null, '小钱', 19, '大学生', '广州' ),
(null, '小孙', 20, '大学生', '广州' ),
(null, '小李', 21, '大学生', '深圳' ),
(null, '小张', 22, '大学生', '深圳' ),
(null, '小吴', 23, '销售', '深圳' ),
(null, '小赵', 24, '商务', '惠州' ),
(null, '小王', 25, '程序员', '惠州' ),
(null, '小冯', 26, '程序员', '惠州' );
1.逻辑运算符
符号 | 描述 |
---|---|
AND | 两个条件都成立 |
OR | 两个条件中只要有一个成立 |
NOT | 对条件进行取反操作 |
- AND age > 21 并且 address = '惠州'
select * from users where age > 21 and address = '惠州'
- OR age > 21 或者 address = '惠州'
select * from users where age > 21 or address = '惠州'
- NOT 取反 age > 21 并且 取反 address = '深圳'
select * from users where not age > 21 and not address = '深圳'
2.比较运算符
符号 | 描述 |
---|---|
= | 等于 |
<> | 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
我们以 age 举例
- age = 21
- age <> 21
- age > 21
- age < 21
- age >= 21
- age<= 21
select * from users where age = 21 ;
select * from users where age <> 21 ;
select * from users where age > 21 ;
select * from users where age < 21 ;
select * from users where age >= 21 ;
select * from users where age<= 21 ;
3.范围运算符
符号 | 描述 |
---|---|
IN | 指定针对某个列的多个可能值 |
NOT IN | 指定针对某个列的多个不可能值 |
- 我们以 address 举例 取address 列中值 为广州、 惠州的数据 |
select * from users where address in ('广州','惠州')
- 取address 列中值 不为广州、 惠州的数据
select * from users where address not in ('广州','惠州')
结果自行练习这里就不做截图了
4.模糊查询运算符
符号 | 描述 |
---|---|
LIKE | 搜索某种模式 |
NOT LIKE | 搜索某种模式,但不是该模式 |
REGEXP | 满足匹配正则 |
NOT REGEXP | 不满足正则条件 |
like
取address 列中值 包含 广州的数据
select * from users where address like '%广州%'
- 取address 列中值 不包含 广州的数据
select * from users where address not like '%广州%'
regexp 正则语法后面单独讲
取address 列中值 包含 广州的数据
select * from users where address regexp '广州'
5.BETWEEN AND 运算符
符号 | 描述 |
---|---|
BETWEEN AND | 指定一个范围,包括两个值 |
NOT BETWEEN AND | 指定一个范围,不包括两个值 |
between and
取 age 列中值 在 20 到 25 之间的数据
select * from users where age between 20 and 25 ;
- not between and
- 取 age 列中值 不在 20 到 25 之间的数据
select * from users where age not between 20 and 25 ;
6.IS NULL 运算符
符号 | 描述 |
---|---|
IS NULL | 指定某个列的值为 NULL |
IS NOT NULL | 指定某个列的值不为 NULL |
再次插入数据
insert into users (id, name, age, job, address)
VALUES
(null, '小陈', 27, '程序员', null );
is null
取address 列中值为 null 的数据
select * from users where address is null ;
is not null
取address 列中值不为 null 的数据
select * from users where address is not null ;
|
MySQL where 操作符的更多相关文章
- MySQL(六)之MySQL常用操作符
前言 在前面的MySQL学习中,我们学习了MySQL的安装,管理以及配置,还有是它的DDL.今天给大家分享一下,MySQL的操作符和它的函数这部分. 千里之行始于足下,做什么事情都要脚踏实地的去做才能 ...
- 十七、MySQL UNION 操作符
MySQL UNION 操作符 本教程为大家介绍 MySQL UNION 操作符的语法和实例. 描述 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多 ...
- MySQL UNION 操作符
本教程为大家介绍 MySQL UNION 操作符的语法和实例. 描述 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复 ...
- mysql UNION操作符 语法
mysql UNION操作符 语法 作用:用于合并两个或多个 SELECT 语句的结果集. 语法:SELECT column_name(s) FROM table_name1 UNION SELECT ...
- mysql Alias操作符 语法
mysql Alias操作符 语法 作用:为列名称和表名称指定别名 大理石构件 语法:SELECT column_name(s) FROM table_name AS alias_name mysql ...
- mysql BETWEEN操作符 语法
mysql BETWEEN操作符 语法 作用:选取介于两个值之间的数据范围.这些值可以是数值.文本或者日期.大理石平台 语法:SELECT column_name(s) FROM table_name ...
- mysql IN操作符 语法
mysql IN操作符 语法 作用:在 WHERE 子句中规定多个值.深圳大理石平台 语法:SELECT column_name(s) FROM table_name WHERE column_nam ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL UNION 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SELECT ...
- MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中
union 会删除重复数据 union all 不会删除重复数据 select * from ( select *,'a' as kind from tablea where name is not ...
- MySql 赋值操作符"="与":="
MySql小点心—1.赋值操作符"="与":=" 对于刚接触到mysql的程序员来说,会对这两个符号有疑问,因为会发现有的代码里用这个有的用另一个. 当然他们是 ...
随机推荐
- Nacos 开源、自研、商业化三位一体战略解读
简介: Nacos作为整个阿里云原生三位战略中的核心组成部分,我们在2018年以Configserver/VIPServer/Diamond为基础通过Nacos开源输出阿里十年沉淀的注册中心和配置中心 ...
- [Mobi] TWRP 镜像 for OnePlus X
所有支持的设备列表:https://twrp.me/Devices/ 选择你的设备名:https://twrp.me/Devices/OnePlus/ https://twrp.me/oneplus/ ...
- dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理
本文记录在 dotnet 6 的网络和在 .NET Framework 的行为的变更.在 dotnet 6 下,默认的网络请求在系统网络代理变更的时候,是不会动态切换代理的.例如在应用运行进行网络通讯 ...
- 2019-8-31-How-to-output-the-target-message-in-dotnet-build-command-line
title author date CreateTime categories How to output the target message in dotnet build command lin ...
- docker-compose安装EFK
一.环境 IP 系统 配置 版本 192.168.10.100 Centos7.9 2核4G Docker Compose version v2.19.1.EFK-7.17.11 EFK版本是试用版本 ...
- CentOS-7卸载了python2.7,yum不可用的解决方法
1.mount挂载iso镜像 [root@localhost software]# mount -t iso9660 -o loop CentOS-7-x86_64-DVD-2003.iso /med ...
- ansible(9)--ansible的yum模块
1. yum模块 功能:管理软件包,需要确认被管理端为红帽系列的,并且需要被管理端配置好yum源. 主要的参数如下: 参数 说明 name 指定安装软件包名或软件包URL state 指定yum对应的 ...
- Ubuntu中安装OpenSSL
一.前期准备 1.1 压缩包下载 在安装openssl之前,我们需要下载对应的压缩包 https://www.openssl.org/source/openssl-3.0.1.tar.gz 此压缩包可 ...
- centos7 hpc高性能计算集群配置(无密码访问、nfs文件共享)
0.检查硬件的超线程 由于模型运行时,每个进程几乎都会占用100%的CPU计算能力,开启超线程之后,每个进程最多使用每个核心50%的计算能力,导致程序运行变慢. 1,物理CPU个数:cat /proc ...
- C 编程异常 — double free or corruption (fasttop)
问题:运行代码的时候程序崩溃. *** Error in `./parsing': double free or corruption (fasttop): 0x00000000023d2350 ** ...