查询数据表中的记录(SELECT)(2)

时间:2009-02-27 16:06:00 

为了限制 SELECT 语句检索出来的记录集,可使用 WHERE 子句,它给出选择行的条件。可通过查找满足各种条件的列值来选择行。

WHERE 子句中的表达式可使用表1 中的算术运算符、表2 的比较运算符和表3 的逻辑运算符。还可以使用圆括号将一个表达式分成几个部分。可使用常量、表列和函数来完成运算。在本教程的查询中,我们有时使用几个 MySQL 函数,但是 MySQL 的函数远不止这里给出的这些。请参阅附录 一,那里给出了所有MySQL 函数的清单。

表1   算术运算符


运算符
 说明
 运算符
 说明
 
+

-
 加


 *

/
 乘


 

 

表2   比较运算符


运算符
 说明
 运算符
 说明
 
<
<=
=
 小于
小于或等于
等于
 != 或 <>
>=
>
 不等于
大于或等于
大于
 


表3  逻辑运算符


运算符
 说明
 
NOT或 !
OR 或 ||
AND或 &&
 逻辑非
逻辑或
逻辑与

 


例如,如果你想要验证你对Bowser的出生日期所做的改变,像这样精选Bowser的记录:

mysql> SELECT * FROM pet WHERE name = "Bowser";

+--------+-------+---------+------+------------+------------+

| name   | owner | species | sex  | birth      | death      |

+--------+-------+---------+------+------------+------------+

| Bowser | Diane | dog     | m    | 1990-08-31 | 1995-07-29 |

+--------+-------+---------+------+------------+------------+

输出证实出生年份现在正确记录为1990,而不是1909。

字符串比较通常是大小些无关的,因此你可以指定名字为"bowser"、"BOWSER"等等,查询结果将是相同的。

你能在任何列上指定条件,不只是name。例如,如果你想要知道哪个动物在1998以后出生的,测试birth列:

mysql> SELECT * FROM pet WHERE birth >= "1998-1-1";

+----------+-------+---------+------+------------+-------+

| name     | owner | species | sex  | birth      | death |

+----------+-------+---------+------+------------+-------+

| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |

| Puffball | Diane | hamster | f    | 1999-03-30 | NULL  |

+----------+-------+---------+------+------------+-------+

你能组合条件,例如,找出雌性的狗:

mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";

+-------+--------+---------+------+------------+-------+

| name  | owner  | species | sex  | birth      | death |

+-------+--------+---------+------+------------+-------+

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |

+-------+--------+---------+------+------------+-------+

上面的查询使用AND逻辑操作符,也有一个OR操作符:

mysql> SELECT * FROM pet WHERE species = "snake" OR species = "bird";

+----------+-------+---------+------+------------+-------+

| name     | owner | species | sex  | birth      | death |

+----------+-------+---------+------+------------+-------+

| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |

| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL  |

| Slim     | Benny | snake   | m    | 1996-04-29 | NULL  |

+----------+-------+---------+------+------------+-------+

AND和OR可以混用。如果你这样做,使用括号指明条件应该如何被分组是一个好主意:

mysql> SELECT * FROM pet WHERE (species = "cat" AND sex = "m")

-> OR (species = "dog" AND sex = "f");

+-------+--------+---------+------+------------+-------+

| name  | owner  | species | sex  | birth      | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |

+-------+--------+---------+------+------------+-------+

查询排序

使用ORDER BY子句对查询返回的结果按一列或多列排序。ORDER BY子句的语法格式为:

ORDER BY column_name [ASC|DESC] [,…]

其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按text、text和image数据类型进行排 序。另外,可以根据表达式进行排序。

例如,这里是动物生日,按日期排序:

mysql> SELECT name, birth FROM pet ORDER BY birth;

标签:查询,数据库,表,select
0
投稿

猜你喜欢

  • 浅析Go语言编程当中映射和方法的基本使用

    2024-04-28 09:13:16
  • PHP+Ajax简单get验证操作示例

    2024-05-13 09:24:27
  • asp如何验证信用卡是否可用?

    2010-06-10 18:39:00
  • python写入中英文字符串到文件的方法

    2022-11-21 23:11:03
  • 如何避免SQL语句中含有单引号而导致操作失败?

    2009-11-07 18:40:00
  • CSS? 3D? 3D CSS?

    2009-05-13 13:10:00
  • 使用WingPro 7 设置Python路径的方法

    2022-05-23 03:59:56
  • MYSQL使用.frm恢复数据表结构的实现方法

    2024-01-24 21:52:27
  • MySQL修改root账号密码的方法

    2024-01-28 07:25:46
  • sql分组后二次汇总(处理表重复记录查询和删除)的实现方法

    2024-01-26 14:22:47
  • PHP _construct()函数讲解

    2023-06-14 16:56:43
  • 巧用Javascript的逻辑运算符

    2024-04-16 09:47:42
  • python实现矩阵乘法

    2023-11-03 07:41:10
  • SQL Server 开窗函数 Over()代替游标的使用详解

    2024-01-25 00:35:40
  • 从0到1搭建后端架构的演进(MVC,服务拆分,微服务,领域驱动)

    2022-04-24 10:03:35
  • 像聪明女孩穿衣服那样设计网页文字

    2007-11-06 16:45:00
  • Python爬虫之正则表达式基本用法实例分析

    2022-12-20 17:02:16
  • 关于Flask项目无法使用公网IP访问的解决方式

    2021-01-03 10:04:00
  • tensorflow之并行读入数据详解

    2021-09-20 14:42:30
  • Python办公自动化之Excel介绍

    2021-04-19 11:06:07
  • asp之家 网络编程 m.aspxhome.com