Guia Prático de Comandos SQL: DDL e DML
Classificado em Computação
Escrito em em
português com um tamanho de 2,66 KB
Criando tabelas no Banco de Dados
CREATE TABLE Parentesco (
ID NUMBER(4),
Descricao VARCHAR2(75) NOT NULL,
CONSTRAINT PK_Parentesco PRIMARY KEY (ID)
);
CREATE TABLE Pessoa (
CPF NUMBER(11),
Nome_completo VARCHAR2(150) NOT NULL,
DT_nascimento DATE,
Sexo CHAR(1),
ID_parentesco NUMBER(4),
CONSTRAINT PK_pessoa PRIMARY KEY (CPF),
CONSTRAINT Check_date CHECK (DT_nascimento >= TO_DATE('01/01/1920', 'DD/MM/YYYY')),
CONSTRAINT Check_Sexo CHECK (Sexo IN ('M', 'F')),
CONSTRAINT FK_ID_Pessoa FOREIGN KEY (ID_parentesco) REFERENCES Parentesco(ID)
);Inserindo registros nas tabelas
INSERT INTO Parentesco (ID, Descricao) VALUES (9000, 'EU');
INSERT INTO Parentesco (ID, Descricao) VALUES (9100, 'Pai');
INSERT INTO Pessoa (CPF, Nome_completo, DT_nascimento, Sexo, ID_parentesco)
VALUES (12345678910, 'Igor Assis da Silva', TO_DATE('19/03/1993', 'DD/MM/YYYY'), 'M', 9000);Alterações de estrutura (DDL)
- Alterar nome de coluna:
ALTER TABLE cliente RENAME COLUMN CLI_ENDER TO CLI_ENDERECO; - Modificar tipo de coluna:
ALTER TABLE cliente MODIFY (CLI_CREDITO NUMBER(12,2)); - Acrescentar atributo na tabela:
ALTER TABLE veiculo ADD valor_venda NUMERIC(10,2);
Consultas e manipulação de dados (DML)
- Listagem de clientes (filtro complexo):
SELECT * FROM cliente WHERE cli_credito NOT BETWEEN 3000 AND 5000 AND cli_estado <> 'SP'; - Visualizar valores distintos de crédito:
SELECT DISTINCT cli_credito FROM cliente; - Uso de Alias e ordenação:
SELECT cli_nome AS "Nome", cli_credito AS "Credito", cli_credito * 0.08 AS "Reajuste", cli_credito * 1.08 AS "Credito Reajustado" FROM cliente ORDER BY cli_credito; - Identificar clientes indicados pelo cliente 1015:
SELECT cli_nome FROM cliente WHERE cli_id_indicacao IN (1015); - Listar clientes com "Eletro" no nome:
SELECT * FROM cliente WHERE cli_nome LIKE '%ELETRO%'; - Agrupamento e filtro de contagem:
SELECT fabricante, COUNT(*) FROM veiculo GROUP BY fabricante HAVING COUNT(*) <= 5; - Criar tabela a partir de outra:
CREATE TABLE carrosFord AS SELECT placa, ano, modelo, valor_venda FROM veiculo WHERE fabricante = 'FORD';
Sintaxe de JOIN
SELECT <campo> FROM <tabela1> JOIN <tabela2> ON <relacionamento> WHERE <condicao>;