Página 15
Note que o fio e valores de data são especificados como citados. Com INSERT, você também pode inserir NULL para representar um valor desconhecido. Você não usa \N, conforme faz com LOAD DATA.
Deste exemplo, você deveria ser capaz de ver que pode ser muito mais trabalhoso inserir seus registros inicialmente usando várias declarações de INSERT em vez de uma única declaração de LOAD DATA.
Recuperando informação de uma tabela
A declaração SELECT é utilizada para puxar informação de uma tabela. O formulário geral da declaração é:
SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy
what_to_select indica o que você deseja ver. Isto pode ser uma lista de colunas, ou * para indicar todas colunas.
which_table indica a tabela de que você deseja recuperar os dados. A cláusula WHERE é opcional.
Se for apresentado, conditions_to_satisfy especifica as condições que as filas devem satisfazer para recuperação qualificada.
Selecionando todos os dados
A forma simples de recuperar tudo de uma tabela é SELECT:
mysql> SELECT * FROM pet;
+----------+--------+---------+------+------------+------------+
| name | owner | species | Sex | birth | death |
+----------+--------+---------+------+------------+------------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1998-08-31 | 1995-07-29 |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
Este comando SELECT é útil se você desejar rever sua tabela inteira. Isto acontece quando a saída revela um erro em seu arquivo de dados: Bowser parece nascer depois que ele morreu! Consultando seus papéis do pedigree originais, você encontra que o ano de nascimento correto é 1989, não 1998.
Existe no mínimo um par de caminhos para fixar:
* Edite o arquivo "pet.txt" para corrigir o erro, então esvazie a tabela e recarregue usando DELETE LOAD DATA:
mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
Entretanto, se você fez isto, você também deve dar uma reentrada no registro do Puffball.
* Fixe unicamente o registro errôneo com uma declaração de UPDATE :
mysql> UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";
Como mostrado acima, isto é fácil para recuperar uma tabela inteira.
Selecionando filas particulares
Você pode selecionar unicamente filas particulares de sua tabela. Por exemplo, se você deseja verificar a mudança que você fez na data de nascimento do Bowser, selecione o registro do Bowser:
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 agora o ano está corretamente registrado como 1989 e não 1998. Comparações de fio são normalmente casos insensíveis, assim você pode especificar o nome como "bowser", "BOWSER", etc. A pergunta é a mesma.
Você pode especificar condições em qualquer coluna, não somente no nome. Por exemplo, se você deseja saber que animais nasceram depois 1998, teste a coluna de nascimento:
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 localizar os cães femininos:
mysql> SELECT * FROM pet WHERE species = "dog" AND sex = "f";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
|