Criação de tabelas e seus atributos:
CREATE DATABASE livraria;
USE livraria;
CREATE TABLE clientes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
cpf VARCHAR(11) UNIQUE NOT NULL,
telefone VARCHAR(15),
email VARCHAR(100) UNIQUE NOT NULL
);
CREATE TABLE livros (
id INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
isbn VARCHAR(13) UNIQUE NOT NULL,
descricao VARCHAR(300),
autor VARCHAR(100) NOT NULL,
valor VARCHAR(15) NOT NULL,
quantidade INT NOT NULL
);
Tabela-relacionamento:
CREATE TABLE vendas (
id INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT,
id_livro INT,
data_venda DATE,
hora_venda VARCHAR(5),
quantidade INT,
FOREIGN KEY (id_cliente) REFERENCES clientes(id),
FOREIGN KEY (id_livro) REFERENCES livros(id)
);
Inserção de dados nas tabelas (insert):
INSERT INTO clientes (nome, cpf, telefone, email)
VALUES ('Maria Silva', '12345678901', '9999-9999', '[email protected]'),
('João Oliveira', '98765432101', '8888-8888', '[email protected]');
INSERT INTO livros (titulo, isbn, descricao, autor, valor, quantidade)
VALUES ('A Revolução dos Bichos', '9788573260630', 'Uma fábula sobre o poder', 'George Orwell',
'25.00', 50),
('Cem Anos de Solidão', '9788501014458', 'A história de uma família', 'Gabriel García Márquez',
'30.00', 30);
INSERT INTO vendas (id_cliente, id_livro, data_venda, hora_venda, quantidade)
VALUES (1, 1, '2024-05-05', '15:30', 2),
(2, 2, '2024-05-05', '16:45', 1);
Alteração de registros nas tabelas (update):
UPDATE clientes
SET telefone = '7777-7777'
WHERE id = 1;
UPDATE livros
SET quantidade = 40
WHERE id = 2;
UPDATE vendas
SET quantidade = 3
WHERE id = 1;
Consultas (select):
Selecionar todos os clientes:
SELECT * FROM clientes;
Selecionar todos os livros:
SELECT * FROM livros;
Selecionar todas as vendas:
SELECT * FROM vendas;
Selecionar o nome e o email dos clientes:
SELECT nome, email FROM clientes;
Selecionar o título e o autor dos livros:
SELECT titulo, autor FROM livros;
Selecionar a data e a quantidade das vendas:
SELECT data_venda, quantidade FROM vendas;
Selecionar os clientes que fizeram compras:
SELECT c.nome, v.data_venda
FROM clientes c
JOIN vendas v ON c.id = v.id_cliente;
Selecionar os livros vendidos junto com a quantidade:
SELECT l.titulo, v.quantidade
FROM livros l
JOIN vendas v ON l.id = v.id_livro;
Selecionar os clientes e os livros que compraram:
SELECT c.nome AS cliente, l.titulo AS livro
FROM clientes c
JOIN vendas v ON c.id = v.id_cliente
JOIN livros l ON v.id_livro = l.id;
Exclusão de registros nas tabelas (delete):
DELETE FROM clientes
WHERE id = 2;
DELETE FROM livros
WHERE id = 1;
DELETE FROM vendas
WHERE id = 2;