mysql where命令_MySQL Where子句

我们已经看到使用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所有记录返回:

$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']}
".

"Title: {$row['tutorial_title']}
".

"Author: {$row['tutorial_author']}
".

"Submission Date : {$row['submission_date']}
".

"--------------------------------
";

}

echo "Fetched data successfully\n";

mysql_close($conn);

?>

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值