跳到主要内容

二十三、MySQL LIKE 子句模糊查询数据

我们知道在 MySQL 中可以使用 SQL SELECT FROM 命令查询数据,也可以在 SELECT FROM 语句中使用 WHERE 子句有条件的获取指定的记录

我们知道 = 操作符用于完全匹配某个条件,比如 name='Python 只能查询 namePython 的记录,却不能查询以 P 开头的记录

但如果我们想要查询 nameP 开头的记录要怎么做呢?

答案就是在 WHERE 字句中使用 LIKE 子句

LIKE 子句

LIKE 子句用于设定模糊查询条件

LIKE 子句中可以使用 百分号% 字符来表示任意字符,比如 P% 可以匹配以 P 开头的所有字符串,%on 可以匹配所有以 on 结尾的字符串

LIKE 子句语法

SELECT FROM 语句使用 LIKE 子句从数据表中读取数据的语法格式如下

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • 可以在 WHERE 子句中使用 LIKE 子句
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索

可以在DELETEUPDATE 命令中使用 WHERE...LIKE 子句来指定条件

复原数据

可以在mysql> 命令提示窗口中执行以下语句复原范例数据

truncate tbl_language;
INSERT INTO tbl_language VALUES
(1,'Python','https://pottercoding.cn','1991-2-20'),
(2,'PHP','http://www.php.net','1994-1-1'),
(3,'Ruby','https://www.ruby-lang.org/','1996-12-25');

通过命令提示符获取数据

可以在mysql> 命令提示窗口中执行 SELECT FROM LIKE SQL 语句查询某个表中的数据