Neste post daremos continuidade a nossa criação de Banco de Dados com SQL utilizando o SGBD do WAMP e a ferramenta PHPmyAdmin. Na primeira parte, vimos a importância dos Bancos de Dados, sua criação e também a criação de suas tabelas através do SQL. Agora vamos dar continuidade e ver como é feita a inserção de dados nas tabelas e como visualizar as informações e alterar esses dados. Se você não viu a primeira parte deste post, poderá fazê-lo clicando aqui.
Importante: Vamos continuar utilizando o WAMP , levando em consideração que você já fez a leitura da parte 1 do post e já sabe como efetuar o login na ferramenta PHPmyAdmin.
Como mencionado, depois de efetuar o login vamos selecionar a tabela que criamos anteriormente para poder continuar do ponto onde havíamos parado no post anterior:
Figura 1 – Acessando o Banco de Dados
Em seguida, clique na guia SQL na parte superior da janela, assim como mostrado na imagem abaixo:
Figura 2 – Abrindo janela SQL
Note que agora a parte do SQL do WAMP está um pouco diferente, pois já temos uma Query adicionada e também alguns botões na parte inferior para facilitar nossas vidas. Porém o intuito do post é ensinar a utilização do SQL sem atalhos, então apague o texto que está aparecendo na caixa de texto do SQL para podermos começar.
Figura 3 – Excluindo Query
INSERT – Inserindo valores na tabela.
O INSERT é um comando SQL que também pertence ao CRUD, e é utilizado para alimentar as tabelas com informações necessárias. Dessa maneira, agora iremos colocar informações na nossa tabela com o nome aluno.
A nossa tabela está estruturada da seguinte maneira: cod_aluno, nm_aluno e ds_endereco, onde cod_aluno representa o campo que irá receber o código para cada aluno cadastrado, nm_aluno que irá receber o nome do aluno e ds_endereco que irá armazenar o endereço do aluno.
A sintaxe do comando INSERT é a seguinte: INSERT INTO nome da tabela(campos da tabela) VALUES (valores que serão inseridos ). Os textos destacados em negritos serão alterados para as informações da nossa tabela, ficando o resultado da seguinte maneira:
INSERT INTO aluno (Cod_aluno, nm_aluno, ds_endereco) VALUES (1, 'Blog Web Design', 'Rua Web 1234');
Figura 4 – Estrutura da Query INSERT
Quando criamos o comando INSERT devemos ficar atentos à ordem que colocamos as colunas, pois os valores que serão inseridos devem estar na mesma ordem. Os dados que são do tipo inteiro ou double não tem a necessidade de estar entre aspas simples ('') agora os dados do tipo texto como varchar, char entre outros tem a necessidade de estar entre aspas. Fiquem atentos!
Na ferramenta PHPmyAdmin, você pode repetir o código quantas vezes forem necessárias antes de executar a Query. Desse modo fica mais prático e rápido pois podemos inserir mais de um cadastro de uma única vez, copie e cole o código várias vezes e altere apenas as informações que estão dentro do parênteses do VALUES, ficando assim:
Figura 5 – Múltiplos INSERT
Agora clique em executar na parte inferior para que os dados possam ser colocados corretamente na nossa tabela aluno. Se você digitou tudo corretamente, a seguinte mensagem será exibida:
Figura 6 – Resultado da query INSERT
Com isso nossas informações foram inseridas na nossa Tabela e agora o nosso Banco de Dados está armazenando algumas informações. Mas e se houver a necessidade de consultar essas mesmas informações?
SELECT – Procurando dados em uma tabela
O comando SELECT é um dos mais utilizados em banco de dados pois é através dele que nós buscamos informações no nosso Banco de Dados e devemos tomar cuidado como fazemos nossas buscas, pois uma busca sem muitos parâmetros pode ocasionar o travamento do nosso banco de dados. Vamos conhecer o comando SELECT e entender melhor os cuidados que devemos ter ao realizar essas buscas.
A sintaxe do SELECT é a seguinte: SELECT * FROM nome da tabela. Com isso nossa tabela ficaria da seguinte maneira:
SELECT * FROM aluno
O asterisco (*) representa todos os campos da tabela, assim não há a necessidade de colocar o nome de todas as colunas, façam o teste e limpem a caixa de texto do SQL, copiando e colando o comando acima.
Figura 7 – Query Select
Agora cliquem em executar, se tudo ocorrer certo será exibida uma tela com os resultados da consulta:
Figura 8 – Resultado SELECT
O comando SELECT da maneira na qual fizemos gera um FTS (Full Table Scan) que é a busca de dados em uma tabela completa. No nosso caso a execução do SELECT não levou nem um segundo… mas agora imagine uma consulta SELECT dessa maneira em uma tabela com mais de 1.000.000 de registros. Isso levaria muito mais tempo e deixaria o banco de dados ocupado para outras consultas! E isso em um banco de dados como o do Facebook por exemplo onde há interação do usuário a todo instante.
E qual a solução para essas consultas? Para não realizar um FTS utilizamos a clausula WHERE que permite que passemos alguns parâmetros para o SELECT.
Clausula WHERE
A clausula WHERE deve ser sempre utilizada em um SELECT para evitar o FULL TABLE SCAN, vamos supor o seguinte, quero encontrar na minha tabela o aluno com o código 2 e quero que seja exibido apenas o nome deste aluno.
SELECT nm_aluno FROM aluno WHERE cod_aluno = 2
Copie esse código na caixa de SQL do WAMP assim como mostra na tela:
Figura 9 – SELECT com clausula WHERE
Agora clique em Executar na parte inferior da tela e note que há apenas o aluno com o código igual a 2.
Perceba que agora ao invés de mostrar todas as colunas da tabela, o que vemos é apenas a coluna nm_aluno pois substituímos o asterisco (*) pelo nome do campo da tabela. Você pode visualizar outros campos separando-os por virgulas, exemplo:
SELECT nm_aluno, ds_endereco FROM aluno WHERE cd_aluno = 2
Conclusão
A utilização dos bancos de dados vai além da simples criação de tabelas e inserção de dados, é preciso alguns cuidados nas suas utilizações e deve haver cuidados com Query que demoram muito tempo para serem executadas.
Agora é com vocês, criem seus bancos de dados, insiram valores neles e consultem seus dados através do SELECT e claro não esqueçam de compartilhar o BLOG com seus amigos e curtir esse post.
Fiquem atentos para a parte 3 onde falarei sobre o UPDATE e o DELETE e finalizar o nossa série sobre CRUD.
Obrigado e até a próxima postagem, pessoal!