+2

Introdução ao MySQL

criado por João Prado Maia em 09/12/2000 4:37pm
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Recuperando informa&ccedil;&atilde;o
de uma tabela</span></font></p>
<p>A declara&ccedil;&atilde;o SELECT &eacute; utilizada para puxar informa&ccedil;&atilde;o
de uma tabela. O formul&aacute;rio geral da declara&ccedil;&atilde;o &eacute;:
</p>
<p class=\"mysql\">SELECT what_to_select<br>
FROM which_table<br>
WHERE conditions_to_satisfy</p>
<p>what_to_select indica o que voc&ecirc; deseja ver. Isto pode ser uma
lista de colunas, ou * para para indicar todas colunas. which_table indica
a tabela de que voc&ecirc; deseja recuperar os dados. A cl&aacute;usula
WHERE &eacute; <br>
opcional. Se for apresentado, conditions_to_satisfy especifica as condi&ccedil;&otilde;es
que as filas devem satisfazer para recupera&ccedil;&atilde;o qualificada.
</p>
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Selecionando todos os dados</span></font></p>
<p>A forma simples de recuperar tudo de uma tabela &eacute; SELECT: </p>
<p></p>
<p></p>
<p><br>
<span class=\"mysql\">mysql&gt; SELECT * FROM pet; <br>
+----------+--------+---------+------+------------+------------+<br>
| name &nbsp;&nbsp;&nbsp;&nbsp;| owner &nbsp;| species | Sex &nbsp;| birth
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| death &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+----------+--------+---------+------+------------+------------+<br>
| Fluffy &nbsp;&nbsp;| Harold | cat &nbsp;&nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1993-02-04 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Claws &nbsp;&nbsp;&nbsp;| Gwen &nbsp;&nbsp;| cat &nbsp;&nbsp;&nbsp;&nbsp;|
m &nbsp;&nbsp;&nbsp;| 1994-03-17 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Buffy &nbsp;&nbsp;&nbsp;| Harold | dog &nbsp;&nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1989-05-13 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Fang &nbsp;&nbsp;&nbsp;&nbsp;| Benny &nbsp;| dog &nbsp;&nbsp;&nbsp;&nbsp;|
m &nbsp;&nbsp;&nbsp;| 1990-08-27 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Bowser &nbsp;&nbsp;| Diane &nbsp;| dog &nbsp;&nbsp;&nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
1998-08-31 | 1995-07-29 |<br>
| Chirpy &nbsp;&nbsp;| Gwen &nbsp;&nbsp;| bird &nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1998-09-11 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Whistler | Gwen &nbsp;&nbsp;| bird &nbsp;&nbsp;&nbsp;| NULL | 1997-12-09
| NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Slim &nbsp;&nbsp;&nbsp;&nbsp;| Benny &nbsp;| snake &nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
1996-04-29 | NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Puffball | Diane &nbsp;| hamster | f &nbsp;&nbsp;&nbsp;| 1999-03-30
| NULL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+----------+--------+---------+------+------------+------------+</span></p>
<p>Este comando SELECT &eacute; &uacute;til se voc&ecirc; desejar rever
sua tabela inteira. Isto acontece quando a sa&iacute;da revela um erro
em seu arquivo de dados: Bowser parece nascer depois que ele morreu! Consultando
seus pap&eacute;is do pedigree originais, voc&ecirc; encontra que o ano
de nascimento correto &eacute; 1989, n&atilde;o 1998. <br>
Existe no m&iacute;nimo um par de caminhos para fixar: <br>
* Edite o arquivo &quot;pet.txt&quot; para corrigir o erro, ent&atilde;o
esvazie a tabela e recarregue usando DELETE LOAD DATA:<br>
<br>
<span class=\"mysql\">mysql&gt; DELETE FROM pet;<br>
mysql&gt; LOAD DATA LOCAL INFILE &quot;pet.txt&quot; INTO TABLE pet;</span></p>
<p>Entretanto, se voc&ecirc; fez isto, voc&ecirc; tamb&eacute;m deve dar
uma reentrada no registro do Puffball. </p>
<p>* Fixe unicamente o registro err&ocirc;neo com uma declara&ccedil;&atilde;o
de UPDATE : </p>
<p><span class=\"mysql\">mysql&gt; UPDATE pet SET birth = &quot;1989-08-31&quot;
WHERE name = &quot;Bowser&quot;;<br>
</span><br>
Como mostrado acima, isto &eacute; f&aacute;cil para recuperar uma tabela
inteira. </p>
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Selecionando filas particulares</span></font></p>
<p>Voc&ecirc; pode selecionar unicamente filas particulares de sua tabela.
Por exemplo, se voc&ecirc; deseja verificar a mudan&ccedil;a que voc&ecirc;
fez na data de nascimento do Bowser, selecione o registro do Bowser: </p>
<p class=\"mysql\">mysql&gt; SELECT * FROM pet WHERE name = &quot;Bowser&quot;;
<br>
+--------+-------+---------+------+------------+------------+<br>
| name &nbsp;&nbsp;| owner | species | sex &nbsp;| birth &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
death &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+--------+-------+---------+------+------------+------------+<br>
| Bowser | Diane | dog &nbsp;&nbsp;&nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
1989-08-31 | 1995-07-29 |<br>
+--------+-------+---------+------+------------+------------+</p>
<p>A sa&iacute;da confirma que agora o ano est&aacute; corretamente registrado
como 1989 e n&atilde;o 1998. Compara&ccedil;&otilde;es de fio s&atilde;o
normalmente casos insens&iacute;veis, assim voc&ecirc; pode especificar
o nome como &quot;bowser&quot;, &quot;BOWSER&quot;, etc. A pergunta &eacute;
a mesma. <br>
Voc&ecirc; pode especificar condi&ccedil;&otilde;es em qualquer coluna,
n&atilde;o somente no nome. Por exemplo, se voc&ecirc; deseja saber que
animais nasceram depois 1998, teste a coluna de nascimento: </p>
<p class=\"mysql\">mysql&gt; SELECT * FROM pet WHERE birth &gt;= &quot;1998-1-1&quot;;
<br>
+----------+-------+---------+------+------------+-------+<br>
| name &nbsp;&nbsp;&nbsp;&nbsp;| owner | species | sex &nbsp;| birth &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
death | <br>
+----------+-------+---------+------+------------+-------+<br>
| Chirpy &nbsp;&nbsp;| Gwen &nbsp;| bird &nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1998-09-11 | NULL &nbsp;|<br>
| Puffball | Diane | hamster | f &nbsp;&nbsp;&nbsp;| 1999-03-30 | NULL
&nbsp;|<br>
+----------+-------+---------+------+------------+-------+</p>
<p>Voc&ecirc; pode combinar condi&ccedil;&otilde;es, por exemplo, para localizar
os c&atilde;es femininos: </p>
<p class=\"mysql\">mysql&gt; SELECT * FROM pet WHERE species = &quot;dog&quot;
AND sex = &quot;f&quot;;<br>
+-------+--------+---------+------+------------+-------+<br>
| name &nbsp;| owner &nbsp;| species | sex &nbsp;| birth &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
death |<br>
+-------+--------+---------+------+------------+-------+<br>
| Buffy | Harold | dog &nbsp;&nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1989-05-13 | NULL &nbsp;|<br>
+-------+--------+---------+------+------------+-------+</p>
<p>A pergunta precedente usa operador l&oacute;gico AND. Existe tamb&eacute;m
o operador OR: </p>
<p class=\"mysql\">mysql&gt; SELECT * FROM pet WHERE species = &quot;snake&quot;
OR species = &quot;bird&quot;;<br>
+----------+-------+---------+------+------------+-------+<br>
| name &nbsp;&nbsp;&nbsp;&nbsp;| owner | species | sex &nbsp;| birth &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
death |<br>
+----------+-------+---------+------+------------+-------+<br>
| Chirpy &nbsp;&nbsp;| Gwen &nbsp;| bird &nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1998-09-11 | NULL &nbsp;|<br>
| Whistler | Gwen &nbsp;| bird &nbsp;&nbsp;&nbsp;| NULL | 1997-12-09 |
NULL &nbsp;|<br>
| Slim &nbsp;&nbsp;&nbsp;&nbsp;| Benny | snake &nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
1996-04-29 | NULL &nbsp;|<br>
+----------+-------+---------+------+------------+-------+</p>
<p class=\"mysql\">mysql&gt; SELECT * FROM pet WHERE (species = &quot;cat&quot;
AND sex = &quot;m&quot;)<br>
-&gt; OR (species = &quot;dog&quot; AND sex = &quot;f&quot;); <br>
+-------+--------+---------+------+------------+-------+<br>
| name &nbsp;| owner &nbsp;| species | sex &nbsp;| birth &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
death |<br>
+-------+--------+---------+------+------------+-------+<br>
| Claws | Gwen &nbsp;&nbsp;| cat &nbsp;&nbsp;&nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
1994-03-17 | NULL &nbsp;|<br>
| Buffy | Harold | dog &nbsp;&nbsp;&nbsp;&nbsp;| f &nbsp;&nbsp;&nbsp;|
1989-05-13 | NULL &nbsp;|<br>
+-------+--------+---------+------+------------+-------+</p>
<p>AND e OR podem ser misturados. Isto &eacute; uma boa id&eacute;ia para
usar par&ecirc;nteses para indicar sque condi&ccedil;&otilde;es deveriam
ser agrupados: </p>

Comentários:

Mostrando 1 - 10 de 10 comentários
Prezado Amigo,

veja, estive lendo seu artigo aqui colocado, mas me surgiu uma dúvida.
Quando vc falar em ordem crescente DESC, mas como fazer com a ordem decrescente?
O que eu gostaria de saber se na busca SELECT eu posso fazer com que os ids mais velhos fiquem embaixo e os mais novos em cima, tipo assim:
id: 05
id: 04
id: 03
id: 02
id: 01

Como eu aplicaria este processo de busca?

Tem como me dar este help?

Abraços.
betezek@betezek.com.br
fernando
15/01/2010 11:47am (~15 anos atrás)

Onde eu encontro pra download o mysql??
09/07/2006 4:22pm (~18 anos atrás)

Instalei o MySQL na minha máquina, dizem que o usuário é 'root' e a senha é '' (em branco), mas não estou conseguindo acessar o MySQL, depois instalei o Vertrigo Serv, e nele também encontro dificuldades para usar o PHP my Admin. como resolvo este problema?
02/06/2006 7:56am (~18 anos atrás)

Instalei tudo, apache, PhP e o mysql, a luz do mysql (versao 3.23.51) está verde, digamos que tudo certo, mas como posso testar pra ver se funciona?
26/01/2006 10:13am (~19 anos atrás)

francirrenio disse:
Caro amigo, me de uma juda.
Tenho uma tabela de cadastro de alunos e tem alguns alunos duplicados.
Gostaria de saber como ver os cadastros duplicados de matricula.

Valeu...
03/12/2005 5:41am (~19 anos atrás)

GILSON SOARES disse:
AMIGOS EU NAO ESTOU CONSEGUINDO AUTENTICAR NO MYSQL ESTOU USANDO APACHE 1.3.29 EO PHP 5.0.4
GOSTARIA QUE VOCE ME AJUDEM A SABER QUANDO ESTOU CONECTADO AO MYSQL.
31/08/2005 9:25am (~19 anos atrás)

Criei um BD no MySql e inseri alguns registros onde alguns caracteres são especiais, principalmente acentos, só que estou utilizando o dreamweaver para visualizar os dados, e esse acentos nao aparecem no lugar vem outros caracteres (sujeira)o que tenho q fazer
Grato
27/10/2004 2:05pm (~20 anos atrás)

Olá João, gostaria de uma ajuda sua, se possível, estou desenvolvendo uma pagina em php, para consulta de procedimentos médicos em um bd mysql, o processo seria o seguinte, tenho uma tabela com 3 campos: contrato, mes, procedimento, queria adicionar um campo senha na tabela, que pegasse os dados do campo contrato, assim o usuario entraria com o login contrato e senha tmb os dados do contrato, só que tenho que fazer todos os meses, e mais uma dúvida, para que a nova inserção dos meses posteriores fosse feita uma inserção na tabela.

Um abraço, agradço a atenção

Kerensky
15/08/2004 8:31am (~20 anos atrás)

Tulio disse:
Belo Tutorial! Parabêns.
05/03/2004 9:06am (~21 anos atrás)

Olá estou iniciando na area de programação, gostaria de saber se este artigo é valido para MySql fo Windows??
Estou com dificuldades...
poderia me ajudar...
Obrigado
15/09/2002 2:19pm (~22 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)