MySQLLIKE子句
MySQL LIKE 子句
我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 (=) 来设定获取数据的条件,如 "yukx_author = 'Sanjay'"。
但是有时候我们需要获取 yukx_author 字段含有 "jay" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号(%)字符来表示任意字符,相似于UNIX或正则表达式中的星号 (*)。
如果没有使用百分号(%), LIKE 子句与等号(=)的效果是一样的。
语法
以下是SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN
FROM table_name1, table_name2... WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
- 你可以在WHERE子句中指定任何条件。
- 你可以在WHERE子句中使用LIKE子句。
- 你可以使用LIKE子句代替等号(=)。
- LIKE 一般与 % 一同使用,相似于一个元字符的搜索。
- 你可以使用AND或者OR指定一个或多个条件。
- 你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。
在命令提示符中使用 LIKE 子句
以下我们将在 SQL SELECT 命令中使用 WHERE...LIKE 子句来从MySQL数据表 yukx_tbl 中读取数据。
实例
以下是我们将yukx_tbl表中获取yukx_author字段中以"jay"为结尾的的所有记录:
root@host# mysql -u root -p password; Enter password:******* mysql> use W3CSCHOOL; Database changed mysql> SELECT * from yukx_tbl -> WHERE yukx_author LIKE '%jay'; +-------------+----------------+-----------------+-----------------+ | yukx_id | yukx_title | yukx_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql>
在PHP脚本中使用 LIKE 子句
你可以使用PHP函数的mysql_query()及相同的SQL SELECT 带上 WHERE...LIKE 子句的命令来获取数据。
该函数用于执行SQL命令,然后通过 PHP 函数 mysql_fetch_array() 来输出所有查询的数据。
但是如果是DELETE或者UPDATE中使用 WHERE...LIKE 子句的SQL语句,则无需使用mysql_fetch_array() 函数。
实例
以下是我们使用PHP脚本在yukx_tbl表中读取yukx_author字段中以"jay"为结尾的的所有记录:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT yukx_id, yukx_title, yukx_author, submission_date FROM yukx_tbl WHERE yukx_author LIKE "%jay%"'; mysql_select_db('W3CSCHOOL'); $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['yukx_id']} <br> ". "Title: {$row['yukx_title']} <br> ". "Author: {$row['yukx_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
原文链接: https://www.yukx.com/bingningm/article/details/921.html 优科学习网MySQLLIKE子句
-
redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要redis持久化 redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制redis提供两种持久化机制RDB:存储数据结果,关注点在数据AOF:存储操作
-
通过SQL的执行过程来介绍MySQL的基础结构. 首先有一个user_info表,表里有一个id字段,执行下面这条查询语句:Select * form user_info where i
-
索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是
-
说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。今天我们就先来聊聊MySQL中事务的隔离性的实现原理,后续还会继续出文章分析其他特性的
-
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句
-
ChangeBuffer是一种用于缓存二级索引页变化的特殊数据结构,物理上是一颗普通的btree,是缓冲池中独立的一个区域,存储在idbata系统表空间中。当需要修改二级索引页不在缓冲池中而在磁盘中时,会将这些索引页变化缓存在ChangeBuffer中。用于在对数据变更时,如果数据所在的数据页没有在