MySQL Where子句
发布时间:2022-04-11 11:11:09 所属栏目:MySql教程 来源:互联网
导读:我们已经看到使用SQL SELECT命令从MySQL表中获取数据。我们可以用 WHERE子句来筛选出结果的条件子句。使用WHERE子句,我们可以指定一个选择标准,从表中选择所需的记录。 语法 下面是SELECT命令使用WHERE子句来从MySQL表数据的通用SQL语法: SELECT field1,
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。我们可以用 WHERE子句来筛选出结果的条件子句。使用WHERE子句,我们可以指定一个选择标准,从表中选择所需的记录。 语法 下面是SELECT命令使用WHERE子句来从MySQL表数据的通用SQL语法: SELECT field1, field2,...fieldN table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2..... 可以使用逗号分隔一个或多个表,以及WHERE子句包括各种条件,但WHERE子句只是SELECT命令的可选部分 可以指定使用任何条件在WHERE子句中 可以指定一个以上的条件在使用AND或OR运算符中 WHERE子句可以用DELETE 或 UPDATE的SQL命令一起,也可以指定一个条件使用。 WHERE子句就像是if一个条件在编程语言中, 此子句是用来比较给定值的字段值在MySQL表是否可用。如果从外部给定值等于在MySQL表可用字段值,那么它返回该行。 这里是运算符的列表,它可以在WHERE子句中使用。 假设字段A=10,字段B=20,则: 操作符 描述 示例 = 检查两个操作数的值是否相等,如果是,则条件变为真。 (A = B) 不为 true. != 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (A != B) 为 true. > 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不为 true. < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为 true. >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不为 true. <= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件变为真。 (A <= B) 为 true. 当想要从一个表中提取所选行,尤其是当使用MySQL联接的WHERE子句是非常有用的。 联接在另一章讨论。 搜索使用主键进行快速搜索记录是常见的做法。 如果给定的条件不匹配表任何记录,那么查询将不会返回任何行。 1、从命令行提示符读取数据 使用SQL SELECT命令以及WHERE子句,从MySQL表tutorials_tbl选择获取数据。 示例 下面的例子将从tutorials_tbl表中作者的名字是yiibai所有记录返回: root@host# mysql -u root -p password; Enter password: mysql> use test; Database changed mysql> SELECT * from tutorials_tbl WHERE tutorial_author='yiibai'; +-------------+----------------+-----------------+-----------------+ | tutorial_id | tutorial_title | tutorial_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 3 | JAVA Tutorial | yiibai | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 1 rows in set (0.01 sec) mysql> 除非执行字符串LIKE比较,比较是不区分大小写。可以使用BINARY关键字使搜索区分大小写如下: root@host# mysql -u root -p password; Enter password: mysql> use test; Database changed mysql> SELECT * from tutorials_tbl WHERE BINARY tutorial_author='yiibai'; Empty set (0.02 sec) mysql> 使用PHP脚本提取数据 可以使用相同的SQL SELECT命令及WHERE子句在PHP的mysql_query()函数。此函数用于执行SQL命令,之后另一个PHP的 mysql_fetch_array()函数可用于获取所有选定的数据。这个函数返回一行作为关联数组,数字数组,或两者兼而有。如果没有更多的行这个函数返回FALSE。 示例 下面的例子将从tutorials_tbl表中作者的名字是yiibai所有记录返回: <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl WHERE tutorial_author="yiibai"'; mysql_select_db('test'); $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['tutorial_id']} <br> ". "Title: {$row['tutorial_title']} <br> ". "Author: {$row['tutorial_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfullyn"; mysql_close($conn); ?> (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |