0% acharam este documento útil (0 voto)
25 visualizações9 páginas

Aula SQL

O documento é um guia básico sobre SQL, abordando sua definição, categorias de comandos (DDL, DML, DCL, TCL) e exemplos práticos de uso. Inclui exercícios para a criação de um banco de dados escolar, com tabelas para alunos, professores, disciplinas, turmas e matrículas. O conteúdo é voltado para iniciantes em banco de dados, ensinando desde a criação de tabelas até a manipulação de dados.

Enviado por

josildasales77
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
25 visualizações9 páginas

Aula SQL

O documento é um guia básico sobre SQL, abordando sua definição, categorias de comandos (DDL, DML, DCL, TCL) e exemplos práticos de uso. Inclui exercícios para a criação de um banco de dados escolar, com tabelas para alunos, professores, disciplinas, turmas e matrículas. O conteúdo é voltado para iniciantes em banco de dados, ensinando desde a criação de tabelas até a manipulação de dados.

Enviado por

josildasales77
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

IEMA RIO ANIL

PROFESSOR: LUIS AUGUSTO CARDOSO


BANCO DE DADOS I

Aula Básica de SQL — Passo a Passo

O que é SQL?
SQL (Structured Query Language) é a linguagem usada para criar, consultar,
atualizar e apagar dados em bancos de dados relacionais como MySQL,
PostgreSQL, SQL Server, etc.

DEFINIÇÃO:

Tenha em mente que...

Palavras-chave SQL NÃO diferenciam maiúsculas de minúsculas: select é o


mesmo que SELECT.

Ponto e vírgula após instruções SQL?

Alguns sistemas de banco de dados exigem um ponto e vírgula no final de cada


instrução SQL. Ponto e vírgula é a maneira padrão de separar cada instrução
SQL em sistemas de banco de dados que permitem que mais de uma instrução
SQL seja executada na mesma chamada ao servidor.
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I

Os comandos SQL podem ser categorizados em cinco tipos:

[Link] (linguagem de definição de dados)

[Link] (linguagem de consulta de dados)

[Link] (linguagem de manipulação de dados)

[Link] (linguagem de controle de dados)

[Link] (linguagem de controle de transação)

Classificação dos Comandos SQL:

1. DDL — Data Definition Language (Linguagem de Definição de


Dados)
Usada para criar, alterar ou excluir estruturas de dados (tabelas,
esquemas, índices, etc.).
Principais comandos DDL:
Comando Função
CREATE Cria tabelas, bancos de dados, índices, etc.
ALTER Altera a estrutura de uma tabela existente
DROP Remove uma tabela ou banco de dados
Apaga todos os dados da tabela, mas mantém sua
TRUNCATE
estrutura
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I

Exemplo:
CREATE TABLE alunos (
id INT PRIMARY KEY,
nome VARCHAR(100)
);
ALTER TABLE alunos ADD idade INT;
DROP TABLE alunos;

2. DML — Data Manipulation Language (Linguagem de Manipulação de


Dados)
Usada para manipular os dados armazenados nas tabelas.
Principais comandos DML:
Comando Função
SELECT Consulta dados
INSERT Insere novos dados
UPDATE Atualiza dados existentes
DELETE Remove dados de uma tabela

Exemplo:
INSERT INTO alunos (id, nome, idade) VALUES (1, 'Ana', 16);
SELECT * FROM alunos;
UPDATE alunos SET idade = 17 WHERE id = 1;
DELETE FROM alunos WHERE id = 1;

3. DCL — Data Control Language (Linguagem de Controle de Dados)


Usada para controlar permissões e segurança no banco de dados.
Principais comandos DCL:
Comando Função
GRANT Concede permissões (como acesso a uma tabela)
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I
REVOKE Remove permissões concedidas

Exemplo:
GRANT SELECT ON alunos TO usuario_teste;
REVOKE SELECT ON alunos FROM usuario_teste;

4. TCL — Transaction Control Language (Linguagem de Controle de


Transações)
Usada para controlar transações no banco de dados (blocos de
comandos que devem ser executados juntos).
Principais comandos TCL:
Comando Função
COMMIT Confirma as alterações realizadas na transação
ROLLBACK Desfaz alterações feitas até o último COMMIT
SAVEPOINT Marca um ponto intermediário na transação

Exemplo:
BEGIN;

UPDATE alunos SET idade = 18 WHERE id = 2;


SAVEPOINT antes_da_mudanca;
UPDATE alunos SET idade = 30 WHERE id = 2;
ROLLBACK TO antes_da_mudanca;

COMMIT;
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I

Resumo Geral
Categoria Nome O que faz
DDL Definição de Criação/alteração de tabelas e bancos
Estrutura
DML Manipulação de Inserção, consulta, atualização, exclusão
Dados
DCL Controle de Permissões de leitura, escrita, etc.
Acesso
TCL Controle de Garante que grupos de comandos sejam
Transações executados corretamente

Lista de Exercícios de SQL — Cenário: Escola

Parte 1 – Criação de Tabela


Exercício 1: Crie uma tabela chamada alunos com os seguintes campos:
• id (inteiro, chave primária)
• nome (texto, até 100 caracteres)
• idade (inteiro)
• data_nascimento (data)
sql
Exercício 1
CREATE TABLE alunos (
id INT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
data_nascimento DATE
);
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I
Parte 2 – Inserção de Dados
Exercício 2: Insira 3 alunos na tabela:
1. João, 16 anos, nascimento: 2008-01-12
2. Maria, 17 anos, nascimento: 2007-04-10
3. Pedro, 15 anos, nascimento: 2009-06-25
sql
Exercício 2
INSERT INTO alunos VALUES
(1, 'João', 16, '2008-01-12'),
(2, 'Maria', 17, '2007-04-10'),
(3, 'Pedro', 15, '2009-06-25');

Parte 3 – Consultas
Exercício 3: Selecione todos os alunos:
sql
SELECT * FROM alunos;
Exercício 4: Liste apenas o nome e idade dos alunos:
sql
SELECT nome, idade FROM alunos;
Exercício 5: Liste os alunos com idade maior que 15 anos:
sql
SELECT * FROM alunos WHERE idade > 15;

Parte 4 – Atualização e Exclusão


Exercício 6: Atualize a idade do aluno Pedro para 16 anos:
sql
UPDATE alunos SET idade = 16 WHERE nome = 'Pedro';
Exercício 7: Apague o aluno João:
sql
DELETE FROM alunos WHERE nome = 'João';
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I
Vamos elaborar um pequeno banco de dados para um cenário de escola, com
as seguintes tabelas básicas:
Tabelas:
1. alunos – informações dos estudantes
2. professores – informações dos professores
3. disciplinas – matérias ensinadas
4. matriculas – relaciona alunos com disciplinas
5. turmas – agrupamentos de alunos por disciplina e professor

Código SQL do Banco de Dados Escolar


Tabela de alunos
CREATE TABLE alunos (
id INT PRIMARY KEY,
nome VARCHAR(100),
data_nascimento DATE,
endereco VARCHAR(200)
);

Tabela de professores
CREATE TABLE professores (
id INT PRIMARY KEY,
nome VARCHAR(100),
especialidade VARCHAR(100)
);

Tabela de disciplinas
CREATE TABLE disciplinas (
id INT PRIMARY KEY,
nome VARCHAR(100),
carga_horaria INT
);
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I

Tabela de turmas (cada turma tem uma disciplina e um professor)


CREATE TABLE turmas (
id INT PRIMARY KEY,
disciplina_id INT,
professor_id INT,
ano_letivo INT,
FOREIGN KEY (disciplina_id) REFERENCES disciplinas(id),
FOREIGN KEY (professor_id) REFERENCES professores(id)
);

Tabela de matrículas (liga alunos com turmas)


CREATE TABLE matriculas (
id INT PRIMARY KEY,
aluno_id INT,
turma_id INT,
data_matricula DATE,
FOREIGN KEY (aluno_id) REFERENCES alunos(id),
FOREIGN KEY (turma_id) REFERENCES turmas(id)
);

Exemplo de Inserção de Dados


Inserir alunos
INSERT INTO alunos VALUES
(1, 'Lucas Silva', '2006-05-10', 'Rua A, 123'),
(2, 'Maria Souza', '2007-08-22', 'Rua B, 456');
Inserir professores
INSERT INTO professores VALUES
(1, 'Carlos Oliveira', 'Matemática'),
(2, 'Fernanda Lima', 'Português');
IEMA RIO ANIL
PROFESSOR: LUIS AUGUSTO CARDOSO
BANCO DE DADOS I

Inserir disciplinas
INSERT INTO disciplinas VALUES
(1, 'Matemática', 80),
(2, 'Português', 60);

Inserir turmas
INSERT INTO turmas VALUES
(1, 1, 1, 2025), -- Matemática com Carlos em 2025
(2, 2, 2, 2025); -- Português com Fernanda em 2025

Inserir matrículas
INSERT INTO matriculas VALUES
(1, 1, 1, '2025-02-01'), -- Lucas em Matemática
(2, 1, 2, '2025-02-01'), -- Lucas em Português
(3, 2, 2, '2025-02-02'); -- Maria em Português

Você também pode gostar