我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 (=) 来设定获取数据的条件,如 "runoob_author = 'Sanjay'"。
但是有时候我们需要获取 runoob_author 字段含有 "jay" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号(%)字符来表示任意字符。
如果没有使用百分号(%), LIKE 子句与等号(=)的效果是一样的。
以下是SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN table_name1, table_name2... WHERE field1 LIKE condition1 [AND [OR]] filed2 ='somevalue'
- 可以在WHERE子句中指定任何条件。
- 可以在WHERE子句中使用LIKE子句。
- 可以使用LIKE子句代替等号(=)。
- LIKE 通常与 % 一同使用,类似于一个元字符的搜索。
- 可以使用AND或者OR指定一个或多个条件。
- 可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。
在命令提示符中使用 LIKE 子句
以下是我们将runoob_tbl表中获取runoob_author字段中含有"cak"的所有记录:
MariaDB [RUNOOB]> SELECT * from runoob_tbl WHERE runoob_author LIKE '%cak%';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
| 4 | mysql | cakin24 | 2016-11-26 |
+-----------+--------------+---------------+-----------------+
1 row in set (0.00 sec)
在PHP脚本中使用 LIKE 子句
可以使用PHP函数的mysql_query()及SQL SELECT 带上 WHERE...LIKE 子句的命令来获取数据。
该函数用于执行SQL命令,然后通过 PHP 函数 mysql_fetch_array() 来输出所有查询的数据。
但是如果是DELETE或者UPDATE中使用 WHERE...LIKE 子句的SQL语句,则无需使用mysql_fetch_array() 函数。
以下是我们使用PHP脚本在runoob_tbl表中读取runoob_author字段中含有"cak"的所有记录:
<?php
$dbhost ='localhost:3036';
$dbuser ='root';
$dbpass ='rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: '. mysql_error());
}
$sql ='SELECT runoob_id, runoob_title,
runoob_author, submission_date
FROM runoob_tbl
WHERE runoob_author LIKE "%cak%"';
mysql_select_db('RUNOOB');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: '. mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "Tutorial ID :{$row['runoob_id']} <br> ".
"Title: {$row['runoob_title']} <br> ".
"Author: {$row['runoob_author']} <br> ".
"Submission Date : {$row['submission_date']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
运行结果
相关推荐
MySQL 命令大全 MySQL 是一种关系型数据库...MySQL 命令大全提供了 MySQL 使用和管理的详细指南,涵盖了 MySQL 登录、用户管理、数据库管理、数据操作、数据类型、LIKE 子句、正则表达式、数据导出和导入等多个方面。
MySQL LIKE 语法 LIKE 运算符用于 WHERE 表达式中,以搜索匹配字段中的指定内容,语法如下: WHERE column LIKE pattern WHERE column NOT LIKE pattern 在 LIKE 前面加上 NOT 运算符时,表示与 LIKE 相反的意思...
`Using where`表示MySQL在获取数据后会应用WHERE子句进行过滤,这通常发生在没有直接利用索引来过滤数据的情况下。 - 当`Extra`显示`Using index`时,表示MySQL能够完全基于索引完成查询,无需回表查询原始数据,这...
MySQL中的`LIKE`语句是用于执行模糊查询的关键字,它允许你在`WHERE`子句中使用通配符来匹配字符串数据。`LIKE`语句非常适用于那些需要查找部分匹配或者不完全匹配的情况。 1. **`LIKE`通配符** - `%`:这个通配符...
MySQL中的`LIKE`模糊查询是SQL查询中一种强大的匹配方式,它允许用户使用通配符来查找不完全符合精确匹配的记录。本文将详细介绍`LIKE`模糊查询中的两种主要通配符:`%`和`_`,以及MySQL提供的扩展正则表达式模式...
MySQL中的LIKE操作符常用于模糊查询,允许用户在WHERE子句中使用通配符来匹配字符串数据。然而,当涉及到中文字符时,可能会遇到一些问题,尤其是在不同的字符集和排序规则下。以下是对标题和描述中提及的四种解决...
### MySQL查询语句解析 #### 一、简单查询概述 MySQL 的简单查询通常涉及三个基本组成部分:选择列表(`SELECT`)、来源表或视图(`FROM`)以及搜索条件(`WHERE`)。通过这些基本元素,我们可以构建出用于提取...
在MySQL中,WHERE子句是SQL查询语句中不可或缺的一部分,它允许你在从数据库中提取数据时设置特定的条件。WHERE子句常用于SELECT、DELETE和UPDATE操作,以过滤出满足特定条件的记录。以下是对WHERE子句更深入的解释...
这通常涉及到SQL的LIKE语句,它允许我们在WHERE子句中使用通配符进行模糊匹配。本文将详细讲解如何使用PHP和MySQL的LIKE操作符来实现多关键词的搜索功能。 首先,我们要了解LIKE操作符的基本用法。LIKE语句用于在...
LIKE关键字用于实现通配符搜索,比如模糊查找。BETWEEN...AND...用于指定范围内的筛选,而IN用于指定一组特定的值。IS NULL则用于检查字段值是否为空。 此外,教程还提到了一些高级概念,例如如何处理日期和时间...
- **解析**:此例中的关键在于如何使用`NOT LIKE`操作符进行模式匹配,以排除包含字母M的姓名,并结合逻辑运算符`AND`和`OR`来组合多个条件,最后使用`ORDER BY`子句对结果集按照雇员姓名(`emp_name`)降序(`DESC`)...
4. 通配符与LIKE子句:在SQL中,通配符如%和_通常在LIKE子句中使用,用于模糊匹配。选项D,LIKE子句是用于在WHERE子句中进行模式匹配的。 5. 数据库文件扩展名:在SQL Server 2005中,主数据文件的扩展名为.mdf,...
- 在 `ORDER BY` 或 `GROUP BY` 子句中,如果排序字段没有建立索引,则可能无法利用索引加速排序过程。 - 当执行条件包含函数时,如果函数不是索引友好的,也可能导致索引失效。 #### 四、MySQL 性能优化 **慢...
4. 查询优化:避免在WHERE子句中使用全表扫描的操作,如LIKE '%value%',尽量使用索引字段进行过滤。 五、存储过程与触发器 1. 存储过程:一组预编译的SQL语句,通过`CREATE PROCEDURE`定义,`CALL`执行。 2. ...
查看数据库可使用SHOW DATABASES或SHOW SCHEMAS命令,可以配合LIKE子句和WHERE表达式来过滤特定的数据库名称。创建数据库时,可以使用CREATE DATABASE或CREATE SCHEMA命令,并且可以附加DEFAULT CHARACTERSET和...
- **`WHERE`**子句用于设置查询条件,例如:`WHERE column = value`。 - **`GROUP BY`**和**`HAVING`**用于数据分组和过滤。 - **`ORDER BY`**对结果进行排序,如`ORDER BY column ASC`(升序)或`DESC`(降序)...
11. LIKE子句:使用LIKE子句进行模糊查询。 12. UNION语句:使用UNION语句合并查询结果。 13. ORDER BY子句(排序):使用ORDER BY子句对查询结果进行排序。 14. GROUP BY子句(分组):使用GROUP BY子句对查询结果...