Novidades
Você está aqui: Capa » Aplicativos » SQL – Comandos básicos (Guia Prático com CRUD)

SQL – Comandos básicos (Guia Prático com CRUD)

Comandos Básicos de SQL

Comandos Básicos de SQL (Guia Prático com CRUD)

SQL – Comandos básicos Guia Prático com CRUD.

O objetivo deste tutorial não é ensinar teoria sobre banco de dados, sobre SQL e nem mesmo lhes ensinar a instalar um SGBD (Sistema Gerenciador de Banco de Dados), e sim ensinar um pouco da sintaxe dos comandos básicos de SQL (Structured Query Language – Linguagem Estruturada de Consulta) com a criação de comandos básicos para interação com uma base de dados. Na verdade a proposta é começar criando uma base de dados com suas tabelas e em seguida inserir dados nessas tabelas, para posteriormente alterar dados e por fim excluir dados.

Esse procedimento realizado utilizando o SQL é conhecido como CRUD – Create, Read, Update e Delete que nada mais é do que a composição das operações básicas que uma aplicação realiza em um banco de dados, criação, leitura, atualização e exclusão de dados. Veja a abreviação CRUD mapeada, abaixo:

Create -> INSERT;

Read -> SELECT;

Update -> UPDATE;

Delete -> DELETE.

Bom sem mais delongas, pois o objetivo aqui é ser prático vamos ao que interessa, não esquecendo apenas que é necessário ter prévios conhecimentos em banco de dados, no que diz respeito à teoria e também a operacionalização de um SGBD.

Para o tutorial utilizei o MySQL Server que pode ser baixado clicando aqui, juntamente com o já descontinuado, mas ainda eficiente MySQL Query Browser1.1.20 (que pode ser baixado clicando aqui). Claro você pode utilizar outras ferramentas para execução dos comandos.

Em um momento oportuno publicarei um tutorial para lhes ensinar a instalar os dois softwares. Mas para esse tutorial conhecer um SGBD é pré-requisito, vamos ao que interessa. Direto a execução dos comandos.

COMANDO CREATE – Criar base de dados:

Primeiro passo é criar a base de dados e para isso será necessário utilizar o comando CREATE, que deverá ser escrito da seguinte forma:

CREATE DATABASE BD_TESTE;

Onde:

Create -> comando criar;

Database -> indica que será criada uma base dados, isso porque mais adiante veremos que o comando CREATE também será utilizado para criar tabelas, por exemplo;

BD_TESTE -> esse é nome escolhido para nossa base de dados (Existem alguns detalhes que trata na verdade do que chamamos de padrão de mercado, como por exemplo, utilizar TB no começo do nome escolhido para cada tabela, utilizar BD antes do nome da base de dados, enfim estou dizendo isso para que você saiba que tem mais detalhes relevantes no desenvolvimento de base dados e que não vamos tratar mais profundamente aqui neste tutorial).

COMANDO USE – Usar:

Depois de criar a base de dados é necessário utilizar o comando USE para informar ao SGBD que os comandos inseridos daqui pra frente serão executados nesta base de dados, isto porque pode haver outras bases de dados no mesmo servidor.

USE BD_TESTE;

Base de dados selecionada é hora de criar as tabelas.

COMANDO CREATE – Criar tabelas:

Primeiro utilizamos o comando criar para a base de dados, agora iremos utiliza-lo para criar as tabelas dentro da nossa base, veja o comando a seguir:

CREATE TABLE `BD_TESTE`.`TB_CLIENTE` (

`ID_CLIENTE` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

`NM_CLIENTE` VARCHAR(45) NOT NULL DEFAULT ”,

`DTNASC` VARCHAR(10) NOT NULL DEFAULT ”,

`RG_CLIENTE` VARCHAR(15) NOT NULL DEFAULT ”,

`CPF_CLIENTE` VARCHAR(15) NOT NULL DEFAULT ”,

`EMAIL_CLIENTE` VARCHAR(60) NOT NULL DEFAULT ”,

`TEL_CLIENTE` VARCHAR(15) NOT NULL DEFAULT ”,

`CEL_CLIENTE` VARCHAR(15) NOT NULL DEFAULT ”,

PRIMARY KEY(`ID_CLIENTE`)

);

 Onde:

CREATE TABLE -> Indica que será criada uma tabela;

TB_CLIENTE -> nome escolhido para tabela a ser criada;

Parênteses ( -> perceba que depois do nome a ser dado a tabela é necessário abrir parênteses para inserção de todos os campos pertencentes a mesma, sendo necessário ao final do último campo fechar o parênteses.

`ID_CLIENTE` -> nome do primeiro campo da tabela, INTEGER trata-se do tipo de dado a ser recebido neste campo, UNSIGNED estabelece que o número seja positivo, NOT NULL indica que o campo não pode ficar vazio, AUTO_INCREMENT indica que esse campo não necessita ser preenchido por intermédio do usuário uma vez que será incrementado um número inteiro a cada registro inserido na tabela de maneira sequencial e crescente iniciando em 1. Como para esse campo não existe mais parâmetros se faz necessário finalizar com uma vírgula.

OBS: Esse campo ID_CLIENTE é criado com o propósito de servir como um identificador único para cada registro da tabela, por isso ele é auto incrementado do tipo inteiro facilitando assim um controle dos registros. Também será visto adiante que o mesmo será utilizando como chave primária da tabela.

`NM_CLIENTE` -> nome do segundo campo da tabela, como é sugestivo esse campo deverá receber o nome do cliente a ser cadastrado e seu tipo é VARCHAR(45) o que significa que o campo pode receber uma sequência de caracteres limitado ao máximo de 45. Detalhe a diferença de VARCHAR com o CHAR é que neste caso os espaços em branco, não utilizados são desprezados, o que não acontece com o CHAR, podendo assim provocar um aumento no tamanho da base de dados. NOT NULL que significa não aceitar valor nulo nesse campo e por último DEFAULT ” que significa o valor padrão no campo quando iniciar a inserção de dados, as aspas simples sem informação é que determina que o campo inicialmente não contenha nenhum dado, sendo necessário seu preenchimento quando da inserção de um novo registro uma vez que o campo é NOT NULL (Não esqueça isto).

Para os demais campos as informações são similares à sintaxe do campo anterior, podendo seguir o mesmo raciocínio para sua compreensão. Merece destaque apenas a última linha:

PRIMARY KEY(`ID_CLIENTE`) -> que indica o campo ID_CLIENTE como chave primária da tabela. Também perceba que por ser a última linha não é finalizada com vírgula.

COMANDO SELECT – Selecionar:

Depois de criada nossa primeira tabela na base de dados, podemos utilizar o comando SELECT para visualiza-la, e obviamente visualizaremos apenas seus campos, pois até o momento não inserimos nenhum registro, então vamos ver o comando SELECT primeiramente de maneira bem simplificada:

SELECT * FROM TB_CLIENTE;

Onde:

SELECT -> comando que viabiliza a consulta de registros armazenados na tabela. Neste caso serão retornados somente os campos, pois conforme dito ainda não inserimos registros;

*-> o asterisco indica que será retornado todos os campos da tabela a ser consultada;

FROM -> indica de onde, qual tabela;

TB_CLIENTE -> o nome da tabela a ser consultada.

COMANDO INSERT – Inserir dados na tabela:

Agora vamos inserir informações que deverão ser armazenadas na tabela de clientes (TB_CLIENTE). Para isso utilizamos o comando INSERT INTO conforme sintaxe abaixo:

INSERT INTO TB_CLIENTE

(ID_CLIENTE, NM_CLIENTE, DTNASC, RG_CLIENTE, CPF_CLIENTE, EMAIL_CLIENTE, TEL_CLIENTE, CEL_CLIENTE)

VALUES

(1, ‘José Eduardo’, ’05/05/2001′, ‘1234567’, ‘012.012.987-00’, ‘jeduardo@provedor.com.br’, ‘(11) 30432-0123’, ‘(11) 99876-0123’);

 INSERT INTO TB_CLIENTE

(ID_CLIENTE, NM_CLIENTE, DTNASC, RG_CLIENTE, CPF_CLIENTE, EMAIL_CLIENTE, TEL_CLIENTE, CEL_CLIENTE)

VALUES

(2, ‘Maria Querubina’, ’09/12/1978′, ‘MG-12.123.098’, ‘987.123.456-77’, ‘querubina@querosa.com.br’, ‘(33) 3210-1234’, ‘(33) 8876-0900’);

 INSERT INTO TB_CLIENTE

(ID_CLIENTE, NM_CLIENTE, DTNASC, RG_CLIENTE, CPF_CLIENTE, EMAIL_CLIENTE, TEL_CLIENTE, CEL_CLIENTE)

VALUES

(3, ‘Francismara Francisca’, ’11/11/1966′, ‘457.277.222’, ‘526.637.256-54’, ‘francisfran@email.com.br’, ‘(44) 4323-3462’, ‘(12) 9873-2345’);

Onde:

INSERT INTO -> instrução que possibilita a inserção dos dados na tabela a ser informada;

TB_CLIENTE -> nome da tabela que armazenará os dados inseridos;

(ID_CLIENTE, NM_CLIENTE, DTNASC, RG_CLIENTE, CPF_CLIENTE, EMAIL_CLIENTE, TEL_CLIENTE, CEL_CLIENTE) -> representa todos os campos da tabela na sequencia em que os dados deverão informados logo abaixo, note que todos os campos estão contidos entre parênteses e separados por vírgula;

VALUES -> Primeiro inserimos o comando que representa a inserção de dados (INSERT INTO), depois passamos o nome da tabela que receberá a inserção (TB_CLIENTE), para em sequencia passar cada um dos campos da tabela na ordem em que receberão os dados. Agora o VALUES indica que a seguir serão informados os valores recebidos em cada um dos campos mencionados anteriormente. Pode ser percebido que, na sequencia entre parênteses e separado por vírgula com sintaxe similar a utilizada para representar os campo temos os dados a serem inseridos. Note também que cada valor é delimitado por aspas simples, sendo necessário para os campos do tipo CHAR e VARCHAR, por exemplo, valores passados para campos do tipo DECIMAL, não se faz necessário o uso das aspas simples.

A sintaxe apresentada do comando INSERT INTO deve ser utilizada da maneira apresentada para cada registro a ser inserido na tabela. Como exemplo foi inserido três registros.

COMANDO UPDATE – Alterar algum registro

Depois de algum tempo pode ser necessário realizar a atualização ou alteração de algum dado ou informação existente no banco de dados. Exatamente onde entra o comando UPDATE que deverá utilizado em conjunto como o comando SET. Vejamos abaixo um exemplo de uso do comando a fim de alterar um dos registros inseridos anteriormente:

Supondo que a cliente “Francismara”, cujo ID_CLIENTE é igual a 3, mudou o seu endereço de e-mail, sendo assim buscaremos na tabela de clientes o registro cujo “ID_CLIENTE = 3” e iremos inserir nesse registro um novo dado no campo EMAIL_CLIENTE. Assim temos o seguinte comando para realizar tal alteração:

UPDATE TB_CLIENTE SET EMAIL_CLIENTE = “francismara@gmail.com” WHERE ID_CLIENTE = 3;

Onde:

UPDATE -> comando para realizar a atualização;

TB_CLIENTE -> tabela onde será realizada a atualização;

SET -> indica qual dado será atualizado;

EMAIL_CLIENTE -> é o campo que terá o dado atualizado (perceba que o novo dado a ser inserido é passado entre aspas duplas, pois o campo é do tipo VARCHAR);

WHERE -> é a condição para realizar a atualização. Traduzindo, com a cláusula WHERE é possível informar especificamente qual condição deverá ser atendida para o que o novo dado seja inserido no campo informado;

ID_CLIENTE -> é o campo utilizado como critério para que seja realizada a atualização. Ou seja, no caso especifico o valor do campo ID_CLIENTE deverá ter valor igual a 3, para que no campo EMAIL_CLIENTE o novo dado informado seja alterado.

COMANDO SELECT – Selecionar (Mais específico):

Depois de alterar o registro na tabela cliente cujo campo ID_CLIENTE possui valor igual a 3, podemos utilizar o comando SELECT para retornar especificamente esse registro a fim de conferir se a atualização foi realizada com sucesso, vejamos a seguir o uso do comando de uma maneira mais específica:

SELECT * FROM TB_CLIENTE WHERE ID_CLIENTE = 3;

Onde:

SELECT -> comando que realiza a consulta dos registros armazenados na tabela;

*-> o asterisco indica que será retornado todos os campos da tabela a ser consultada;

FROM -> indica de onde, qual tabela;

TB_CLIENTE -> o nome da tabela a ser consultada;

WHERE -> utilizando está cláusula iremos restringir o retorno do comando SELECT apenas ao(s) registro(s) que atender(em) a condição especificada por ele, no caso será retornado apenas o registro que possui o ID_CLIENTE = 3.

Especificando um pouco mais o comando SELECT:

Talvez fosse mais prático ou necessário visualizar apenas os campos ID_CLIENTE e EMAIL_CLIENTE para confirmar o sucesso da atualização. Assim sendo utilizaríamos o mesmo comando com uma pequena alteração, onde, ao invés de passar o parâmetro * (asterisco), poderíamos especificar também quais os campos deverão ser retornados. Veja como ficaria tal comando:

SELECT ID_CLIENTE, EMAIL_CLIENTE FROM TB_CLIENTE WHERE ID_CLIENTE = 3;

 

COMANDO DELETE – Excluindo um registro na Tabela

Por fim pode acontecer em determinado momento de não necessitarmos de uma determinada informação na nossa base dados. Neste caso utilizaremos o comando DELETE para excluir um registro qualquer da tabela de clientes.

DELETE FROM TB_CLIENTE WHERE ID_CLIENTE = 3;

Onde:

DELETE FROM -> comando que indica deletar de um local a ser especificado;

TB_CLIENTE -> indica o local, ou seja, a tabela de onde o registro será apagado;

WHERE -> especifica que uma condição deverá ser atendida para ocorrer a exclusão, no caso ID_CLIENTE ser igual a 3.

MUITA ATENÇÃO COM O COMANDO DELETE

Apesar de ser muito simples de utilizar o comando DELETE exige o máximo de cautela possível, pois se utilizado de forma inadequada pode causar enorme prejuízo com remoção de inúmeras informações importantes na base de dados. Explicando de forma prática escrevo abaixo dois comandos e mostro a diferença:

DELETE FROM TB_CLIENTE;

DELETE FROM TB_CLIENTE WHERE NM_CLIENTE = “Maria Querubina” ;

No primeiro comando foi informada apenas a tabela onde os dados serão removidos, neste caso TODOS os dados da tabela TB_CLIENTE serão removidos, a não ser que tenha total convicção que isso deverá ser executado é muito importante não se esquecer da cláusula WHERE, onde um critério será especificado para que ocorra a exclusão de determinados registros. Como foi feito no segundo comando e explicado anteriormente.

Bom tudo que vimos ainda é muito pouco dentro deste vasto universo dos comandos de SQL. Porem creio ser muito útil tudo que foi visto, principalmente para quem está iniciando na área. Espero ter ajudado e abaixo pode ser feito o download de todos os comandos escritos em sequencia e devidamente comentados.

Caso haja dúvida ou tenha sugestão para que algo mais seja acrescentado no Guia não deixe de comentar logo abaixo. Obrigado!

Sobre Cristiano Freitas

Tecnólogo em Redes de Computadores por formação, professor de cursos técnicos tendo atuado por 5 anos em uma instituição de ensino em Uberlândia, além de prestar serviços de manutenção e montagem em microcomputadores, instalação física e lógica de redes cabeadas e wireless em sua empresa CVM Soluções em Informática. Iniciando agora a prestação de serviço voltado a prover soluções web. Entusiasta da informática e disposto a compartilhar conhecimento relacionado a tecnologia através dos mecanismos dispostos na Internet.

Deixe uma resposta

O seu endereço de email não será publicado. Required fields are marked *

*