Como foi mostrado na seção anterior, é fácil recuperar uma
tabela inteira. Apenas omita a cláusula
WHERE
da instrução
SELECT
. Mas normalmente você não quer ver
toda a tabela, particularmente quando a tabela ficar grande.
Em vez disso, você estará mais interessado em ter a resposta
de uma questão em particular, no qual você especifica
detalhes da informação que deseja. Vamos ver algumas
consultas de seleção nos termos das questões sobre seus
animais.
Você pode selecionar apenas registros específicos da sua tabela. Por exemplo, se você deseja verificar a alteração que fez na data de nascimento do Bowser, selecione o registro desta forma:
mysql> SELECT * FROM pet WHERE name = "Bowser";
+--------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
A saída confirma que o ano foi gravado corretamente agora como 1989 e não 1979.
Comparações de strings normalmente são caso insensitivo,
então você pode especificar o nome como
"bowser"
, "BOWSER"
, etc.
O resultado da pesquisa será o mesmo.
Você pode especificar condições em qualquer coluna, não
apenas no name
. Por exemplo, se você
deseja saber quais foram os animais que nasceram depois de
1998, teste o campo 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 |
+----------+-------+---------+------+------------+-------+
Você pode combinar condições, por exemplo, para encontrar cadelas (dog/f):
mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
A consulta anterior utiliza o operador lógico
AND
(e). Existe também um operador
OR
(ou):
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
e OR
podem ser
misturados, embora AND
tem maior
precedência que OR
. Se você usar ambos os
operadores, é uma ótima idéia usar parênteses para indicar
explicitamente quais condições devem ser agrupadas:
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 | +-------+--------+---------+------+------------+-------+
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.