MySQL中LIKE子句与排序
来源:互联网 发布:大数据岗位 编辑:程序博客网 时间:2024/06/13 11:08
MySQL中LIKE子句
我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 (=) 来设定获取数据的条件,如 “runoob_author = ‘Sanjay’”。
但是有时候我们需要获取 runoob_author 字段含有 “jay” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号(%)字符来表示任意字符,类似于UNIX或正则表达式中的星号 (*)。
如果没有使用百分号(%), 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 子句
实例:
root@host# mysql -u root -p password;Enter password:*******mysql> use RUNOOB;Database changedmysql> SELECT * from runoob_tbl -> WHERE runoob_author LIKE '%jay';+-------------+----------------+-----------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-------------+----------------+-----------------+-----------------+| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |+-------------+----------------+-----------------+-----------------+1 rows in set (0.01 sec)mysql>
在PHP脚本中使用 LIKE 子句
<?php$dbhost = 'localhost:3306';$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 "%jay%"';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 表中使用 SQL SELECT 语句来读取数据。
如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪中方式来进行排序,再返回搜索结果。
语法
SELECT field1, field2,...fieldN table_name1, table_name2...ORDER BY field1, [field2...] [ASC [DESC]]
- 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
- 你可以设定多个字段来排序。
- 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
- 你可以添加 WHERE…LIKE 子句来设置条件。
在命令提示符中使用 ORDER BY 子句
实例:
root@host# mysql -u root -p password;Enter password:*******mysql> use RUNOOB;Database changedmysql> SELECT * from runoob_tbl ORDER BY runoob_author ASC;+-----------+---------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+---------------+---------------+-----------------+| 2 | Learn MySQL | Abdul S | 2007-05-24 || 1 | Learn PHP | John Poul | 2007-05-24 || 3 | JAVA Tutorial | Sanjay | 2007-05-06 |+-----------+---------------+---------------+-----------------+3 rows in set (0.00 sec)mysql> SELECT * from runoob_tbl ORDER BY runoob_author DESC;+-----------+---------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+---------------+---------------+-----------------+| 3 | JAVA Tutorial | Sanjay | 2007-05-06 || 1 | Learn PHP | John Poul | 2007-05-24 || 2 | Learn MySQL | Abdul S | 2007-05-24 |+-----------+---------------+---------------+-----------------+3 rows in set (0.00 sec)mysql>
在PHP脚本中使用 ORDER BY 子句
<?php$dbhost = 'localhost:3306';$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 ORDER BY runoob_author DESC';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);?>
1 0
- MySQL中LIKE子句与排序
- MySQL LIKE 子句
- MySQL LIKE 子句
- MySQL LIKE 子句
- MySQL LIKE 子句整理
- Mysql数据库的条件语句like子句
- mysql like子句 多条件查询
- 在Mysql中使用in子句查询和排序
- mysql using子句与on子句
- mysql(8):基础,LIKE 子句的语法介绍
- Oracle LIKE ESCAPE子句
- SQL LIKE子句
- 关于 mysql 中 find_in_set 与 like 查询的一些思考
- MySql中Like与Instr模糊查询性能比较
- Mybatis中分页、排序、like
- mysql的5中查询子句之四order by排序查询
- Mysql中Like的技巧
- Oracle中instr与like
- Android 中利用WebViewJavascriptBridge 实现js和java的交互
- Web前端初步——札记0
- ”Android资源文件匹配“调研
- 画虚线
- zlib剖析(三)
- MySQL中LIKE子句与排序
- Android Training - 管理应用的内存
- Android计时器Chronometer小例子
- Mapper类/Reducer类中的setup方法和cleanup方法以及run方法的介绍
- 【网络流24题】飞行员配对方案问题
- tableViewcell中的时间线
- android实践项目七自定义的Spinner
- ScrollView 嵌套 ListView,进入界面不在顶部
- php算法之选择排序