`
cakin24
  • 浏览: 1370532 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

MySQL LIKE 子句

阅读更多

我们知道在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"的所有记录

  1. <?php
  2. $dbhost ='localhost:3036';
  3. $dbuser ='root';
  4. $dbpass ='rootpassword';
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn )
  7. {
  8. die('Could not connect: '. mysql_error());
  9. }
  10. $sql ='SELECT runoob_id, runoob_title,
  11. runoob_author, submission_date
  12. FROM runoob_tbl
  13. WHERE runoob_author LIKE "%cak%"';
  14. mysql_select_db('RUNOOB');
  15. $retval = mysql_query( $sql, $conn );
  16. if(! $retval )
  17. {
  18. die('Could not get data: '. mysql_error());
  19. }
  20. while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
  21. {
  22. echo "Tutorial ID :{$row['runoob_id']} <br> ".
  23. "Title: {$row['runoob_title']} <br> ".
  24. "Author: {$row['runoob_author']} <br> ".
  25. "Submission Date : {$row['submission_date']} <br> ".
  26. "--------------------------------<br>";
  27. }
  28. echo "Fetched data successfully\n";
  29. mysql_close($conn);
  30. ?>
运行结果

 
  • 大小: 32 KB
1
0
分享到:
评论

相关推荐

    mysql命令大全.docx

    MySQL 命令大全 MySQL 是一种关系型数据库...MySQL 命令大全提供了 MySQL 使用和管理的详细指南,涵盖了 MySQL 登录、用户管理、数据库管理、数据操作、数据类型、LIKE 子句、正则表达式、数据导出和导入等多个方面。

    MySQL中LIKE子句相关使用的学习教程

    MySQL LIKE 语法 LIKE 运算符用于 WHERE 表达式中,以搜索匹配字段中的指定内容,语法如下: WHERE column LIKE pattern WHERE column NOT LIKE pattern 在 LIKE 前面加上 NOT 运算符时,表示与 LIKE 相反的意思...

    MySQL Like语句的使用方法

    MySQL中的`LIKE`语句是用于执行模糊查询的关键字,它允许你在`WHERE`子句中使用通配符来匹配字符串数据。`LIKE`语句非常适用于那些需要查找部分匹配或者不完全匹配的情况。 1. **`LIKE`通配符** - `%`:这个通配符...

    MySql like模糊查询通配符使用详细介绍

    MySQL中的`LIKE`模糊查询是SQL查询中一种强大的匹配方式,它允许用户使用通配符来查找不完全符合精确匹配的记录。本文将详细介绍`LIKE`模糊查询中的两种主要通配符:`%`和`_`,以及MySQL提供的扩展正则表达式模式...

    mysql 的 like 问题,超强毕杀记!!!

    MySQL中的LIKE操作符常用于模糊查询,允许用户在WHERE子句中使用通配符来匹配字符串数据。然而,当涉及到中文字符时,可能会遇到一些问题,尤其是在不同的字符集和排序规则下。以下是对标题和描述中提及的四种解决...

    MYSQL查询语句解析

    ### MySQL查询语句解析 #### 一、简单查询概述 MySQL 的简单查询通常涉及三个基本组成部分:选择列表(`SELECT`)、来源表或视图(`FROM`)以及搜索条件(`WHERE`)。通过这些基本元素,我们可以构建出用于提取...

    mysql优化之like和=性能详析

    `Using where`表示MySQL在获取数据后会应用WHERE子句进行过滤,这通常发生在没有直接利用索引来过滤数据的情况下。 - 当`Extra`显示`Using index`时,表示MySQL能够完全基于索引完成查询,无需回表查询原始数据,这...

    详解MySQL中WHERE子句的用法

    在MySQL中,WHERE子句是SQL查询语句中不可或缺的一部分,它允许你在从数据库中提取数据时设置特定的条件。WHERE子句常用于SELECT、DELETE和UPDATE操作,以过滤出满足特定条件的记录。以下是对WHERE子句更深入的解释...

    php mysql like 实现多关键词搜索的方法

    这通常涉及到SQL的LIKE语句,它允许我们在WHERE子句中使用通配符进行模糊匹配。本文将详细讲解如何使用PHP和MySQL的LIKE操作符来实现多关键词的搜索功能。 首先,我们要了解LIKE操作符的基本用法。LIKE语句用于在...

    MySQL初级教程.pdf,适合MySQL初学者

    LIKE关键字用于实现通配符搜索,比如模糊查找。BETWEEN...AND...用于指定范围内的筛选,而IN用于指定一组特定的值。IS NULL则用于检查字段值是否为空。 此外,教程还提到了一些高级概念,例如如何处理日期和时间...

    MySQL单表查询练习

    - **解析**:此例中的关键在于如何使用`NOT LIKE`操作符进行模式匹配,以排除包含字母M的姓名,并结合逻辑运算符`AND`和`OR`来组合多个条件,最后使用`ORDER BY`子句对结果集按照雇员姓名(`emp_name`)降序(`DESC`)...

    Mysql命令大全Mysql命令大全

    - `LIKE`用于模糊匹配,如`SELECT * FROM table WHERE column LIKE '%pattern%';` 5. **排序数据** `ORDER BY`用于排序结果,如`SELECT * FROM table ORDER BY column ASC|DESC;` 6. **分组数据** `GROUP BY`...

    数据库(MySQL)开发技术

    4. 通配符与LIKE子句:在SQL中,通配符如%和_通常在LIKE子句中使用,用于模糊匹配。选项D,LIKE子句是用于在WHERE子句中进行模式匹配的。 5. 数据库文件扩展名:在SQL Server 2005中,主数据文件的扩展名为.mdf,...

    MySql HA.docx

    - 在 `ORDER BY` 或 `GROUP BY` 子句中,如果排序字段没有建立索引,则可能无法利用索引加速排序过程。 - 当执行条件包含函数时,如果函数不是索引友好的,也可能导致索引失效。 #### 四、MySQL 性能优化 **慢...

    mysql操作和语法

    4. 查询优化:避免在WHERE子句中使用全表扫描的操作,如LIKE '%value%',尽量使用索引字段进行过滤。 五、存储过程与触发器 1. 存储过程:一组预编译的SQL语句,通过`CREATE PROCEDURE`定义,`CALL`执行。 2. ...

    mysql数据库原理演示记录

    查看数据库可使用SHOW DATABASES或SHOW SCHEMAS命令,可以配合LIKE子句和WHERE表达式来过滤特定的数据库名称。创建数据库时,可以使用CREATE DATABASE或CREATE SCHEMA命令,并且可以附加DEFAULT CHARACTERSET和...

    MYSQL数据库信息查看

    - **`WHERE`**子句用于设置查询条件,例如:`WHERE column = value`。 - **`GROUP BY`**和**`HAVING`**用于数据分组和过滤。 - **`ORDER BY`**对结果进行排序,如`ORDER BY column ASC`(升序)或`DESC`(降序)...

Global site tag (gtag.js) - Google Analytics