Article image
Thais Garcia
Thais Garcia05/07/2024 12:41
Compartilhe

Comandos SQL Que Todo Desenvolvedor Deve Saber: Do SELECT ao Trigger

    SQL (Structured Query Language) é a linguagem padrão utilizada para gerenciar e manipular bancos de dados relacionais. Com SQL, é possível realizar diversas operações como inserir, atualizar, deletar e consultar dados. Ela é fundamental para desenvolvedores, analistas de dados e administradores de bancos de dados. A simplicidade e a eficácia do SQL fazem dela uma ferramenta indispensável no mundo da tecnologia.

    Principais comandos

    1. SELECT: Utilizado para consultar dados em um banco de dados. Exemplo: SELECT * FROM clientes; retorna todos os registros da tabela "clientes".

    2. INSERT: Usado para adicionar novos registros. Exemplo: INSERT INTO clientes (nome, idade) VALUES ('Ana', 30); insere um novo cliente chamado Ana com 30 anos.

    3. UPDATE: Atualiza dados existentes. Exemplo: UPDATE clientes SET idade = 31 WHERE nome = 'Ana'; altera a idade de Ana para 31.

    4. DELETE: Remove registros. Exemplo: DELETE FROM clientes WHERE nome = 'Ana'; apaga o registro da cliente Ana.

    O que mais é utilizado no dia a dia

    Além dos comandos principais, alguns outros são frequentemente utilizados no cotidiano dos desenvolvedores. CREATE TABLE cria novas tabelas, ALTER TABLE modifica a estrutura de uma tabela existente e DROP TABLE remove uma tabela. Comandos como WHERE para filtrar resultados e ORDER BY para ordenar os dados também são essenciais. Utilizar funções agregadas como COUNT, SUM, AVG, MIN, e MAX ajuda a realizar análises estatísticas rápidas e eficazes diretamente no banco de dados.

    Esses comandos formam a base do trabalho com SQL, permitindo a manipulação eficiente dos dados e a extração de insights valiosos. Dominar esses comandos é essencial para qualquer desenvolvedor que trabalhe com bancos de dados.

    image

    Tipos de JOIN

    1. INNER JOIN: Retorna apenas as linhas que têm correspondência em ambas as tabelas. Exemplo:

    SELECT * 
    FROM pedidos 
    INNER JOIN clientes 
    ON pedidos.cliente_id = clientes.id;
    

    Esse comando combina as tabelas "pedidos" e "clientes", retornando apenas os registros onde há uma correspondência em ambos os lados.

    2. LEFT JOIN (ou LEFT OUTER JOIN): Retorna todas as linhas da tabela à esquerda e as correspondências da tabela à direita. Se não houver correspondência, retorna NULL para a tabela à direita. Exemplo:

    SELECT * 
    FROM clientes 
    LEFT JOIN pedidos 
    ON clientes.id = pedidos.cliente_id;
    

    Aqui, todos os clientes serão retornados, juntamente com seus pedidos, se houver. Se um cliente não tiver pedido, ainda será listado com valores NULL para os campos de pedidos.

    3. RIGHT JOIN (ou RIGHT OUTER JOIN): Retorna todas as linhas da tabela à direita e as correspondências da tabela à esquerda. Se não houver correspondência, retorna NULL para a tabela à esquerda. Exemplo:

    SELECT * 
    FROM pedidos 
    RIGHT JOIN clientes 
    ON pedidos.cliente_id = clientes.id;
    

    Todos os pedidos serão retornados, junto com os dados dos clientes correspondentes. Se um pedido não tiver cliente correspondente, os campos de cliente serão NULL.

    4. FULL JOIN (ou FULL OUTER JOIN): Retorna todas as linhas quando há uma correspondência em uma das tabelas. Se não houver correspondência, retorna NULL para a tabela que não tiver dados. Exemplo:

    SELECT * 
    FROM clientes 
    FULL OUTER JOIN pedidos 
    ON clientes.id = pedidos.cliente_id;
    

    Este comando retorna todos os clientes e todos os pedidos, combinando onde há correspondências e usando NULL onde não há.

    image

    Trigger

    Um trigger é um procedimento armazenado que é automaticamente executado ou disparado quando certos eventos ocorrem em uma tabela ou vista. Triggers podem ser utilizados para manter a integridade dos dados, registrar alterações ou aplicar regras de negócio. Existem três tipos principais de triggers:

    1. AFTER: Executa a ação após o evento (INSERT, UPDATE, DELETE) ocorrer. Exemplo:

    CREATE TRIGGER after_pedido_insert
    AFTER INSERT ON pedidos
    FOR EACH ROW
    BEGIN
      INSERT INTO log_pedidos (pedido_id, acao, data) 
      VALUES (NEW.id, 'INSERT', NOW());
    END;
    

    Este trigger insere um registro na tabela "log_pedidos" após um novo pedido ser adicionado à tabela "pedidos".

    2. BEFORE: Executa a ação antes do evento (INSERT, UPDATE, DELETE) ocorrer. Exemplo:

    CREATE TRIGGER before_cliente_update
    BEFORE UPDATE ON clientes
    FOR EACH ROW
    BEGIN
      SET NEW.data_atualizacao = NOW();
    END;
    

    Este trigger atualiza o campo "data_atualizacao" antes de qualquer modificação ser feita na tabela "clientes".

    3. INSTEAD OF: Executa a ação em vez do evento (geralmente usado em vistas). Exemplo:

    CREATE TRIGGER instead_of_delete
    INSTEAD OF DELETE ON minha_vista
    FOR EACH ROW
    BEGIN
      DELETE FROM tabela_real WHERE id = OLD.id;
    END;
    

    Este trigger executa a ação de deletar na "tabela_real" ao invés da "minha_vista" quando uma operação de DELETE é solicitada na vista.

    Triggers são ferramentas poderosas para automatizar ações e garantir que as regras de negócio sejam seguidas no banco de dados.

    Conclusão

    Dominar os comandos SQL fundamentais e entender o uso de triggers é essencial para qualquer desenvolvedor que trabalhe com bancos de dados. A habilidade de manipular dados de forma eficiente e aplicar automações através de triggers não só otimiza o desenvolvimento de sistemas, mas também garante a integridade e segurança dos dados.

    Compartilhe
    Comentários (0)