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: Atualizando registros
Tutorial MySQL: Algumas funções úteis
Tutorial MySQL: Excluindo registros
Tutorial MySQL: Excluindo bancos de dados
Tutorial MySQL: Especificando um banco de dados para trabalhar
Tutorial MySQL: Entrando no MySQL
Tutorial MySQL: Criando um banco de dados
Tutorial MySQL: Criando tabelas
Tutorial MySQL: Limitando o número de linhas da pesquisa
Tutorial MySQL: Ordenando o resultado

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:




  

Terça, 02 de Setembro de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
jQuery - A Biblioteca do Programador JavaScript


Capa do livro
HTML 5 - A Linguagem de Marcação que Revolucionou a Web


Capa do livro
Use a Cabeça! Programação





Hostnet

IMD