周大胖子 发表于 2018-7-26 18:02:08

MySql WHERE 子句

在 SELECT 语句中使用 WHERE子句 从数据表中读取数据:SELECT field1, field2,...fieldN FROM table_name1, table_name2...
] condition2.....备注:
1.查询语句中可以使用一个或者多个表,表之间使用 ' ,' 分割,并使用WHERE 语句来设定查询条件;
2.可以在WHERE 子句中指定任何条件;
3.可以使用AND 或者 OR来指定一个或多个条件;
4.WHERE 子句也可以运用SQL 的 DELETE 或者 UPDATE 命令;
5.WHERE 子句类似与程序语言中的IF 条件,根据MySql 表中的字段值来读取指定的数据。
SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';因为MySql 的 WHERE 子句 的字符串比较是不区分大小写的。可以使用BINARY 关键字来设定 WHERE 子句的字符串比较 是区分大小写的。
插入端代码意思意思:
mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.comEmpty set (0.01 sec)

mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='RUNOOB.COM+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title| runoob_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 关键字,是区分大写的,所以runoob_author="runoob.com"的查询条件是没有数据的。

<?php
$dbhost = 'localhost:3306';// 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");

// 读取 runoob_author 为 RUNOOB.COM 的数据
$sql = 'SELECT runoob_id, runoob_title,
      runoob_author, submission_date
      FROM runoob_tbl
      WHERE runoob_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, MYSQL_ASSOC))
{
    echo "<tr><td> {$row['runoob_id']}</td> ".
         "<td>{$row['runoob_title']} </td> ".
         "<td>{$row['runoob_author']} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>


页: [1]
查看完整版本: MySql WHERE 子句