老莫的笔记本  
  
查看: 1107|回复: 0

MySql WHERE 子句

[复制链接]

662

主题

878

帖子

5139

积分

超级版主

Rank: 8Rank: 8

积分
5139
发表于 2018-7-26 18:02:08 | 显示全部楼层 |阅读模式
在 SELECT 语句中使用 WHERE子句 从数据表中读取数据:
  1. SELECT field1, field2,...fieldN FROM table_name1, table_name2...
  2. [WHERE condition1 [AND [OR]] condition2.....
复制代码
备注:
1.查询语句中可以使用一个或者多个表,表之间使用 ' ,' 分割,并使用WHERE 语句来设定查询条件;
2.可以在WHERE 子句中指定任何条件;
3.可以使用AND 或者 OR  来指定一个或多个条件;
4.WHERE 子句也可以运用SQL 的 DELETE 或者 UPDATE 命令;
5.WHERE 子句类似与程序语言中的IF 条件,根据MySql 表中的字段值来读取指定的数据。
  1. SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';
复制代码
因为MySql 的 WHERE 子句 的字符串比较是不区分大小写的。可以使用BINARY 关键字来设定 WHERE 子句的字符串比较 是区分大小写的。
插入端代码意思意思:
  1. mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.comEmpty set (0.01 sec)
  2. mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM+-----------+---------------+---------------+-----------------+
  3. | runoob_id | runoob_title  | runoob_author | submission_date |
  4. +-----------+---------------+---------------+-----------------+
  5. | 3         | JAVA 教程   | RUNOOB.COM    | 2016-05-06      |
  6. | 4         | 学习 Python | RUNOOB.COM    | 2016-03-06      |
  7. +-----------+---------------+---------------+-----------------+
  8. 2 rows in set (0.01 sec)
复制代码
上述代码自述:实例中使用了BINARY 关键字,是区分大写的,所以runoob_author="runoob.com"的查询条件是没有数据的。
  1. <?php
  2. $dbhost = 'localhost:3306';  // mysql服务器主机地址
  3. $dbuser = 'root';            // mysql用户名
  4. $dbpass = '123456';          // mysql用户名密码
  5. $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn )
  7. {
  8.     die('连接失败: ' . mysqli_error($conn));
  9. }
  10. // 设置编码,防止中文乱码
  11. mysqli_query($conn , "set names utf8");
  12. // 读取 runoob_author 为 RUNOOB.COM 的数据
  13. $sql = 'SELECT runoob_id, runoob_title,
  14.         runoob_author, submission_date
  15.         FROM runoob_tbl
  16.         WHERE runoob_author="RUNOOB.COM"
  17. mysqli_select_db( $conn, 'RUNOOB' );
  18. $retval = mysqli_query( $conn, $sql );
  19. if(! $retval )
  20. {
  21.     die('无法读取数据: ' . mysqli_error($conn));
  22. }
  23. 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, MYSQL_ASSOC))
  24. {
  25.     echo "<tr><td> {$row['runoob_id']}</td> ".
  26.          "<td>{$row['runoob_title']} </td> ".
  27.          "<td>{$row['runoob_author']} </td> ".
  28.          "<td>{$row['submission_date']} </td> ".
  29.          "</tr>";
  30. }
  31. echo '</table>// 释放内存
  32. mysqli_free_result($retval);
  33. mysqli_close($conn);
  34. ?>
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表