+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\">Usando mais que uma tabela</span></font></p>
<p>A tabela de animal de estima&ccedil;&atilde;o guarda informa&ccedil;&otilde;es
dos animais de estima&ccedil;&atilde;o que voc&ecirc; tem. Se voc&ecirc;
deseja registrar outra informa&ccedil;&atilde;o sobre eles, tal como eventos
em suas vidas, visitas ao veterin&aacute;rio, voc&ecirc; necessita de
outra tabela. <br>
* Isto necessita conter o animal de estima&ccedil;&atilde;o assim voc&ecirc;
sabe que evento cada animal participou. <br>
* Isto necessita uma data assim voc&ecirc; sabe quando o evento ocorreu.
<br>
* Isto necessita um campo para descrever o evento. <br>
* Se voc&ecirc; deseja ser capaz de classificar por cada evento. </p>
<p>Dado essas considera&ccedil;&otilde;es, crie a tabela com a declara&ccedil;&atilde;o
CREATE TABLE: </p>
<p class=\"mysql\">mysql&gt; CREATE TABLE event (name VARCHAR(20), date DATE,<br>
-&gt; type VARCHAR(15), remark VARCHAR(255));</p>
<p>Como com a tabela do animal de estima&ccedil;&atilde;o, &eacute; mais
f&aacute;cil carregar os registros iniciais do que criar um arquivo de
texto com tabula&ccedil;&atilde;o delimitado, contendo a informa&ccedil;&atilde;o:
</p>
<p class=\"mysql\"><br>
<span class=\"mysql\">Fofo <br>
1995-05-15 <br>
litter <br>
4 kittens, 3 f&ecirc;mea, 1 masculino <br>
Buffy <br>
1993-06-23 <br>
litter <br>
5 puppies, 2 f&ecirc;mea, 3 masculino <br>
Buffy <br>
1994-06-19 <br>
litter <br>
3 puppies, 3 f&ecirc;mea <br>
Chirpy <br>
1999-03-21 <br>
vet <br>
necessitado beak endireitado <br>
Magro <br>
1997-08-03 <br>
vet <br>
quebrado rib <br>
Bowser <br>
1991-10-12 <br>
kennel<br>
</span>Presa <br>
1991-10-12 <br>
kennel<br>
Presa <br>
1998-08-28 <br>
anivers&aacute;rio <br>
Deu ele um novo brinquedo mascado <br>
Claws <br>
1998-03-17 <br>
anivers&aacute;rio <br>
Deu ele um novo colarinho de pulga <br>
Whistler <br>
1998-12-09 <br>
anivers&aacute;rio <br>
Primeiro anivers&aacute;rio </p>
<p>Carregue os registros: </p>
<p class=\"mysql\">mysql&gt; LOAD DATA LOCAL INFILE &quot;event.txt&quot;
INTO TABLE event;</p>
<p>Baseado no que voc&ecirc; j&aacute; aprendeu nas perguntas, continuando
na tabela de animal de estima&ccedil;&atilde;o, agora voc&ecirc; &eacute;
capaz de desempenhar recupera&ccedil;&otilde;es nos registros da tabela
de evento; os princ&iacute;pios s&atilde;o os mesmos. Mas quando a tabela
de evento &eacute; por si mesmo insuficiente para responder as perguntas
voc&ecirc; p&ocirc;de perguntar? <br>
Suponha que deseja descobrir as idades de cada animal de estima&ccedil;&atilde;o
quando eles tiveram suas crias. A tabela de evento indica quando isto
ocorreu, mas para calcular a idade da m&atilde;e, voc&ecirc; necessita
a data de nascimento que est&aacute; armazenado na tabela de animal de
estima&ccedil;&atilde;o, voc&ecirc; necessita de ambas tabelas: </p>
<p class=\"mysql\">mysql&gt; SELECT pet.name, (TO_DAYS(date) - TO_DAYS(birth))/365
AS age, remark<br>
-&gt; FROM pet, event<br>
-&gt; WHERE pet.name = event.name AND type = &quot;litter&quot;;<br>
+--------+------+-----------------------------+<br>
| name &nbsp;&nbsp;| age &nbsp;| remark &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+--------+------+-----------------------------+<br>
| Fluffy | 2.27 | 4 kittens, 3 female, 1 male |<br>
| Buffy &nbsp;| 4.12 | 5 puppies, 2 female, 3 male |<br>
| Buffy &nbsp;| 5.10 | 3 puppies, 3 female &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+--------+------+-----------------------------+</p>
<p>H&aacute; v&aacute;rias coisas para notar sobre esta pergunta: <br>
* A cl&aacute;usula FROM lista duas tabelas porque a pergunta necessita
puxar informa&ccedil;&atilde;o de ambas. <br>
* Quando combina informa&ccedil;&atilde;o de tabelas m&uacute;ltiplas,
voc&ecirc; necessita registrar em uma tabela que pode ser a uni&atilde;o
do outro registro. Isto &eacute; f&aacute;cil porque ambos tem uma coluna
de nome. A cl&aacute;usula WHERE pergunta para as duas tabelas os valores
do nome. <br>
* A coluna de nome ocorre em ambas tabelas, voc&ecirc; deve ser espec&iacute;fico
sobre que tabela voc&ecirc; est&aacute; se referindo &agrave; coluna.
</p>
<p>Voc&ecirc; tem duas tabelas diferentes para uni-las. &Agrave;s vezes
isto &eacute; &uacute;til para unir uma tabela para si mesmo, se voc&ecirc;
deseja comparar registros em uma tabela com outros registros naquela mesma
tabela. Por exemplo, para encontrar o sexo entre seus animais de estima&ccedil;&atilde;o,
voc&ecirc; pode unir a tabela de animal de estima&ccedil;&atilde;o com
si mesmo para juntar os masculinos e as f&ecirc;meas da mesma esp&eacute;cie:
</p>
<p class=\"mysql\">mysql&gt; SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species<br>
-&gt; FROM pet AS p1, pet AS p2<br>
-&gt; WHERE p1.species = p2.species AND p1.sex = &quot;f&quot; AND p2.sex
= &quot;m&quot;;<br>
+--------+------+--------+------+---------+<br>
| name &nbsp;&nbsp;| sex &nbsp;| name &nbsp;&nbsp;| sex &nbsp;| species
|<br>
+--------+------+--------+------+---------+<br>
| Fluffy | f &nbsp;&nbsp;&nbsp;| Claws &nbsp;| m &nbsp;&nbsp;&nbsp;| cat
&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Buffy &nbsp;| f &nbsp;&nbsp;&nbsp;| Fang &nbsp;&nbsp;| m &nbsp;&nbsp;&nbsp;|
dog &nbsp;&nbsp;&nbsp;&nbsp;|<br>
| Buffy &nbsp;| f &nbsp;&nbsp;&nbsp;| Bowser | m &nbsp;&nbsp;&nbsp;| dog
&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+--------+------+--------+------+---------+</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 (~14 anos atrás)

Onde eu encontro pra download o mysql??
09/07/2006 4:22pm (~17 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 (~18 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 (~18 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 (~18 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 (~19 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 (~19 anos atrás)

Tulio disse:
Belo Tutorial! Parabêns.
05/03/2004 9:06am (~20 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 (~21 anos atrás)

Novo Comentário:

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