CRUD é um acrônimo que representa as quatro operações básicas que podemos realizar em um banco de dados:
Essas operações formam a base de qualquer sistema que trabalha com dados persistentes.
Antes de começarmos, vamos criar uma tabela de exemplo para praticar:
-- Criando um banco de dados
CREATE DATABASE loja;
USE loja;
-- Criando uma tabela de produtos
CREATE TABLE produtos (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
preco DECIMAL(10,2) NOT NULL,
categoria VARCHAR(50),
estoque INT DEFAULT 0,
data_cadastro TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Smartphone Samsung Galaxy S23', 3999.90, 'Celulares', 15);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Notebook Dell Inspiron 15', 4599.00, 'Informática', 10);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Mouse Logitech M170 Wireless', 89.99, 'Periféricos', 50);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Teclado Mecânico Redragon Kumara', 229.90, 'Periféricos', 30);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Monitor LG 24" Full HD', 749.00, 'Monitores', 20);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Fone de Ouvido JBL Tune 510BT', 249.90, 'Acessórios', 35);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Smartwatch Xiaomi Mi Band 8', 299.00, 'Wearables', 40);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('HD Externo Seagate 1TB', 299.90, 'Armazenamento', 25);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('SSD Kingston 480GB', 279.00, 'Armazenamento', 18);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Carregador Turbo USB-C 25W Samsung', 119.90, 'Acessórios', 45);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Tablet Samsung Galaxy Tab A8', 1399.00, 'Tablets', 12);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Webcam Logitech C920 Full HD', 379.00, 'Periféricos', 22);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Impressora HP DeskJet Ink Advantage', 399.90, 'Impressoras', 14);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Pen Drive Sandisk 64GB USB 3.0', 49.90, 'Armazenamento', 60);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Roteador TP-Link Archer C6 AC1200', 189.90, 'Redes', 28);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Placa de Vídeo NVIDIA GeForce RTX 3060', 1899.00, 'Hardware', 5);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Processador AMD Ryzen 5 5600G', 899.00, 'Hardware', 8);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Memória RAM Corsair Vengeance 16GB DDR4', 399.90, 'Hardware', 12);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Cooler Gamer DeepCool GAMMAXX', 149.00, 'Refrigeração', 20);
INSERT INTO produtos (nome, preco, categoria, estoque) VALUES ('Fonte Corsair 650W 80 Plus Bronze', 449.90, 'Hardware', 10);
A operação CREATE utiliza o comando INSERT
para adicionar novos registros à tabela.
INSERT INTO nome_tabela (coluna1, coluna2, coluna3)
VALUES (valor1, valor2, valor3);
Como mencionado, o SELECT terá uma aula dedicada, mas vamos ver o básico:
SELECT * FROM tabela;
O comando UPDATE
modifica registros existentes na tabela.