Mysql 简明教程
MySQL - LIKE Operator
MySQL LIKE Operator
MySQL 数据库中的 LIKE 运算符是一个逻辑运算符,用于根据指定模式从表中检索数据。
以非常基本的方式过滤和搜索表中的某些记录是使用 WHERE 子句。详细来说,只要我们想搜索精确匹配,带有“等于”号 (=) 的 WHERE 子句就能很好地工作。但可能需要筛选出表中值具有特定模式的所有结果。这可以通过在 WHERE 子句中使用 LIKE 运算符来处理。
LIKE 运算符通常与一个模式一起使用。但是,此模式(例如记录开头或结尾)的位置是通过一些称为通配符的字符决定的。如果没有通配符字符,则 LIKE 运算符与 WHERE 子句中的等于 (=) 符号完全相同。
Using LIKE Operator with Wildcards
通配符是在 SQL 查询中用于匹配数据中模式的特殊字符。以下是在 LIKE 运算符中结合使用的四个通配符 -
Note− 在 LIKE 运算符中,上述通配符字符可以单独使用,也可以相互组合。两个主要使用的通配符字符是 '%' 和 '_' 。
Example
在下面的查询中,我们使用 CREATE 语句创建名为 CUSTOMERS 的表 -
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
下面的查询将 7 条记录插入上述创建的表中 -
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );
执行以下查询以从 CUSTOMERS 表中获取所有记录 −
Select * From CUSTOMERS;
以下为 CUSTOMERS 表 −
现在,我们使用带通配符的 LIKE 运算符检索以“esh”结尾的客户的名称 -
SELECT * from CUSTOMERS WHERE NAME LIKE '%esh';
Using LIKE Operator with AND/OR Operators
在 MySQL 中,我们还可以使用 LIKE 运算符与多个字符串模式,通过使用 AND 或 OR 运算符来选择行。
Using NOT Operator with LIKE Operator
我们可以在 LIKE 运算符中结合使用 NOT 运算符,以提取不包含搜索模式中提供的特定字符串的行。
Syntax
以下是 SQL 中 NOT LIKE 运算符的基本语法 −
SELECT column1, column2, ...
FROM table_name
WHERE column1 NOT LIKE pattern;