Introdução ao MySQL
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Usando chaves estrangeiras</span></font></p>
<p>Você não necessita de chaves estrangeiras para unir 2 tabelas.
<br>
O MySQL não faz a checagem de certificar que as chaves da tabela
são referências e isto não é feito automaticamente
apagando as filas da tabela com uma definição de chave estrangeira.
Se você usa as chaves normais, ele trabalhará perfeitamente.
</p>
<p></p>
<p class=\"mysql\">CREATE TABLE persons (<br>
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,<br>
name CHAR(60) NOT NULL,<br>
PRIMARY KEY (id)<br>
);</p>
<p class=\"mysql\">CREATE TABLE shirts (<br>
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,<br>
style ENUM(\'t-shirt\', \'polo\', \'dress\') NOT NULL, <br>
color ENUM(\'red\', \'blue\', \'orange\', \'white\', \'black\') NOT
NULL,<br>
owner SMALLINT UNSIGNED NOT NULL REFERENCES persons,<br>
PRIMARY KEY (id)<br>
);</p>
<p class=\"mysql\">INSERT INTO persons VALUES (NULL, \'Antonio Paz\');</p>
<p class=\"mysql\">INSERT INTO shirts VALUES<br>
(NULL, \'polo\', \'blue\', LAST_INSERT_ID()),<br>
(NULL, \'dress\', \'white\', LAST_INSERT_ID()), <br>
(NULL, \'t-shirt\', \'blue\', LAST_INSERT_ID());</p>
<p class=\"mysql\">INSERT INTO persons VALUES (NULL, \'Lilliana Angelovska\');</p>
<p class=\"mysql\">INSERT INTO shirts VALUES<br>
(NULL, \'dress\', \'orange\', LAST_INSERT_ID()),<br>
(NULL, \'polo\', \'red\', LAST_INSERT_ID()),<br>
(NULL, \'dress\', \'blue\', LAST_INSERT_ID()),<br>
(NULL, \'t-shirt\', \'white\', LAST_INSERT_ID());</p>
<p class=\"mysql\">SELECT * FROM persons;<br>
+----+---------------------+<br>
| id | name |
<br>
+----+---------------------+<br>
| 1 | Antonio Paz |<br>
| 2 | Lilliana Angelovska |<br>
+----+---------------------+</p>
<p class=\"mysql\">SELECT * FROM shirts;<br>
+----+---------+--------+-------+<br>
| id | style | color | owner |<br>
+----+---------+--------+-------+<br>
| 1 | polo | blue | 1 |<br>
| 2 | dress | white | 1 |<br>
| 3 | t-shirt | blue | 1 |<br>
| 4 | dress | orange | 2 |<br>
| 5 | polo | red | 2 |<br>
| 6 | dress | blue | 2 |<br>
| 7 | t-shirt | white | 2 |<br>
+----+---------+--------+-------+</p>
<p class=\"mysql\">SELECT s.* FROM persons p, shirts s<br>
WHERE p.name LIKE \'Lilliana%\' <br>
AND s.owner = p.id <br>
AND s.color <> \'white\';</p>
<p class=\"mysql\">+----+-------+--------+-------+<br>
| id | style | color | owner |<br>
+----+-------+--------+-------+<br>
| 4 | dress | orange | 2 |<br>
| 5 | polo | red | 2 |<br>
| 6 | dress | blue | 2 |<br>
+----+-------+--------+-------+</p>
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Pesquisando em duas chaves</span></font></p>
<p>MySQL ainda não faz, pesquisa com duas chaves diferentes combinadas
com OR (Pesquisando com uma chave OR em diferentes partes é bem
melhor): </p>
<p class=\"mysql\">SELECT field1_index, field2_index FROM test_table WHERE
field1_index = \'1\'<br>
OR field2_index = \'1\'</p>
<p>No momento, você pode resolver isto com muita eficiência,
usando uma tabela TEMPORÁRIA; Este tipo de otimização
é também muito boa se você está usando muitas
perguntas complicadas onde o servidor do SQL faz as otimizações
no pedido errado. </p>
<p class=\"mysql\">CREATE TEMPORARY TABLE tmp<br>
SELECT field1_index, field2_index FROM test_table WHERE field1_index =
\'1\';<br>
INSERT INTO tmp<br>
SELECT field1_index, field2_index FROM test_table WHERE field2_index =
\'1\';<br>
SELECT * from tmp;<br>
DROP TABLE tmp;</p>
<p>Acima está o caminho para resolver a pergunta com efeito de união
de duas perguntas. </p>
<font color=\"#003366\"><span class=\"negrito\">Usando chaves estrangeiras</span></font></p>
<p>Você não necessita de chaves estrangeiras para unir 2 tabelas.
<br>
O MySQL não faz a checagem de certificar que as chaves da tabela
são referências e isto não é feito automaticamente
apagando as filas da tabela com uma definição de chave estrangeira.
Se você usa as chaves normais, ele trabalhará perfeitamente.
</p>
<p></p>
<p class=\"mysql\">CREATE TABLE persons (<br>
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,<br>
name CHAR(60) NOT NULL,<br>
PRIMARY KEY (id)<br>
);</p>
<p class=\"mysql\">CREATE TABLE shirts (<br>
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,<br>
style ENUM(\'t-shirt\', \'polo\', \'dress\') NOT NULL, <br>
color ENUM(\'red\', \'blue\', \'orange\', \'white\', \'black\') NOT
NULL,<br>
owner SMALLINT UNSIGNED NOT NULL REFERENCES persons,<br>
PRIMARY KEY (id)<br>
);</p>
<p class=\"mysql\">INSERT INTO persons VALUES (NULL, \'Antonio Paz\');</p>
<p class=\"mysql\">INSERT INTO shirts VALUES<br>
(NULL, \'polo\', \'blue\', LAST_INSERT_ID()),<br>
(NULL, \'dress\', \'white\', LAST_INSERT_ID()), <br>
(NULL, \'t-shirt\', \'blue\', LAST_INSERT_ID());</p>
<p class=\"mysql\">INSERT INTO persons VALUES (NULL, \'Lilliana Angelovska\');</p>
<p class=\"mysql\">INSERT INTO shirts VALUES<br>
(NULL, \'dress\', \'orange\', LAST_INSERT_ID()),<br>
(NULL, \'polo\', \'red\', LAST_INSERT_ID()),<br>
(NULL, \'dress\', \'blue\', LAST_INSERT_ID()),<br>
(NULL, \'t-shirt\', \'white\', LAST_INSERT_ID());</p>
<p class=\"mysql\">SELECT * FROM persons;<br>
+----+---------------------+<br>
| id | name |
<br>
+----+---------------------+<br>
| 1 | Antonio Paz |<br>
| 2 | Lilliana Angelovska |<br>
+----+---------------------+</p>
<p class=\"mysql\">SELECT * FROM shirts;<br>
+----+---------+--------+-------+<br>
| id | style | color | owner |<br>
+----+---------+--------+-------+<br>
| 1 | polo | blue | 1 |<br>
| 2 | dress | white | 1 |<br>
| 3 | t-shirt | blue | 1 |<br>
| 4 | dress | orange | 2 |<br>
| 5 | polo | red | 2 |<br>
| 6 | dress | blue | 2 |<br>
| 7 | t-shirt | white | 2 |<br>
+----+---------+--------+-------+</p>
<p class=\"mysql\">SELECT s.* FROM persons p, shirts s<br>
WHERE p.name LIKE \'Lilliana%\' <br>
AND s.owner = p.id <br>
AND s.color <> \'white\';</p>
<p class=\"mysql\">+----+-------+--------+-------+<br>
| id | style | color | owner |<br>
+----+-------+--------+-------+<br>
| 4 | dress | orange | 2 |<br>
| 5 | polo | red | 2 |<br>
| 6 | dress | blue | 2 |<br>
+----+-------+--------+-------+</p>
<p><br>
<font color=\"#003366\"><span class=\"negrito\">Pesquisando em duas chaves</span></font></p>
<p>MySQL ainda não faz, pesquisa com duas chaves diferentes combinadas
com OR (Pesquisando com uma chave OR em diferentes partes é bem
melhor): </p>
<p class=\"mysql\">SELECT field1_index, field2_index FROM test_table WHERE
field1_index = \'1\'<br>
OR field2_index = \'1\'</p>
<p>No momento, você pode resolver isto com muita eficiência,
usando uma tabela TEMPORÁRIA; Este tipo de otimização
é também muito boa se você está usando muitas
perguntas complicadas onde o servidor do SQL faz as otimizações
no pedido errado. </p>
<p class=\"mysql\">CREATE TEMPORARY TABLE tmp<br>
SELECT field1_index, field2_index FROM test_table WHERE field1_index =
\'1\';<br>
INSERT INTO tmp<br>
SELECT field1_index, field2_index FROM test_table WHERE field2_index =
\'1\';<br>
SELECT * from tmp;<br>
DROP TABLE tmp;</p>
<p>Acima está o caminho para resolver a pergunta com efeito de união
de duas perguntas. </p>
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)
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...
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)
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.
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
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
Um abraço, agradço a atenção
Kerensky
15/08/2004 8:31am
(~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
Estou com dificuldades...
poderia me ajudar...
Obrigado
15/09/2002 2:19pm
(~22 anos atrás)
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