1. Introdução ao CRUD

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.

2. Preparação do Ambiente

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);

3. CREATE - Inserindo Dados (INSERT)

A operação CREATE utiliza o comando INSERT para adicionar novos registros à tabela.

Sintaxe Básica:

INSERT INTO nome_tabela (coluna1, coluna2, coluna3)
VALUES (valor1, valor2, valor3);

4. READ - Consultando Dados (SELECT)

Como mencionado, o SELECT terá uma aula dedicada, mas vamos ver o básico:

SELECT * FROM tabela;

5. UPDATE - Atualizando Dados

O comando UPDATE modifica registros existentes na tabela.

Sintaxe Básica: