Artigo

Banco de Dados Descomplicado: Principais Comandos em SQL.

Introdução

Vamos retomar a nossa série especial sobre temas de Bancos de Dados, área da Tecnologia da Informação que vem despencando nas provas das principais bancas. O nosso assunto de hoje amedronta muitos concurseiros, mas você vai “tirar de letra” conosco: comandos em SQL.   

Neste artigo, você terá oportunidade de aprender e revisar a sintaxe dos principais comandos da linguagem SQL de uma forma bem dinâmica, com muitos exemplos exclusivos. A nossa proposta é deixar tudo claro como água, até para quem não é da área de TI. Assim, veja como as seções estão organizadas:

  • Objetivo
  • Classificação dos Comandos em SQL
  • Comandos em SQL: DML
  • Comandos em SQL: DQL
  • Comandos em SQL: DDL
  • Comandos em SQL: DCL
  • Comandos em SQL: DTL

Este artigo é recomendado primordialmente a todos os concurseiros da área de TI e Fiscal. Contudo, fique atento também se você pretende fazer provas de outras áreas, tais como Controle e Policial, pois eventualmente as bancas estão exigindo SQL em seu conteúdo programático.

Para entender os comandos em SQL apresentados neste artigo, é recomendável que você tenha noções básicas de Bancos de Dados. Sendo assim, se você nunca viu o assunto, sugerimos que busque o material do Estratégia e retorne a esta publicação quando estiver preparado.

Tentamos esquematizar bem o conteúdo, a fim de deixar o artigo objetivo e a leitura facilitada. A nossa ideia é conseguir atingir o maior número de pessoas possível. Sem mais delongas, vamos lá então?

Tempo de leitura aproximada: 10 a 15 minutos

Objetivo

A Structured Query Language (SQL) é uma linguagem de consulta estruturada, utilizada em bancos de dados relacionais sob a forma de comandos. Apesar de ter consulta no nome, ela é utilizada para realizar diversas outras operações que envolvam dados, tais como inserções, remoções etc.

O padrão SQL é considerado universal para os principais bancos. Embora algumas versões de Sistemas Gerenciadores de Bancos de Dados (SGBDs) possam ter funções adicionais, essas diferenças não costumam ser tão exploradas nas provas. Em outras palavras, a cobrança ainda é focada no tradicional mesmo.

ATENÇÃO: O SQL SERVER (MSSQL) é o SGBD comercializado pela Microsoft. No mundo de TI, muitos profissionais costumam chamá-lo apenas de SQL. Entretanto, isso nada tem a ver com o SQL que vamos apresentar aqui. O MSSQL utiliza a linguagem SQL em seu ambiente, assim como outros bancos também a utilizam, mas são conceitos diferentes.   

Classificação dos Comandos em SQL

Antes de mais nada, a linguagem SQL divide os comandos em alguns tipos:

Data Manipulation Language (DML): comandos em SQL de manipulação dos dados nas tabelas. Em outras palavras, não alteram as tabelas, mas podem impactar os dados armazenados nelas.

Data Query Language (DQL): comandos em SQL de consulta aos dados nas tabelas.

ATENÇÃO: A adoção do DQL para os comandos de consulta não é unânime. Alguns autores consideram esses comandos como DML, enquanto outros os consideram como DQL. Normalmente, a questão trará apenas um dos dois no gabarito. Contudo, se os dois estiverem entre as alternativas possíveis, recomendamos que marque o DQL, por ser mais específico. 

Data Definition Language (DDL): comandos em SQL que atuam diretamente nas estruturas dos objetos de bancos. Só para exemplificar, os objetos podem ser tabelas, índices, sequências etc.

Data Control Language (DCL): comandos em SQL envolvendo permissões de acesso ao banco. Nesse sentido, estão atrelados diretamente com a segurança da informação.

Data Transaction Language (DTL): comandos em SQL relacionados com as transações no banco. São eles que confirmam ou desfazem as operações realizadas, em caso de sucesso ou erro.

Comandos em SQL: DML

Seguem os principais comandos DML. Para fins didáticos, vamos considerar os comandos de consulta como DQL e, por conseguinte, iremos apresentá-los na próxima seção:

ComandoDescriçãoSintaxeExemplo
INSERTInserção dos dados na tabela (padrão).INSERT INTO tabela (coluna1, coluna2, …) VALUES (valor1, valor2, …)INSERT INTO Colaborador (nome, cidade) VALUES
(“Cristiane”, “Rio de Janeiro”)
Inserção dos dados na tabela, omitindo o nome das colunas (considerando os dados inseridos na mesma ordem).INSERT INTO tabela
VALUES (valor1, valor2, …)
INSERT INTO Colaborador VALUES
(1, “Cristiane”, 18/01/1985, “Rio de Janeiro”)
UPDATEAtualização dos dados na tabela. Caso a condição seja omitida, todas as linhas da tabela serão atualizadas.UPDATE tabela SET coluna1 = valor 1, coluna 2 = valor2 …
[WHERE
condição]
UPDATE Colaborador
SET cidade = “Florianópolis”
WHERE
nome = “Cristiane”
DELETERemoção dos dados da tabela. Caso a condição seja omitida, todas as linhas da tabela serão removidas.DELETE FROM tabela
[WHERE
condição]
DELETE FROM Colaborador
Tabela 1 – Principais Comandos em SQL do Tipo DML.

Comandos em SQL: DQL

Conforme explicado anteriormente, vamos considerar os comandos de consulta nesta seção. Você vai observar que a consulta é representada pelo SELECT:

ComandoDescriçãoSintaxeExemplo
SELECTConsulta a todos os campos da tabela (padrão). Caso a condição seja omitida, todas as linhas da tabela serão consultadas.SELECT * FROM tabela
[WHERE condição]
SELECT * FROM Colaborador WHERE nome = “Cristiane”
Consulta a alguns campos discriminados da tabela. Caso a condição seja omitida, todas as linhas da tabela serão consultadas.SELECT campo1, campo2 FROM tabela
[WHERE condição]
SELECT nome, cidade FROM Colaborador
Tabela 2 – Principais Comandos em SQL Padrão do Tipo DQL.

Funções de Agregação

Conforme o próprio nome diz, essas funções agregam, agrupam um conjunto de valores em um único resultado, após a realização de uma determinada operação por um comando em SQL. O agrupamento é dado pelo GROUP BY.

Em seguida, após agrupá-los, você poderá efetuar uma nova filtragem (opcional). Essa filtragem sobre o agrupamento realizado é feita com o HAVING. Só para ilustrar, vamos esquematizar para você entender melhor:

Figura 1 - Passo a Passo das Funções de Agregação em SQL.
Figura 1 – Passo a Passo das Funções de Agregação em SQL.

Dessa forma, as principais funções de agregação são:

Função de AgregaçãoDescrição
COUNTTotal de linhas no resultado.
SUMSomatório de valores da coluna.
AVGMédia aritmética de valores da coluna.
MAXMaior valor da coluna.
MINMenor valor da coluna.
Tabela 3 – Principais Funções de Agregação.

Em seguida, vamos ver o SQL esquematizado:

ComandoDescriçãoSintaxeExemplo
SELECTConsulta aos dados da tabela, aplicando função de agregação. Se a função for aplicada, o agrupamento é obrigatório.SELECT função (campo1), campo2 FROM tabela
[WHERE condição]
GROUP BY campo2
SELECT COUNT(*), cidade
FROM Colaborador
GROUP BY
cidade
Consulta aos dados da tabela, aplicando função de agregação e filtragem dos dados agregados. Se a função for aplicada, o agrupamento é obrigatório. Entretanto, a filtragem do agrupamento é opcional. SELECT função (campo1), campo2 FROM tabela
[WHERE condição1]
GROUP BY campo2
[HAVING condição2]
SELECT COUNT(*), cidade
FROM Colaborador
GROUP BY
cidade
HAVING COUNT(*) > 10
Tabela 4 – Principais Comandos em SQL do Tipo DQL com Funções de Agregação.

Ordenação

Por outro lado, caso você deseje, o resultado da consulta poderá vir ordenado. A ordenação poderá ser crescente ou decrescente. A fim de evitar confusão, lembre-se sempre de que ela é a última coisa a ser aplicada na consulta elaborada com um comando SQL, independente se ela tenha funções de agregação ou não:

ComandoDescriçãoSintaxeExemplo
SELECTConsulta padrão aos dados da tabela, aplicando ordenação crescente (ASC) ou decrescente (DESC).SELECT * FROM tabela
[WHERE condição]
ORDER BY campo1, campo2
[ASC | DESC]
SELECT * FROM Colaborador
ORDER BY nome, cidade ASC
Consulta aos dados da tabela, aplicando função de agregação e ordenação crescente (ASC) ou decrescente (DESC) combinadas.SELECT função (campo1), campo2 FROM tabela
[WHERE condição1]
GROUP BY campo2
[HAVING condição2]
ORDER BY função (campo1), campo2 [ASC | DESC]
SELECT COUNT(*), cidade
FROM Colaborador
GROUP BY
cidade
HAVING COUNT(*) > 10
ORDER BY cidade DESC
Tabela 5 – Principais Comandos em SQL do Tipo DQL com Ordenação.

Para não deixar este artigo muito extenso, optamos por explorar as junções em SQL separadamente. Sendo assim, fique ligado nas próximas publicações, pois virá mais conteúdo pela frente.

Comandos em SQL: DDL

Seguem os principais comandos DDL. Nesta seção, vamos considerar apenas tabelas nos exemplos, pois são os objetos mais cobrados em prova pelas bancas:

ComandoDescriçãoSintaxeExemplo
CREATECriação de uma tabela no banco, em sua versão padrão.CREATE TABLE tabela
(coluna1 tipo1, coluna 2 tipo2…)
CREATE TABLE Colaborador (id int,
nome varchar, dataNascimento date,
cidade varchar)
Criação de uma nova tabela no banco, a partir de uma consulta a uma tabela já existente (antiga). A condição é opcional.CREATE TABLE tabelaNova
AS SELECT coluna1, coluna2…
FROM tabelaAntiga
[WHERE condição]
CREATE TABLE Colaborador
AS
SELECT * FROM Pessoa
WHERE
status = “aprovado”
ALTERAlteração de uma tabela para adição, exclusão ou alteração de camposALTER TABLE tabela
[ADD coluna tipo] |
[DROP COLUMN coluna] |
[RENAME COLUMN colunaAntiga TO colunaNova]
ALTER TABLE Colaborador ADD experiencia int
TRUNCATERemoção dos dados de uma tabela, mantendo a sua estrutura.TRUNCATE TABLE tabelaTRUNCATE TABLE Colaborador
DROPRemoção dos dados e da estrutura de uma tabela.DROP TABLE tabelaDROP TABLE Colaborador
Tabela 6 – Principais Comandos em SQL do Tipo DDL.

ATENÇÃO: Observe que o TRUNCATE apaga apenas os dados de uma tabela, mantendo a sua estrutura. Contudo, ele não é considerado um comando DML, mas sim DDL. Cuidado para não confundir com o DELETE.

Comandos em SQL: DCL

Seguem os principais comandos DCL. Da mesma forma que na seção anterior, vamos considerar tabelas nos exemplos, pois são os objetos mais cobrados pelas bancas em provas:

ComandoDescriçãoSintaxeExemplo
GRANTConcede privilégio a um determinado usuário ou papel, sobre uma tabela (padrão).  GRANT privilégio ON tabela TO [usuário | papel]GRANT SELECT ON Colaborador
TO estrategia
Concede privilégio a um determinado usuário ou papel, sobre uma tabela, e permite que o beneficiado estenda o privilégio a outros.GRANT privilégio ON tabela TO [usuário | papel]
[WITH GRANT OPTION]
GRANT SELECT ON Colaborador
TO estrategia
WITH GRANT OPTION
REVOKERevoga privilégio concedido a um determinado usuário ou papel, sobre uma tabela.REVOKE privilégio ON tabela FROM [usuário | papel]REVOKE SELECT ON Colaborador FROM estrategia
Tabela 7 – Principais Comandos em SQL do Tipo DCL.

Comandos em SQL: DTL

Antes de mais nada, parabéns por ter chegado até aqui! SQL não é um assunto tão difícil, basta treinar. Se ainda está com dificuldade, tenha certeza de que ela é passageira. Sem dúvida, o sucesso virá com a persistência.

Por fim, para fechar o artigo, seguem os principais comandos DTL. Você vai reparar que a sintaxe é igual ao nome do comando, o que dispensa exemplos adicionais:

Comando / SintaxeDescrição
COMMITConfirma as operações realizadas na base de dados.
ROLLBACKDesfaz as operações realizadas na base de dados. 
Tabela 8 – Principais Comandos em SQL do Tipo DTL.

Conclusão

Em suma, apresentamos neste artigo os comandos da linguagem SQL (considerada um dos tópicos mais cobrados de Bancos de Dados) de uma forma exemplificada. Dessa forma, se você compreendeu bem os conceitos, a recomendação é fazer muitas questões no Sistema de Questões do Estratégia Concursos para treinar.

Alunos aprovados realizam centenas ou até milhares de questões para atingir seu objetivo. Lembre-se do ditado: treino difícil, jogo fácil. O acesso ao Sistema de Questões é feito pelo link: https://concursos.estrategia.com/.

Ademais, além de treinar por questões, é fundamental que você faça a revisão periódica do conteúdo apresentado. Se restaram dúvidas ou quiser explorar mais o assunto, fique à vontade para buscar diretamente o material do Estratégia.  

Por fim, lembramos que o Estratégia oferece diversos cursos em pdf, videoaulas e áudios para você ouvir onde quiser.

Bons estudos e até a próxima!

Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Professional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022) e TCE-RJ (2022). Atualmente exerce o cargo efetivo de Especialista em Previdência Social – Ciência da Computação no Rioprevidência, além de ser colaboradora do Blog do Estratégia Concursos.

Concursos Abertos

Quer Saber Tudo de Concursos Previstos?

Confira Nossos Artigos

Concursos 2023

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja os comentários
  • Nenhum comentário enviado.