VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • MySQL where 子句

MySQL where 子句
在上一节课我们已经提到了where子句,其作用就是用于限制条件。譬如说,现在我们要查询某个表中,id值大于12的所有记录,就可以这样果
select * from <表名 > where id>12
可以看到这是一个典型的sql语句,其中select是查询的作用,* 表示将结果记录中的所有字段显出来,where在英语语里的意思,是条件的意思,这里也是用于限制指查询结果的条件,如果符合条件的就会显示出来。
mysql教程语法
SQL SELECT 语句使用 WHERE 子句语法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
从以上语法中可以看现,select语句不仅可以查询单个表,同时还可以查询个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
可以在WHERE子句中指定任何条件,如果是多个条件使用AND或者OR指定。
举例,如果两个条件都要满足就使用AND,

select * from <表名> where 条件1 AND 条件2
以上实例中,条件1和条件2两个都要满足,只要一个条件不满足,那么这个记录就不能被认为是符合要求
如果两个条件中只需要满足一个,那么可以使用OR

select * from <表名> where 条件1 OR 条件2
以上实例中,条件1和条件2两个只要满足一个条件足够了
 
 
WHERE子句也可以运用于SQL的 DELETE 或者 UPDATE 命令,

delete from <表名> where id=6
这里就是删表中id等6的记录
delete是删除的意思,而<表名>是指在哪个表中进行删除,后面的where就是条件
UPDATE <表名> SET field1=new-value1, field2=new-value2
WHERE id=6
这里就是更新表中id等6的记录
update是更新的意思,而<表名>是指在哪个表中进行更新,后面的where就是条件
 
这里涉及到比较运算符
=    等号,检测两个值是否相等,如果相等返回true    (A = B) 返回false。
<> 或 !=    不等于,如果不相等返回true      (A != B) 返回 true。
>    大于号,如果左边的值大于右边的值返回true        (A > B) 返回false。
<    小于号,如果左边的值小于右边的值返回true        (A < B) 返回 true。
>=  大于等于号,如果左边的值大于或等于右边的值返回true
<=  小于等于号, 如果左边的值小于或等于右边的值返回true
 

mysql教程从命令提示符中读取数据
我们将在SQL SELECT语句使用WHERE子句来读取MySQL数据表 new_table1 中的数据:
实例
以下实例将读取 new_table1 表中id字段值大于6的所有记录:
root@host# mysql -u root -p password;
Enter password:
mysql> use xin3721;
Database changed
mysql> SELECT  from new_table1 WHERE id>6;
除非你使用 LIKE 来比较字符串,否则MySQL的WHERE子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定WHERE子句的字符串比较是区分大小写的。
如下实例
root@host# mysql -u root -p password;
Enter password:
mysql> use xin3721;
Database changed
mysql> SELECT  from new_table1 \
          WHERE BINARY productName=’Tom’;
Empty set (0.02 sec)
 
mysql>

mysql教程使用PHP脚本读取数据
你可以使用PHP函数的mysql_query()及相同的SQL SELECT 带上 WHERE 子句的命令来获取数据。
该函数用于执行SQL命令,然后通过 PHP 函数 mysql_fetch_array() 来输出所有查询的数据。
实例
以下实例将从 new_table1表中返回使用 id字段值为6的记录:
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '123456';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM new_table1 WHERE id=6';
 
mysql_select_db('xin3721');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "ID :{$row['id']}
 ".
         "Title: {$row['productName']}
 ".
         "Author: {$row['productPrice']}
 ".
         "--------------------------------
";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
 

相关教程