MySQL 学习笔记(2)— 通配符/正则表达/运算符
本文继续对 MySQL
中的通配符过滤、正则表达式、运算符进行分类总结。
1. 通配符
LIKE
指示 MySQL
,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较,其中分为 %
和 _
通配符。
%
表示任何字符出现 0 次或者任意次数
如:
SELECT prod_id, prod_name FROM products
WHERE prod_id LIKE 'jet%'
_
只匹配单个个任意字符
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE '_ ton anvil'
以下是一些模式和匹配的字符串:
LIKE 'en%'
:匹配以“en”开始的字符串,例如“english languages”、“end”;LIKE '%en%'
:匹配包含“en”的字符串,例如“length”、“when are you”;LIKE '%en'
:匹配以“en”结束的字符串,例如“ten”、“when”;LIKE 'Be_'
:匹配以“Be”开始,再加上一个任意字符的字符串。例如“Bed”、“Bet”;LIKE '_e%'
:匹配一个任意字符加上“e”开始的字符串,例如“her”、“year”。
2. 转义字符
转义字符可以将通配符 %
和 _
进行转义,将它们当作普通字符使用。默认的转义字符为反斜杠(\
)。
下面例子查询 25%
的数据
-- 查询包含字符串 25% 的数据
SELECT c1FROM t_likeWHERE c1 LIKE '%25\%%';
-- WHERE c1 LIKE '%25#%%' ESCAPE '#'; -- 指定 # 作为转义字符c1 |
----------|
进度:25% 已完成|
第一个 %
匹配多个任意字符;第二个 %
前面增加了转义字符(\
),表示匹配一个百分号;第三个 %
匹配多个任意字符。
查询结果中只有一条满足结果的数据,如果去掉转义字符(\
)将会返回两条记录。另外,也可以通过 ESCAPE
指定其他的转义字符。
3. 正则表达
- 正则表达模式主要有以下几种:
- 匹配字符类见下图
4. 运算符
主要有算术运算符、比较运算符、逻辑运算符、位运算符
- BETWEEN
SELECT emp_name, salaryFROM employeeWHERE salary BETWEEN 10000 AND 15000;
需要注意的是,BETWEEN
包含了两端的值(10000 和 15000)
- IN
IN
运算符可以用于查找列表中的值。只要匹配列表中的任何一个值,都会返回结果。
NOT
运算符可以结合其他的运算符一起使用,用于对查询条件的结果取反:
NOT BETWEEN
,位于范围之外。NOT IN
,不在列表之中。NOT LIKE
,不匹配某个模式。LIKE
运算符用于字符串的模糊查找。NOT EXISTS
,子查询中不存在结果。NOT IS NULL
,不为空。等价于IS NOT NULL
。
以下是 SQL
中各种条件运算符按照优先级从高到低进行的排列;必要时可以使用圆括号进行调整。
=、!=、<>、<、<=、>、>=
IS [NOT] NULL、[NOT] LIKE、[NOT] BETWEEN、[NOT] IN、[NOT] EXISTS
NOT
AND
OR
MySQL 学习笔记(2)— 通配符/正则表达/运算符相关推荐
- mysql学习笔记-使用通配符模糊查找
什么是通配符 通配符是用来匹配值的一部分的特殊字符,然后再字面值.通配符或两者组合构成完整的搜索条件. 如果使用通配符,必须结合LIKE操作符使用.LIKE后跟的是完整的搜索条件. 注意:通配符搜索只 ...
- Mysql学习笔记(三)运算符和控制流函数
原文:Mysql学习笔记(三)运算符和控制流函数 本章学习内容: 1.操作符 2.控制流程函数 操作符: i.圆括号.. 简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序...这个想必大 ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...
- MySQL学习笔记-基础篇1
MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...
- JavaEE 企业级分布式高级架构师(六)MySQL学习笔记(6)
MySQL学习笔记 性能优化篇 性能优化的思路 慢查询日志 慢查询日志介绍 开启慢查询功能 演示一 演示二 分析慢查询日志 MySQL自带的mysqldumpslow 使用percona-toolki ...
- MySQL学习笔记——尚硅谷李玉婷经典版MySQL基础笔记(一)
MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) MySQL学习笔记目录 MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) 一.基础知识 1.MySQL的语法规范 2. ...
- Mysql 学习笔记(快速复习)
Mysql 学习笔记(快速复习) 一.MySQL 基础 1.数据库连接工具 1.1.Navicat 使用教程 2.DDL 操作数据库 2.1.创建新数据库 2.2.删除数据库 2.3.使用数据库 3. ...
- 数据库MySQL学习笔记高级篇(周阳)
数据库MySQL学习笔记高级篇 1. mysql的架构介绍 mysql简介 高级Mysql mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化 ...
- Mysql学习笔记day1 --三天学完mysql所有知识点
Mysql 超全MySQL学习笔记,三天就可以学会熟练运用SQL语句,干货满满,文章末尾有相应的练习题,可以多练练加深印象,希望我的文章对你有所帮助 一.服务器 1.什么是服务器?用于提供共享资源文件 ...
最新文章
- Java 参数后面跟三个... 的作用
- 比特币现金网络会看到什么样的代币?
- python一般用什么编译器-Python必学之编译器用哪个好?你用错了吧!
- 四年努力,梦归阿里,和大家聊聊成长感悟
- python中with的用法
- 用HOOK禁用鼠标与键盘点击
- 用python的五种方式_Python加载数据的5种不同方式(收藏)
- [react] 在React中我们怎么做静态类型检测?都有哪些方法可以做到?
- Debug Assertion Failed _CrtlsValidHeapPointer(block) realloc堆引发的错误
- 神经进化是深度学习的未来
- 向MIP开源项目提交Issues
- LeetCode 64 最小路径和
- C++ vector所有操作,你真的掌握vector了吗?两万总结带你干穿vector
- python爬取个人信息_Python爬取个人支付宝朋友信息操作示例
- oracle学习笔记 学习前奏
- Python修改图片大小
- oracle 隐式转换
- 【遗传编程/基因规划】Genetic Programming
- 【链块技术10期】区块链基础语言(二)——GO语言开发环境搭建
- 前端---div 显示与隐藏
热门文章
- Go 运行时(go runtime)的含义
- Pandas 使用入门
- xgboost重要参数1
- LeetCode简单题之将找到的值乘以2
- TensorFlow常用Python扩展包
- BEP 7:CUDA外部内存管理插件(上)
- 小目标检测的增强算法
- 客快物流大数据项目(二十二):Docker环境中安装软件
- C++ string字符串的比较是否相等
- UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal not in range(128)