Comandos básicos de SQL

De MSTECH wiki
Revisão de 11h12min de 29 de setembro de 2016 por Marriely.garcia (Discussão | contribs) (Observações gerais)

Ir para: navegação, pesquisa

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 TUR_TurmaDisciplinaTerritorio

Observações gerais

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.
  • Pesquisa utilizando campo data precisa ser no formato 'aaaa-mm-dd'.
  • Dados como data ou texto para realizar pesquisa precisa estar entre aspas simples '2016-29-04'.
  • 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'
  • 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)
  • Após realizar a pesquisa é possível ordenar o resulado por order by utilizando os atributos [ASC] para ordenar de forma crescente e [DESC] para ordenar de forma decrescente.
  • 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:
  • Para inserir a data e hora com os valores atuaos é possível utilizar GETDATE();
  • Os identificadores e as palavras chave não fazem distinção entre letras maiúsculas e minúsculas.