如前一节所示,检索整个表很容易。只需从语句中省略该WHERE
子句SELECT
即可。但通常您不想看到整个表,尤其是当它变大时。相反,您通常对回答特定问题更感兴趣,在这种情况下,您可以对所需信息指定一些限制条件。让我们看看他们回答的关于您的宠物的一些选择查询。
您只能从表中选择特定行。例如,如果您想验证您对 Bowser 的出生日期所做的更改,请像这样选择 Bowser 的记录:
Press CTRL+C to copymysql> SELECT * FROM pet WHERE name = 'Bowser'; +--------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +--------+-------+---------+------+------------+------------+ | Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 | +--------+-------+---------+------+------------+------------+
输出确认年份被正确记录为 1989,而不是 1979。
字符串比较通常不区分大小写,因此您可以将名称指定为'bowser'
、
'BOWSER'
等。查询结果是一样的。
您可以在任何列上指定条件,而不仅仅是
name
. 例如,如果您想知道哪些动物是在 1998 年期间或之后出生的,请测试该
birth
列:
Press CTRL+C to copymysql> 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 | +----------+-------+---------+------+------------+-------+
您可以组合条件,例如,定位母狗:
Press CTRL+C to copymysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f'; +-------+--------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +-------+--------+---------+------+------------+-------+ | Buffy | Harold | dog | f | 1989-05-13 | NULL | +-------+--------+---------+------+------------+-------+
Press CTRL+C to copymysql> 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
可以混合使用,尽管
AND
优先级高于
OR
. 如果您同时使用这两种运算符,最好使用括号来明确指示应如何对条件进行分组:
Press CTRL+C to copymysql> 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 | +-------+--------+---------+------+------------+-------+