Comandos básicos de SQL

De MSTECH wiki
Ir para: navegação, pesquisa
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

Operadores lógicos (Transact-SQL)

DevMedia

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