本篇文章给大家带来了关于mysql 的相关知识,其中主要介绍了mysql where子句的使用,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。
mysql where 子句我们知道从 mysql 表中使用 sql select 语句来读取数据。
如需有条件地从表中选取数据,可将 where 子句添加到 select 语句中。
语法以下是 sql select 语句使用 where 子句从数据表中读取数据的通用语法:
select field1, field2,...fieldn from table_name1, table_name2...[where condition1 [and [or]] condition2.....
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用where语句来设定查询条件。你可以在 where 子句中指定任何条件。你可以使用 and 或者 or 指定一个或多个条件。where 子句也可以运用于 sql 的 delete 或者 update 命令。where 子句类似于程序语言中的 if 条件,根据 mysql 表中的字段值来读取指定的数据。以下为操作符列表,可用于 where 子句中。
下表中实例假定 a 为 10, b 为 20
操作符描述实例
= 等号,检测两个值是否相等,如果相等返回true (a = b) 返回false。
a8093152e673feb7aba1828c43532094, != 不等于,检测两个值是否相等,如果不相等返回true (a != b) 返回 true。
大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true (a > b) 返回false。
8eb5f8b3d5ac0196016e4931dec4b1ad= 大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true (a >= b) 返回false。
<= 小于等于号,检测左边的值是否小于或等于右边的值, 如果左边的值小于或等于右边的值返回true (a <= b) 返回 true。
如果我们想在 mysql 数据表中读取指定的数据,where 子句是非常有用的。
使用主键来作为 where 子句的条件查询是非常快速的。
如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。
从命令提示符中读取数据我们将在sql select语句使用where子句来读取mysql数据表 kxdang_tbl 中的数据:
实例
以下实例将读取 kxdang_tbl 表中 kxdang_author 字段值为 sanjay 的所有记录:
sql select where 子句select * from kxdang_tbl where kxdang_author='菜鸟教程';
输出结果:
mysql 的 where 子句的字符串比较是不区分大小写的。 你可以使用 binary 关键字来设定 where 子句的字符串比较是区分大小写的。
如下实例:
binary 关键字mysql> select * from kxdang_tbl where binary kxdang_author='kxdang.com';empty set (0.01 sec) mysql> select * from kxdang_tbl where binary kxdang_author='runoob.com';+-----------+---------------+---------------+-----------------+| kxdang_id | kxdang_title | kxdang_author | submission_date |+-----------+---------------+---------------+-----------------+| 3 | java 教程 | runoob.com | 2016-05-06 || 4 | 学习 python | runoob.com | 2016-03-06 |+-----------+---------------+---------------+-----------------+2 rows in set (0.01 sec)
实例中使用了 binary 关键字,是区分大小写的,所以 kxdang_author='kxdang.com' 的查询条件是没有数据的。
使用php脚本读取数据你可以使用 php 函数的 mysqli_query() 及相同的 sql select 带上 where 子句的命令来获取数据。
该函数用于执行 sql 命令,然后通过 php 函数 mysqli_fetch_array() 来输出所有查询的数据。
实例以下实例将从 kxdang_tbl 表中返回使用 kxdang_author 字段值为 runoob.com 的记录:
mysql where 子句测试:<?php$dbhost = 'localhost'; // mysql服务器主机地址$dbuser = 'root'; // mysql用户名$dbpass = '123456'; // mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){ die('连接失败: ' . mysqli_error($conn));}// 设置编码,防止中文乱码mysqli_query($conn , "set names utf8"); // 读取 kxdang_author 为 runoob.com 的数据$sql = 'select kxdang_id, kxdang_title, kxdang_author, submission_date from kxdang_tbl where kxdang_author="runoob.com"'; mysqli_select_db( $conn, 'runoob' );$retval = mysqli_query( $conn, $sql );if(! $retval ){ die('无法读取数据: ' . mysqli_error($conn));}echo '<h2>菜鸟教程 mysql where 子句测试<h2>';echo '<table border="1"><tr><td>教程 id</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';while($row = mysqli_fetch_array($retval, mysqli_assoc)){ echo "<tr><td> {$row['kxdang_id']}</td> ". "<td>{$row['kxdang_title']} </td> ". "<td>{$row['kxdang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>";}echo '</table>';// 释放内存mysqli_free_result($retval);mysqli_close($conn);?>
推荐学习:《mysql视频教程》
以上就是一文详解如何巧妙使用mysql where子句的详细内容。