0% acharam este documento útil (0 voto)
36 visualizações

Data Definition Language (DDL) Data Manipulation Language (DML) Data Transaction Language (DTL) Data Control Language (DCL)

SQL é a linguagem padrão para manipulação de bancos de dados relacionais. Ela permite criar, consultar, atualizar e excluir dados de tabelas através de comandos DDL, DML, DCL e DTL.
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
36 visualizações

Data Definition Language (DDL) Data Manipulation Language (DML) Data Transaction Language (DTL) Data Control Language (DCL)

SQL é a linguagem padrão para manipulação de bancos de dados relacionais. Ela permite criar, consultar, atualizar e excluir dados de tabelas através de comandos DDL, DML, DCL e DTL.
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 12

RESUMO

DEFINIÇÃO DE SQL
SQL é basicamente a linguagem padrão declarativa para manipulação de bancos de dados relacionais. Por meio
dela, um usuário pode executar comandos para inserir, pesquisar, atualizar ou deletar registros em um banco de
dados, criar ou excluir tabelas, conceder ou revogar permissões para acessar o banco de dados, entre diversos
outros recursos.

TIPOS DE DADOS DESCRIÇÃO


Esse tipo de dado – também conhecido como literal – é basicamente uma cadeia de caracteres
TEXTUAL – também chamada de string.

Esse tipo de dado trata de números inteiros de diversos tamanhos (Ex: INTEGER, INT ou
NUMÉRICO SMALLINT) e números reais (FLOAT, REAL e DOUBLE PRECISION).

Esse tipo de dado é basicamente uma cadeia de bits de tamanho fixo (Ex: BIT(n), em que n é
BINÁRIO o número fixo de caracteres) ou tamanho variável (Ex: BIT VARYING(n), em que n é o número
máximo de caracteres.
Esse tipo de dado tem como valores tradicionais TRUE (Verdadeiro) ou FALSE (Falso).
BOOLEANO

Esse tipo de dado possui dez posições, e seus componentes são DAY (Dia), MONTH (Mês) e YEAR
DATA (Ano) na forma DD-MM-YYYY (Ex: 30/03/2019).

Esse tipo de dado possui pelo menos oito posições compostas por HOUR (Hora), MINUTE
HORA (Minuto) e SECOND (Segundo) na forma HH:MM:SS.

Existem outros tipos de dados que foram acrescentados em versões posteriores do Padrão
Outros ANSI/SQL (Ex: TIMESTAMP (junção da Data com Hora), INTERVAL (calcula o intervalo entre
Datas/Horas); e DATETIME (combina data e hora em um único tipo, com intervalo de datas)).

DATA DEFINITION LANGUAGE (DDL)

DATA MANIPULATION LANGUAGE (DML)


SQL

DATA TRANSACTION LANGUAGE (DTL)

DATA CONTROL LANGUAGE (DCL)


COMANDOs ddl DESCRIÇÃO
Comando utilizado para criar tabelas (e outros objetos) de um banco de dados.
CREATE
Comando utilizado para deletar uma tabela (e outros objetos) de um banco de dados.
DROP
Comando utilizado para apagar dados de uma tabela (e, não, a tabela em si) de um banco de
TRUNCATE dados.
Comando utilizado para manipular colunas ou restrições de um banco de dados.
ALTER
Comando utilizado para renomear uma tabela de um banco de dados.
RENAME

CREATE TABLE

SINTAXE DO COMANDO
CREATE TABLE NOME_DA_TABELA (
NOME_COLUNA1 TIPO_DE_DADO RESTRIÇÕES ,
NOME_COLUNA2 TIPO_DE_DADO RESTRIÇÕES ,
NOME_COLUNA3 TIPO_DE_DADO RESTRIÇÕES ,
...
);

SINTAXE DO COMANDO
CREATE TABLE NOME_TABELA_NOVA AS
SELECT NOME_COLUNA1, NOME_COLUNA2, NOME_COLUNA3, ...
FROM NOME_TABELA_ANTIGA
WHERE ...

DROP TABLE

SINTAXE DO COMANDO
DROP TABLE NOME_DA_TABELA;

TRUNCATE TABLE

SINTAXE DO COMANDO
TRUNCATE TABLE NOME_DA_TABELA;
ALTER TABLE

SINTAXE DO COMANDO PARA ADICIONAR COLUNA


ALTER TABLE NOME_DA_TABELA
ADD COLUMN NOME_COLUNA TIPO_DE_DADO;

SINTAXE DO COMANDO PARA EXCLUIR COLUNA


ALTER TABLE NOME_DA_TABELA
DROP COLUMN NOME_COLUNA;

SINTAXE DO COMANDO (SQL SERVER / MS-ACCESS)


ALTER TABLE NOME_DA_TABELA
ALTER COLUMN NOME_COLUNA TIPO_DE_DADO;

SINTAXE DO COMANDO (MYSQL / ORACLE PRÉ-10G)


ALTER TABLE NOME_DA_TABELA
MODIFY COLUMN NOME_COLUNA TIPO_DE_DADO;

SINTAXE DO COMANDO (MYSQL / ORACLE 10G EM DIANTE)


ALTER TABLE NOME_DA_TABELA
MODIFY NOME_COLUNA TIPO_DE_DADO;

RENAME TABLE

SINTAXE DO COMANDO
RENAME TABLE NOME_DA_TABELA
TO NOVO_NOME_DA_TABELA;

EXEMPLO DO COMANDO
RENAME TABLE ALUNO
TO ALUNO_ESTRATEGIA;

SINTAXE DO COMANDO
ALTER TABLE NOME_DA_TABELA
RENAME TO NOVO_NOME_DA_TABELA;
RESTRIÇÕES

RESTRIÇÕES (CONSTRAINTS)
Trata-se de um conjunto de limitações utilizadas para especificar regras para os dados em uma tabela de um banco
de dados relacional. Elas buscam limitar o tipo de dado que pode ser armazenado, o que garante a precisão e
confiabilidade aos dados da tabela. Se houver qualquer violação entre a restrição e a ação de dados, a ação será
abortada.

CONSTRAINT DESCRIÇÃO
Not null Garante que uma coluna não possa ter um valor nulo.
Unique Garante que todos os valores de uma coluna sejam diferentes entre si.
Primary key Garante que todos os valores de uma coluna sejam diferentes entre si e não nulos.
Foreign key Garante que ações não destruam links/relacionamentos entre as tabelas.
Check Garante que os valores em uma coluna satisfaçam uma condição específica.
Default Define um valor padrão para uma coluna, se nenhum valor for especificado.

NOT
NULL

DEFAULT UNIQUE

RESTRIÇÕES

CHECK PRIMARY
KEY
FOREIGN
KEY

Not null

sintaxe DO COMANDO
CREATE TABLE NOME_DA_TABELA (
NOME_COLUNA1 TIPO_DE_DADO NOT NULL ,
...
);

unique

EXEMPLO DO COMANDO (sql server / oracle / ms-access)


CREATE TABLE ALUNO (
NOME VARCHAR(20) NOT NULL ,
CPF INT PRIMARY KEY ,
SEXO CHAR(1) NOT NULL ,
DATA_NASCIMENTO DATE NOT NULL ,
CIDADE VARCHAR(50) ,
MATRICULA INT UNIQUE ,
VALOR_PAGO INT
);
primary key

SINTAXE DO COMANDO (sql server / oracle / ms-access)


CREATE TABLE NOME_DA_TABELA (
NOME_COLUNA1 TIPO_DE_DADO PRIMARY KEY ,
NOME_COLUNA2 TIPO_DE_DADO RESTRIÇÕES ,
NOME_COLUNA3 TIPO_DE_DADO RESTRIÇÕES ,
...
);

foreign key

SINTAXE DO COMANDO (sql server / oracle / ms-access)


CREATE TABLE NOME_DA_TABELA (
NOME_COLUNA1 TIPO_DE_DADO PRIMARY KEY ,
NOME_COLUNA2 TIPO_DE_DADO RESTRIÇÕES ,
NOME_COLUNA3 TIPO_DE_DADO FOREIGN KEY REFERENCES TABELA_REFERENCIADA (CHAVE)
);

check

EXEMPLO DO COMANDO (sql server / oracle / ms-access)


CREATE TABLE ALUNO (
NOME VARCHAR(20) NOT NULL ,
CPF INT PRIMARY KEY ,
SEXO CHAR(1) NOT NULL ,
CIDADE VARCHAR(50) ,
MATRICULA INT UNIQUE ,
IDADE INT CHECK (IDADE >= 18)
);

default

EXEMPLO DO COMANDO (mysql / sql server / oracle / ms-access)


CREATE TABLE ALUNO (
NOME VARCHAR(20) NOT NULL ,
CPF INT PRIMARY KEY ,
SEXO CHAR(1) NOT NULL ,
CIDADE VARCHAR(50) DEFAULT ‘Brasília’ ,
MATRICULA INT UNIQUE ,
);
COMANDOs dml DESCRIÇÃO
SELECT Comando utilizado para realizar consultas a dados de uma ou mais tabelas do banco de dados.
INSERT Comando utilizado para inserir um registro em uma tabela do banco de dados.
UPDATE Comando utilizado para mudar valores de dados de registros de uma tabela do banco de dados.
DELETE Comando utilizado para remover registros de uma tabela do banco de dados.

INSERT INTO

SINTAXE DO COMANDO I
-- INSERÇÃO DE TODOS OS VALORES PRESCINDE DA ESPECIFICAÇÃO DAS COLUNAS
INSERT INTO NOME_DA_TABELA
VALUES (VALOR_1, VALOR_2, VALOR_3, ...)

SINTAXE II DO COMANDO II
-- INSERÇÃO DE TODOS OS VALORES PRECISA DA ESPECIFICAÇÃO DAS COLUNAS
INSERT INTO NOME_DA_TABELA (NOME_COLUNA1, NOME_COLUNA2, NOME_COLUNA3, ...)
VALUES (VALOR_1, VALOR_2, VALOR_3, ...)

UPDATE

SINTAXE DO COMANDO
UPDATE NOME_DA_TABELA
SET NOME_DA_COLUNA_1 = VALOR_1, NOME_COLUNA2 = VALOR_2 ...
WHERE LISTA_DE_CONDICOES

DELETE

SINTAXE DO COMANDO
DELETE FROM NOME_DA_TABELA WHERE LISTA_DE_CONDICOES

SELECT

SINTAXE DO COMANDO
-- AS CLÁUSULAS SÃO OPCIONAIS
SELECT LISTA_DE_COLUNAS FROM LISTA_DE_TABELAS CLAUSULAS;

SELECT DISTINCT

SINTAXE DO COMANDO
-- AS CLÁUSULAS SÃO OPCIONAIS
SELECT DISTINCT LISTA_DE_COLUNAS FROM LISTA_DE_TABELAS CLAUSULAS;
ALIASES

SINTAXE DO COMANDO
-- ALIAS PARA O NOME DA TABELA
SELECT NOME_COLUNA FROM NOME_DA_TABELA AS APELIDO CLAUSULAS;

-- ALIAS PARA O NOME DA COLUNA


SELECT NOME_COLUNA AS APELIDO FROM NOME_DA_TABELA CLAUSULAS;

GROUP ORDER
FROM JOIN WHERE HAVING LIMIT
BY BY

CLÁSULAS DESCRIÇÃO
FROM Comando utilizado para indicar de onde os dados devem ser selecionados.
join Comando utilizado para combinar linhas tabelas, com base em uma coluna em comum entre elas.
WHERE Comando utilizado para filtrar os dados.
GROUP BY Comando utilizado para agregar um conjunto de dados.
HAVING Comando utilizado para filtrar dados agregados.
ORDER BY Comando utilizado para ordenar os dados recuperados.
LIMIT Comando utilizado para limitar a quantidade de resultados.

FROM

SINTAXE DO COMANDO
SELECT LISTA_DE_COLUNAS FROM TABELA1, TABELA2, ... CLAUSULAS;

JOIN

INNER JOIN LEFT JOIN RIGHT JOIN FULL OUTer JOIN SELF JOIN

Retorna registros que Retorna todos os Retorna todos os Retorna todos os Trata-se de join
possuem valores registros da tabela da registros da tabela da registros quando há comum, mas que
correspondentes em esquerda e seus direita e seus uma correspondência relaciona registros de
ambas as tabelas correspondentes da correspondentes da na tabela da esquerda uma tabela com ela
tabela da direita tabela da esquerda ou da direita mesma

WHERE

SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE CONDICAO;
Operadores Relacionais

OPERADOR DESCRIÇÃO EXEMPLO


= IGUAL ... WHERE NOME = ‘DIEGO’;
> MAIOR ... WHERE VALOR_PAGO > 1000.00;
>= MAIOR OU IGUAL ... WHERE IDADE >= 18;
< MENOR ... WHERE DATA_NASCIMENTO < ‘01/01/2000’;
<= MENOR OU IGUAL ... WHERE VELOCIDADE <= 100;
<> DIFERENTE ... WHERE CIDADE <> ‘São Paulo’;

Operadores AND, OR, NOT, BETWEEN

SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE CONDICAO1 AND CONDICAO2 AND CONDICAO3 ... ;

SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE CONDICAO1 OR CONDICAO2 OR CONDICAO3 ... ;

SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE NOT CONDICAO1;

SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE NOME_COLUNA1 BETWEEN VALOR1 AND VALOR2;
Operador LIKE
SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE NOME_COLUNA1 LIKE PADRAO

OPERADOR DESCRIÇÃO
...WHERE NOME LIKE 'A%' Retorna valores que comecem com “A”.
...WHERE NOME LIKE '%A' Retorna valores que terminem com “A”.
...WHERE NOME LIKE '%IO%' Retorna valores que possuam “IO” em qualquer posição.
...WHERE NOME LIKE '_R%' Retorna valores que possuam um caractere e depois a letra “R”.
...WHERE NOME LIKE '%A_' Retorna valores que terminem com “A” mais apenas um caractere.
...WHERE NOME LIKE 'A__%' Retorna valores que comecem com “A” e possuem ao menos 3 caracteres.
...WHERE NOME LIKE '%A%O' Retorna valores que possuam “A” depois “O” (imediatamente ou não).

Operador is null
SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE NOME_COLUNA1 IS NULL;

Operador IN
SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE NOME_COLUNA1 IN (VALOR1, VALOR2,...);

Operador EXISTS
SINTAXE DO COMANDO
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA1
WHERE EXISTS (SELECT ... FROM ... WHERE ...);

GROUP BY
SINTAXE DO COMANDO
SELECT LISTA_DE_COLUNAS, FUNCAO_DE_AGREGACAO(COLUNA)
FROM NOME_DA_TABELA
WHERE CONDIÇOES --OPCIONAL
GROUP BY LISTA_DE_COLUNAS;

FUNÇÕES AGREGAÇÃO DESCRIÇÃO


COUNT() Quantidade Essa função conta a quantidade total de dados de um dado campo.
SUM() Soma Essa função soma valores numéricos de um dado campo.
AVG() Média Essa função calcula a média aritmética simples de um conjunto de valores numéricos.
MAX() Máximo Essa função retorna o maior valor encontrado de um dado campo.
MIN() Mínimo Essa função retorna o menor valor encontrado de um dado campo.
HAVING

SINTAXE DO COMANDO
SELECT LISTA_DE_COLUNAS, FUNCAO_DE_AGREGACAO(COLUNA)
FROM NOME_DA_TABELA
WHERE CONDIÇOES --OPCIONAL
GROUP BY LISTA_DE_COLUNAS
HAVING CONDIÇOES;

ORDER BY

SINTAXE DO COMANDO
SELECT LISTA_DE_COLUNAS, FUNCAO_DE_AGREGACAO(COLUNA)
FROM NOME_DA_TABELA
WHERE CONDIÇOES --OPCIONAL
GROUP BY LISTA_DE_COLUNAS --OPCIONAL
HAVING CONDIÇOES --OPCIONAL
ORDER BY COLUNA1 ASC | DESC, COLUNA2 ASC | DESC, ...;

LIIMT

SINTAXE DO COMANDO
SELECT LISTA_DE_COLUNAS
FROM NOME_DA_TABELA
LIMIT QTD_LINHAS;
COMANDOS DTL DESCRIÇÃO
COMMIT Comando utilizado para finalizar/confirmar uma transação dentro de um SGBD.
ROLLBACK Comando utilizado para descartar mudanças nos dados desde o último COMMIT ou ROLLBACK.

SINTAXE DO COMANDO
COMMIT;

SINTAXE DO COMANDO
ROLLBACK;

COMANDOS DCL DESCRIÇÃO


GRANT Comando utilizado para conceder permissão a um usuário em relação a algum objeto.
REVOKE Comando utilizado para remover/restringir a capacidade de um usuário de executar operações.

SINTAXE DO COMANDO
GRANT LISTA_DE_PRIVILEGIOS ON OBJETO TO LISTA_DE_USUARIOS;

SINTAXE DO COMANDO
REVOKE LISTA_DE_PRIVILEGIOS ON OBJETO FROM LISTA_DE_USUARIOS;

databases

SINTAXE DO COMANDO
CREATE DATABASE NOME_BANCO;

SINTAXE DO COMANDO
DROP DATABASE NOME_BANCO;
views

SINTAXE DO COMANDO
CREATE VIEW [NOME_VIEW] AS
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA
WHERE CONDICAO;

SINTAXE DO COMANDO
CREATE OR REPLACE VIEW [NOME_VIEW] AS
SELECT NOME_COLUNA1, NOME_COLUNA2, ...
FROM NOME_DA_TABELA
WHERE CONDICAO;

SINTAXE DO COMANDO
DROP VIEW [NOME_VIEW];

Stored procedures

SINTAXE DO COMANDO
CREATE PROCEDURE NOME_PROCEDIMENTO
@NOME_PARAMETRO1 TIPO, @NOME_PARAMETRO2 TIPO, ...
AS
DECLARACOES_SQL
GO;

CHAMADA DO COMANDO
EXEC RETORNA_CIDADE_ALUNO CIDADE = “BRASÍLIA”;

Você também pode gostar