Material da disciplina de Banco de Dados I (BDD1).
SQL (Structured Query Language) é a linguagem padrão para gerenciamento de bancos de dados relacionais. Ela se divide em várias categorias de comandos, conforme a finalidade de uso.
Usada para definir e modificar a estrutura dos objetos do banco de dados.
CREATE: Cria objetos como tabelas e índices.ALTER: Altera a estrutura de objetos existentes.DROP: Exclui objetos do banco de dados.TRUNCATE: Remove todos os dados de uma tabela, mantendo sua estrutura.
CREATE TABLE aluno (
id INT PRIMARY KEY,
nome VARCHAR(100),
idade INT
);
-- Alterando a tabela para adicionar uma nova coluna
ALTER TABLE aluno ADD COLUMN email VARCHAR(150);
-- Excluindo a tabela
DROP TABLE aluno;
-- Removendo todos os dados da tabela, mas mantendo a estrutura
TRUNCATE TABLE aluno;Usada para inserir, atualizar e excluir dados nas tabelas.
INSERT: Insere novos dados.UPDATE: Altera dados existentes.DELETE: Exclui dados existentes.
-- Inserindo dados
INSERT INTO aluno (id, nome, idade, email)
VALUES (1, 'Maria', 22, '[email protected]');
INSERT INTO aluno VALUES (2, 'João', 20, '[email protected]');
-- Atualizando dados
UPDATE aluno SET idade = 23 WHERE id = 1;
-- Excluindo um aluno
DELETE FROM aluno WHERE nome = 'João';Utilizada para consultar dados no banco.
SELECT: Recupera dados das tabelas.
-- Consultando todos os dados da tabela
SELECT * FROM aluno;
-- Consultando somente alguns campos
SELECT nome, idade FROM aluno;
-- Aplicando condições
SELECT nome FROM aluno WHERE idade > 20;
-- Ordenando resultados
SELECT nome, idade FROM aluno ORDER BY idade DESC;
-- Agregando dados (quantos alunos existem)
SELECT COUNT(*) AS total_alunos FROM aluno;
-- Agrupando por idade
SELECT idade, COUNT(*) FROM aluno GROUP BY idade;Controla o acesso aos dados e permissões dos usuários.
GRANT: Concede permissões.REVOKE: Revoga permissões.
-- Concedendo permissão de SELECT ao usuário
GRANT SELECT ON aluno TO usuario1;
-- Concedendo permissão total
GRANT ALL PRIVILEGES ON aluno TO usuario2;
-- Revogando permissão
REVOKE SELECT ON aluno FROM usuario1;Gerencia transações e garante a integridade dos dados.
BEGINouSTART TRANSACTION: Inicia uma transação.COMMIT: Confirma as alterações.ROLLBACK: Desfaz alterações feitas desde o início da transação.
-- Iniciando uma transação
BEGIN;
-- Atualizando dados
UPDATE aluno SET idade = 25 WHERE id = 2;
-- Confirmando as alterações
COMMIT;
-- Exemplo com ROLLBACK
BEGIN;
DELETE FROM aluno WHERE id = 1;
-- Ops, erro! Desfazendo
ROLLBACK;
-- Exemplo com SAVEPOINT
BEGIN;
UPDATE aluno SET idade = 30 WHERE id = 2;
SAVEPOINT antes_exclusao;
DELETE FROM aluno WHERE id = 2;
-- Se quiser voltar ao ponto antes da exclusão
ROLLBACK TO antes_exclusao;
COMMIT;| Categoria | Nome Completo | Exemplos de Comandos |
|---|---|---|
| DDL | Data Definition Language | CREATE, ALTER, DROP |
| DML | Data Manipulation Language | INSERT, UPDATE, DELETE |
| DQL | Data Query Language | SELECT |
| DCL | Data Control Language | GRANT, REVOKE |
| TCL | Transaction Control Language | BEGIN, COMMIT, ROLLBACK |