+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\">Criando uma tabela</span></font></p>
<p>Criar um banco de dados &eacute; a parte mais f&aacute;cil, mas neste
ponto ele est&aacute; vazio, com SHOW TABLES mostrar&aacute;: </p>
<p class=\"mysql\">mysql&gt; SHOW TABLES;<br>
Empty set (0.00 sec)</p>
<p>A parte mais dura &eacute; decidir que estrutura o seu banco de dados
dever&aacute; ter: que tabelas voc&ecirc; necessitar&aacute;, e que colunas
deve ter em cada uma delas. <br>
Voc&ecirc; desejar&aacute; uma tabela que cont&eacute;m um registro para
cada um de seus animais de estima&ccedil;&atilde;o. Isto pode ser chamado
de tabela de animal de estima&ccedil;&atilde;o, e isto deveria conter,
no m&iacute;nimo, o nome de cada animal. O nome por si mesmo n&atilde;o
est&aacute; muito interessante, a tabela deveria conter outra informa&ccedil;&atilde;o.
Por exemplo, se mais de uma pessoa em sua fam&iacute;lia tem animais de
estima&ccedil;&atilde;o, voc&ecirc; p&ocirc;de desejar listar o dono de
cada animal. Pode registrar alguma informa&ccedil;&atilde;o b&aacute;sica,
tal como, esp&eacute;cie e sexo. <br>
Como sobre idade? &Eacute; interessante, mas isto, n&atilde;o &eacute;
uma boa coisa para armazenar em um banco de dados. Ao inv&eacute;s da
idade, ser&aacute; melhor armazenar um valor fixo, como a data de nascimento.
Ent&atilde;o, sempre que voc&ecirc; necessitar da idade, voc&ecirc; pode
calcular isto como a diferen&ccedil;a entre a data corrente e a data de
nascimento. MySQL fornece fun&ccedil;&otilde;es aritm&eacute;tica de data.
<br>
Armazenando a data de nascimento em vez da idade teremos outras vantagens:
<br>
* Voc&ecirc; pode usar o banco de dados para tarefas, tal como gerar lembretes
para os pr&oacute;ximos anivers&aacute;rios do animal de estima&ccedil;&atilde;o.
(Se voc&ecirc; pensa que este tipo de pergunta &eacute; tola, note que
&eacute; a mesma pergunta que p&ocirc;de ser feia, no contexto de um banco
de dados de neg&oacute;cios, identifica clientes que fazem anivers&aacute;rio.)
<br>
* Voc&ecirc; pode calcular a idade em rela&ccedil;&atilde;o a datas que
n&atilde;o s&atilde;o corrente. Por exemplo, se voc&ecirc; armazena data
da morte, voc&ecirc; pode facilmente calcular a idade que animal de stima&ccedil;&atilde;o
estava, quando morreu. <br>
Voc&ecirc; pode provavelmente pensar de outros tipos de informa&ccedil;&atilde;o
que poderia ser &uacute;til na tabela do animal de estima&ccedil;&atilde;o,
mas s&atilde;o suficientes agora: nome, dono, esp&eacute;cie, sexo, nascimento
e morte. <br>
Use a declara&ccedil;&atilde;o CREATE TABLE para especificar o layout
de sua tabela: </p>
<p class=\"mysql\">mysql&gt; CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),<br>
-&gt; species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);</p>
<p>VARCHAR &eacute; uma boa escolha ao nome, dono e de esp&eacute;cie porque
os valores da coluna variam em comprimento. Os comprimentos daquelas colunas
n&atilde;o s&atilde;o do mesmo tamanho. Voc&ecirc; pode escolher qualquer
comprimento de 1 at&eacute; 255, qualquer que pare&ccedil;a razo&aacute;vel.
(Se fez uma escolha pobre e mais tarde voc&ecirc; necessita um campo mais
longo, MySQL fornece uma declara&ccedil;&atilde;o de ALTER TABLE .) <br>
O sexo do animal pode ser representado com uma variedade de caminhos,
por exemplo, &quot;m&quot; e &quot;f&quot;, ou talvez &quot;masculino&quot;
e &quot;feminino&quot;. &Eacute; simples &eacute; s&oacute; usar os caracteres
&uacute;nicos &quot;m&quot; e &quot;f&quot;. <br>
O uso de dados tipo data para ao nascimento e morte &eacute; honestamente
umaescolha &oacute;bvia. <br>
Agora que voc&ecirc; criou uma tabela, SHOW TABLE deveria produzir alguma
sa&iacute;da: </p>
<p class=\"mysql\">mysql&gt; SHOW TABLES;<br>
+---------------------+<br>
| Tables in menagerie |<br>
+---------------------+<br>
| pet &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+---------------------+</p>
<p>Para verificar que sua tabela foi criada no caminho que voc&ecirc; criou,
use a declara&ccedil;&atilde;o DESCRIBE: </p>
<p class=\"mysql\">mysql&gt; DESCRIBE pet;<br>
+---------+-------------+------+-----+---------+-------+<br>
| Field &nbsp;&nbsp;| Type &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
Null | Key | Default | Extra |<br>
+---------+-------------+------+-----+---------+-------+<br>
| name &nbsp;&nbsp;&nbsp;| varchar(20) | YES &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;
| NULL &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br>
| owner &nbsp;&nbsp;| varchar(20) | YES &nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;|
NULL &nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| species | varchar(20) | YES &nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;| NULL &nbsp;&nbsp;&nbsp;|
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| sex &nbsp;&nbsp;&nbsp;&nbsp;| char(1) &nbsp;&nbsp;&nbsp;&nbsp;| YES
&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;| NULL &nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| birth &nbsp;&nbsp;| date &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
YES &nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;| NULL &nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
| death &nbsp;&nbsp;| date &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
YES &nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;| NULL &nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
+---------+-------------+------+-----+---------+-------+</p>
<p>Voc&ecirc; pode usar DESCRIBE a qualquer hora, por exemplo, se voc&ecirc;
esquecer os nomes das colunas em sua tabela. </p>
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Carregando dados dentro uma
tabela</span></font></p>
<p>Depois de ter criado sua tabela, voc&ecirc; necessita inserir os dados.
As declara&ccedil;&otilde;es: LOAD DATA e INSERT s&atilde;o &uacute;teis.
<br>
Suponha que os registros do animal de estima&ccedil;&atilde;o podem ser
descritos como mostrados a baixo. (Observe que MySQL espera datas em formato:
YYYY-MM-DD; pode ser diferente do que &eacute; utilizado.) </p>
<p class=\"mysql\">Nome<br>
Dono<br>
Esp&eacute;cie<br>
Sexo<br>
Nascimento<br>
Morte<br>
Fofo <br>
Harold <br>
gato<br>
f<br>
1993-02-04</p>
<p class=\"mysql\">Claws <br>
Gwen <br>
gato<br>
m<br>
1994-03-17</p>
<p class=\"mysql\">Buffy <br>
Harold <br>
c&atilde;o<br>
f<br>
1989-05-13</p>
<p class=\"mysql\">Presa <br>
Benny <br>
c&atilde;o<br>
m<br>
1990-08-27</p>
<p class=\"mysql\">Bowser <br>
Diane <br>
c&atilde;o<br>
m<br>
1998-08-31<br>
1995-07-29<br>
Chirpy <br>
Gwen <br>
p&aacute;ssaro<br>
f<br>
1998-09-11</p>
<p class=\"mysql\">Whistler <br>
Gwen <br>
p&aacute;ssaro</p>
<p class=\"mysql\">1997-12-09</p>
<p class=\"mysql\">Magro <br>
Benny <br>
cobra<br>
m<br>
1996-04-29</p>
<p><br>
Se voc&ecirc; est&aacute; come&ccedil;ando com uma tabela vazia, um caminho
f&aacute;cil para preencher &eacute; criar um arquivo de texto contendo
uma fila para cada um de seus animais, ent&atilde;o carregue os conte&uacute;do
do arquivo dentro da tabela com uma declara&ccedil;&atilde;o &uacute;nica.
<br>
Voc&ecirc; pode criar um arquivo de texto &quot;pet.txt&quot; contendo
um registro por linha, com valores separados por tabula&ccedil;&otilde;es,
conforme as colunas foram listadas na declara&ccedil;&atilde;o de CREATE
TABLE. Para valores desconhecidos (tal como sexos desconhecidos, ou datas
de morte para animais que est&atilde;o ainda vivos), voc&ecirc; pode usar
valores NULL. Para represent&aacute;-los em seu arquivo de texto, use
\\N. Por exemplo, o registro do p&aacute;ssaro: </p>
<p class=\"mysql\">Whistler<br>
Gwen<br>
P&aacute;ssaro<br>
\\N<br>
1997-12-09<br>
\\N</p>
<p>Para carregar o arquivo de texto &quot;pet.txt&quot; dentro da tabela
de animal des estima&ccedil;&atilde;o, use este comando: </p>
<p class=\"mysql\">mysql&gt; LOAD DATA LOCAL INFILE &quot;pet.txt&quot; INTO
TABLE pet;</p>
<p>Voc&ecirc; pode especificar o separador de valor da coluna e a termina&ccedil;&atilde;o
da linha explicitamente na declara&ccedil;&atilde;o de LOAD DATA, se voc&ecirc;
desejar, mas os defaults s&atilde;o tabula&ccedil;&otilde;es e mudan&ccedil;a
de linha. Essas declara&ccedil;&otilde;es s&atilde;o suficientes para
ler o arquivo &quot;pet.txt&quot; propriamente.<br>
Cada vez que voc&ecirc; desejar inseir um novo registro, a declara&ccedil;&atilde;o
INSERT &eacute; &uacute;til. Em seu formul&aacute;rio, voc&ecirc; fornece
valores para cada coluna, na forma em que as colunas foram listadas na
declara&ccedil;&atilde;o de CREATE TABLE. Suponha Diane obtem um novo
hamster especificado Puffball. Voc&ecirc; podia inserir um novo registro
usando uma declara&ccedil;&atilde;o INSERT: </p>
<p><span class=\"mysql\">mysql&gt; INSERT INTO pet <br>
-&gt; VALUES (\'Puffball\',\'Diane\',\'hamster\',\'f\',\'1999-03-30\',NULL);<br>
</span><br>
Note que o fio e valores de data s&atilde;o especificados como citados.
Com INSERT, voc&ecirc; tamb&eacute;m pode inserir NULL para representar
um valor desconhecido. Voc&ecirc; n&atilde;o usa \\N, confome faz com LOAD
DATA. <br>
Deste exemplo, voc&ecirc; deveria ser capaz de ver que pode ser muito
mais trabalhoso inserir seus registros inicialmente usando v&aacute;rias
declara&ccedil;&otilde;es de INSERT em vez de uma &uacute;nica declara&ccedil;&atilde;o
de LOAD DATA. </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 (~11 anos atrás)

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

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

Novo Comentário:

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