Comandos básicos de SQL
Versão: 1.0 de 29/09/2016
Introdução
Este guia é um consolidado de comandos básicos que podemos utilizar no dia-a-dia para pode facilitar e agilizar os nossos testes.
Os comandos básicos utilizados no SQL são conhecido como CRUD – Create, Read, Update e Delete. Essas são as operações básicas que uma aplicação realiza em um banco de dados, criação, leitura, atualização e exclusão de dados.
O significado de CRUD é:
Create -> INSERT Read -> SELECT Update -> UPDATE Delete -> DELETE
INSERT
A instrução insert é utilizada para inserir dados na tabela, onde indicamos a tabela os campos e os valores que desejamos. Veja a sintaxe utilizada para inserir os dados.
- insert into [nome_tabela] (campo1, campo2, campo3) values (valor1, valor2, valor3)
Exemplo:
insert into TUR_TurmaDisciplinaTerritorio (tud_idExperiencia, tud_idTerritorio, tte_vigenciaInicio, tte_vigenciaFim, tte_situacao, tte_dataCriacao, tte_dataAlteracao) VALUES (675828,671601,'2016-08-25','2016-09-10',1,GETDATE(),GETDATE())
SELECT
A instrução select é usada para buscar registros de uma ou mais tabelas, é possível realizar desde uma simples busca sem nenhuma condição como também uma busca envolvendo várias tabelas e condições. Veja a sintaxe de uma consulta simples, uma consulta com condição e consulta com mais de uma tabela.
- select * from [nome_tabela] -- consulta simples
Exemplo:
select * from CLS_TurmaAula
- select * from [nome_tabela] where [condição] -- consulta com condição
Exemplo:
select * from CLS_TurmaAula where tau_data BETWEEN '2016-02-11' AND '2016-02-11'
select * from CLS_TurmaAulaAluno where tud_id in (671036,695177)
select * from tur_turmadisciplina where tud_tipo in (18,19) and tud_nome ='sarau'
select * from CLS_TurmaAula where tau_data BETWEEN '2016-02-11' AND '2016-02-11' and tud_id in (671036,695177) and tau_situacao = 1 order by tau_data desc
- select * from [nome_tabela1] [apelido da tabela1] inner join [nome_tabela2] [apeli da tabela2] on [ligação_tabela1]=[ligação_tabela2] where [condição] -- consulta em mais de uma tabela
Exemplo:
select * from tur_turmadisciplina tud inner join tur_turmarelturmadisciplina rel on rel.tud_id = tud.tud_id where tud_tipo in (18,19) and tud_codigo = '1B' and tud_nome like '%Educomunicacao%' and tur_id =120532
UPDATE
A instrução update é utilizada para modificar os registros do banco de dados, é importante que sempre que for utilizada tenha uma condição para realizar alteração em um registro ou conjunto de registros específicos, para evitar alterar todos os registros. Veja a sintaxe utilizada para alterar os registros.
- update [nome_tabela] set [campos alterados] where [condição]
Exemplo:
update tur_turmadocente set tdt_vigenciaFim = '2016-12-31' where tud_id = 675828
update CLS_TurmaAula set tau_situacao = 3, tau_dataAlteracao = GETDATE() WHERE tud_id in (670410,670487,670685,670874,671253,671441,675839) AND tau_data BETWEEN '2016-10-03' AND '2016-12-22'
DELETE
A instrução delete é utilizado para excluir os registros de uma tabela, é importante também assim como a instrução udpate, que utilize uma condição para excluir um dado ou conjunto de dados, para evitar alterar todos os registros. Veja a sintaxe utilizada para excluir os registros.
- delete from [nome_tabela] where [condição]
Exemplo:
delete from TUR_TurmaDisciplinaTerritorio where tte_id in (624)
Para deletar todos os registros da tabela também é possível utilizar TRUNCATE TABLE, em alguns casos para realizar algum teste especifico é necessário realizar essa ação.
Exemplo:
truncate table TUR_TurmaDisciplinaTerritorio
Observações gerais
Essas observações são algumas dicas para melhor utilizar os comandos básicos em sql.
1. Para pesquisar todos os campos da tabela é utilizado o *, mas também é possível indicar os campos que deseja exibir na pesquisa. Para isso é necessário indicar os campos desejados na clausula do select.
Exemplo: select alu_nome, alu_nasc, alu_situacao from aluno.
2. Pesquisa utilizando campo data precisa ser no formato 'aaaa-mm-dd'.
3. Dados como data ou texto para realizar pesquisa precisa estar entre aspas simples '2016-29-04'.
4. Pesquisa com intervalo de data pode ser utilizado o operador lógico [BETWEEN].
Exemplo: select * from CLS_TurmaAula where tau_data BETWEEN '2016-10-03' AND '2016-12-22'
5. Pesquisa com vários registros pode ser utilizado o operador lógico [in], mesmo que seja um valor somente também é possível utilizar o [in] e o(s) valor(res) entre (valores).
Exemplo: select * from CLS_TurmaAula WHERE tud_id in (670410,670487,670685,670874,671253,671441,675839)
6. Após realizar a pesquisa é possível ordenar o resultado por order by utilizando os atributos [ASC] para ordenar de forma crescente e [DESC] para ordenar de forma decrescente.
7. Para realizar filtro dos registro por parte do texto é possível utilizar o operador lógico like junto do % no início e fim do nome que deseja pesquisar, exemplo '%Educomunicacao%'.
Exemplo: select * from tur_turmadisciplina where tud_nome like '%Educomunicacao%'
8. Para inserir a data e hora com os valores atuais é possível utilizar GETDATE().
9. Os identificadores e as palavras chave não fazem distinção entre letras maiúsculas e minúsculas.
10. Abaixo uma relação de operadores lógicos que podemos utilizar com os comando sql.
Operador | Operação |
---|---|
= | (igual) |
!= ou <> | (diferente) |
> | (maior que) |
< | (menor que) |
>= | (maior ou igual a) |
<= | (menor ou igual a) |
BETWEEN | (entre X e Y) |
IN | (vários valores dentro da lista) |
AND | (e) |
OR | (ou) |
NOT | (negação) |
IS | (valores iguais) |
11. Para entender melhor algumas condições, vejam a tabela abaixo:
<expressao1> | Operador | <expressao2> | Resultado |
---|---|---|---|
VERDADEIRO | AND | FALSO | FALSO |
VERDADEIRO | AND | VERDADEIRO | VERDADEIRO |
FALSO | AND | VERDADEIRO | FALSO |
FALSO | AND | FALSO | FALSO |
VERDADEIRO | OR | FALSO | VERDADEIRO |
VERDADEIRO | OR | VERDADEIRO | VERDADEIRO |
FALSO | OR | VERDADEIRO | VERDADEIRO |
FALSO | OR | FALSO | FALSO |
VERDADEIRO | XOR | VERDADEIRO | FALSO |
VERDADEIRO | XOR | FALSO | VERDADEIRO |
FALSO | XOR | VERDADEIRO | VERDADEIRO |
FALSO | XOR | FALSO | FALSO |
Referências
Abaixo segue relação de links utilizados para elaborar esse guia.
Introdução a Linguagem SQL: Comandos Básicos e Avançados – Parte 1