MySQL--操作简记(where过滤,通配符过滤数据)

时间:2022-09-15 22:54:29

表accounts中的数据
MySQL--操作简记(where过滤,通配符过滤数据)

过滤数据

  • where

【1】

SELECT number
FROM accounts
WHERE address = 'XUPT'

从表accounts中查找address为XUPT的number

MySQL--操作简记(where过滤,通配符过滤数据)

【2】WHERE 子句操作符

操作符 说明
= 等于
<> 不等于
> 大于
< 小于
<=/ >= 小于或等于/大于或等于
BETWEEN … AND … 介于某个范围之内,例:WHERE age BETWEEN 20 AND 30
NOT BETWEEN …AND … 不在某个范围之内
IN(项1,项2,…) 在指定项内,例:WHERE city IN(‘beijing’,’shanghai’)
NOT IN(项1,项2,…) 不在指定项内
LIKE 搜索匹配,常与模式匹配符配合使用
NOT LIKE LIKE的反义
IS NULL 空值判断符
IS NOT NULL 非空判断符
NOT、AND、OR 逻辑运算符,分别表示否、并且、或,用于多个逻辑连接。
% 模式匹配符,表示任意字串,例:WHERE username LIKE ‘%user’

通配符过滤数据

  • LIKE

通配符:用来匹配值的一部分的特殊字符
搜索模式:由字面值、通配符或两者组合成的搜索条件
在搜索子句中使用通配符必须使用LIKE操作符;LIKE指示后跟的搜索模式利用通配符而不是直接相等匹配进行比较。

【1】百分号(%)通配符

%表示任何字符出现任意次数

SELECT number
FROM accounts
WHERE number LIKE '0%';

查找表accounts中以0为开头的number

MySQL--操作简记(where过滤,通配符过滤数据)

通配符在搜索模式中任意位置使用,并且可以使用多个通配符

【2】下划线(_)通配符

下划线只匹配单个字符而不是多个字符

SELECT number
FROM accounts
WHERE number LIKE '_ala';

查找表accounts中第一个为任意字符,后为ala的number

MySQL--操作简记(where过滤,通配符过滤数据)

【3】使用通配符的技巧

  • 不要过度使用通配符。如果其他操作符能达到相同的目的,应使用其他操作符。
  • 在确实需要使用通配符是,除非绝对有必要,否则不要把它们用在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起来是最慢的。
  • 仔细注意通配符的位置。