Tutorial MySQL: Pesquisando no banco de dados


Autor/fonte: Samuel Dias Neto
E-mail/Url: http://br.geocities.com/sdiasneto/mysql/select.html
Tags: [ tutorial mysql ]



Digg del.icio.us

A pesquisa no banco de dados é feita com a instrução select. Sua sintaxe básica é:

select CAMPOS from TABELA where CONDIÇÃO order by CAMPO;

Exemplo:

mysql> select nr,dataentrada,tipodoc,doc from docs order by tipodoc;
+----+-------------+---------+-----------------------------------------------+
| nr | dataentrada | tipodoc | doc                                           |
+----+-------------+---------+-----------------------------------------------+
|  3 | 2005-10-21  | Msg FAX | TESTE - 71/E3 de 21 Out 05 da 14 Bda Inf Mtz  |
|  1 | 2005-10-20  | Of      | TESTE - 170/E1 de 15 Out 05 da 14 Bda Inf Mtz |
| 10 | 2005-10-31  | Of      | TESTE testando inserção de dados              |
| 11 | 2005-10-31  | Rádio   | TESTE testando inserção de dados 2            |
|  2 | 2005-10-21  | Rd      | TESTE - 35/Esc Log de 20 Out 05 da 5RM/5DE    |
+----+-------------+---------+-----------------------------------------------+
5 rows in set (0.06 sec)

mysql> select nr,dataentrada,tipodoc,doc from docs where tipodoc like ("Of") order by tipodoc;
+----+-------------+---------+-----------------------------------------------+
| nr | dataentrada | tipodoc | doc                                           |
+----+-------------+---------+-----------------------------------------------+
|  1 | 2005-10-20  | Of      | TESTE - 170/E1 de 15 Out 05 da 14 Bda Inf Mtz |
| 10 | 2005-10-31  | Of      | TESTE testando inserção de dados              |
+----+-------------+---------+-----------------------------------------------+
2 rows in set (0.00 sec)

mysql>

O comando acima significa: selecione os campos nr,dataentrada,tipodoc,doc da tabela docs onde o campo tipodoc é igual a Of e ordene o resultado pelo campo tipodoc.

select CAMPOS from TABELA é de fácil entendimento e significa "selecione os CAMPOS da TABELA".

Especificando condições para a pesquisa: where

A cláusula where especifica a condição da pesquisa. Abaixo segue uma tabela com os operadores mais usados com where:

  • = - Testa se dois valores são iguais. Exemplo de uso: nrcliente = 154
  • > - Testa se um valor é maior que outro. Exemplo de uso: quantidade > 100
  • < - Testa se um valor é menor que outro. Exemplo de uso: quantidade < 100
  • <= - Testa se um valor é menor ou igual a outro. Exemplo de uso: quantidade <= 100
  • != ou < > - Testa se dois valores são diferentes. Exemplo de uso: quantidade != 0
  • is not null - Testa se um campo não está vazio. Exemplo de uso: endereco is not null
  • is null - Testa se um campo está vazio(nulo, ou seja, nada foi inserido nele, nem um espaço em branco). Exemplo de uso: endereco is null
  • between - Testa se um valor está entre um valor mínimo(inclusive) e um valor máximo (inclusive). Exemplo de uso: quantidade between 0 and 100
  • in - Testa se um valor pertence a um conjunto. Exemplo de uso: cidade in ("Recife","Olinda","Caruaru")
  • not in - Testa se um valor não pertence a um conjunto. Exemplo de uso: cidade not in ("Recife","Olinda","Caruaru")
  • like - Testa se um valor corresponde a um padrão (% equivale ao conhecido *, é o curinga). Exemplo de uso: nome like ("Samuel%")
  • not like - Testa se um valor não corresponde a um padrão ( _ equivale ao curinga que corresponde a um caracter). Exemplo de uso: nome not like ("Samuel_")
  • regexp - Testa se um valor corresponde a uma expressão regular. Exemplo de uso: nome regexp


Especificando mais de uma condição para a pesquisa

Para especificar mais de uma condição para a pesquisa use as palavras and e or:

Se quiser selecionar registros que atendam a CONDIÇÃO1 e a CONDIÇÃO2, faça assim:

select CAMPOS
from TABELA
where CONDIÇÃO1 and CONDIÇÃO2;

Se quiser selecionar registros que atendam a CONDIÇÃO1 ou a CONDIÇÃO2, faça assim:

select CAMPOS
from TABELA
where CONDIÇÃO1 or CONDIÇÃO2;

Exibindo todos os registros de uma tabela

Caso queira exibir todos os registros, você pode usar o "*" (asterisco) assim:

mysql> select * from cliente;
+--------+---------+
| codigo | nome    |
+--------+---------+
|      1 | João    |
|      2 | Maria   |
|      3 | José    |
|      4 | Manuel  |
|      5 | Adão    |
|      6 | Rodrigo |
|      7 | Davi    |
|      8 | Karla   |
|      9 | Samuel  |
|     10 | Ana     |
+--------+---------+
10 rows in set (0.00 sec)

mysql>




Enviado por xKuRt em 08/07/2008 às 10:57


Itens relacionados

Tutorial MySQL: Excluindo tabelas
Tutorial MySQL: Criando usuários e concedendo privilégios
Tutorial MySQL: Executando um script
Tutorial MySQL: Excluindo registros
Tutorial MySQL: Algumas funções úteis
Tutorial MySQL: Especificando um banco de dados para trabalhar
Tutorial MySQL: Atualizando registros
Tutorial MySQL: Inserindo dados
Tutorial MySQL: Criando um banco de dados
Tutorial MySQL: Modificando a estrutura de tabelas

Listar todos itens relacionados

Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Quarta, 17 de Setembro de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Construindo Aplicativos Móveis com Java


Capa do livro
Android Para Desenvolvedores


Capa do livro
Analise De Pontos De Funçao





Hostnet

IMD