
O SQL, ou Structured Query Language, é a linguagem padrão para gerenciamento de bancos de dados relacionais.
Entre suas funcionalidades essenciais, a inserção de dados em SQL desempenha um papel crucial na construção e atualização de informações.
Este guia completo abordará desde os conceitos básicos até técnicas avançadas de inserção de dados em SQL, tudo de forma clara e detalhada para facilitar o entendimento.
Sumário do Artigo
Seria possível ter um Banco de Dados sem inserção?
A resposta para essa pergunta depende do ponto de vista.
Existem sistemas que operam apenas para consultas; ou seja, podemos utilizar um determinado programa sem inserir dados.
Por trás das cortinas, o comando SELECT (consulta de dados) é utilizado, mas é provável que esses dados tenham sido incluídos em algum momento.
Nesse sentido, a inserção de dados é um passo fundamental para o funcionamento de um Banco de Dados, mesmo para sistemas que são apenas de consulta.
Confira também:
Entendendo os Elementos Fundamentais(Inserção de Dados em SQL)
Antes de mergulhar nos detalhes da inserção de dados em SQL, é importante conhecer os elementos fundamentais que compõem uma instrução de inserção:
- INSERT INTO: Esta palavra-chave marca o início da instrução e indica que dados serão inseridos em uma tabela específica.
- Nome da Tabela: Indica a tabela onde os novos registros serão inseridos. por exemplo se a regra de negocio precisa de uma tabela para armazenar clientes a tabela receberá o nome Clientes.
- Colunas (Opcional): Permite especificar as colunas onde os valores serão inseridos. Se omitido, os valores serão inseridos em todas as colunas da tabela.
- VALUES: Introduz os valores a serem inseridos nos registros.
- Valores: Representa os valores a serem inseridos em cada coluna, separados por vírgula e compatíveis com o tipo de dado da coluna correspondente.
Inserindo Registros um a um: Simplicidade em Foco
A forma mais básica da inserção de dados em SQL é inserir um único registro por vez.
A sintaxe é direta:
INSERT INTO nome_tabela (coluna1, coluna2, ...) VALUES (valor1, valor2, ...);
Exemplo:
INSERT INTO Clientes (nome, email, cidade) VALUES ("João Silva", "joaosilva@email.com", "São Paulo");
Neste exemplo, um novo registro é inserido na tabela Clientes com os valores correspondentes nome, e-mail e cidade.
Inserindo Múltiplos Registros: Eficiência em Alta Voltagem
E quando você precisa inserir um numero maior de dados em uma única inserção é um senário bem comum, então vamos ver com os comandos se posicionam para realizar este tipo de inserção.
Para inserir vários registros de uma vez, a estrutura básica é repetida:
INSERT INTO nome_tabela (coluna1, coluna2, ...) VALUES (valor11, valor12, ...), (valor21, valor22, ...), ...;
Exemplo:
INSERT INTO Clientes (nome, email, cidade) VALUES ("João Silva", "joaosilva@email.com", "São Paulo"), ("Maria Oliveira", "mariaoliveira@email.com", "Rio de Janeiro"), ("Pedro Souza", "pedrosouza@email.com", "Belo Horizonte");
Com esta abordagem, múltiplos registros são inseridos na tabela Clientes de uma só vez.
Inserindo Seleções de Dados: Reutilização Inteligente
Uma abordagem muito útil, porém não tão explorada, é a inserção de dados em uma tabela a partir de uma consulta com dados de outra tabela equivalente. Complicado? Fique tranquilo, é bem simples.
Inserindo dados selecionados de outras consultas:
INSERT INTO nome_tabela_destino (coluna1, coluna2, ...) SELECT coluna1, coluna2, ... FROM nome_tabela_origem WHERE ...;
Por exemplo, selecionamos nomes e e-mails dos clientes da tabela ‘Vendas’ e inserimos esses dados na tabela ‘Clientes’:
INSERT INTO Clientes (nome, email) SELECT nome, email FROM Vendas;
Neste exemplo, os dados da tabela Vendas são inseridos na tabela Clientes conforme a seleção realizada.
Interessante, não é? Essa abordagem é útil quando você deseja copiar dados de uma tabela para outra com base em determinados critérios, como condições de filtragem ou transformações nos dados.
Inserindo Dados com Funções e Expressões: Expandindo Horizontes
O SQL também pode inserir dados utilizando funções e expressões. Essa abordagem é mais comum em consultas SQL com o famoso SELECT, mas na inserção também é possível. Vamos entender como funciona.
Para inserir dados utilizando funções e expressões, você pode usar a seguinte sintaxe:
INSERT INTO nome_tabela (coluna1, coluna2, ...) VALUES (funcao(valor1), expressao(valor2, valor3), ...);
Vamos supor que a tabela produtos tenha as seguintes colunas: id_produto, nome, preco, quantidade.
Aqui está um exemplo de como você poderia usar essa abordagem:
-- Suponha que você queira inserir um novo produto chamado 'Camiseta' com um preço de R$ 29,99 e 100 unidades disponíveis.
INSERT INTO produtos (nome, preco, quantidade) VALUES ('Camiseta', ROUND(29.99, 2), 100);
Nesse exemplo, a função ROUND(29.99, 2) é usada para arredondar o preço para duas casas decimais antes de inseri-lo na tabela produtos. A função ROUND garante que o preço seja armazenado com precisão adequada.
Além disso, você pode usar expressões mais complexas para calcular os valores a serem inseridos. Por exemplo:
-- Suponha que você queira inserir um novo produto chamado 'Calça' com um desconto de 10% sobre o preço de R$ 59,99 e 50 unidades disponíveis.
INSERT INTO produtos (nome, preco, quantidade) VALUES ('Calça', 59.99 * 0.9, 50);
Neste caso, a expressão 59.99 * 0.9 é usada para aplicar um desconto de 10% ao preço antes de inseri-lo na tabela produtos.
Essa abordagem é útil quando você precisa realizar cálculos ou manipulações nos valores antes de inseri-los em uma tabela.
Conclusão: Inserção de Dados em SQL
Este guia abrangente oferece uma visão detalhada das diversas formas de inserção de dados em SQL, desde a inserção simples até técnicas avançadas com seleções de dados e o uso de funções e expressões.
Com esse conhecimento, você estará preparado para dominar a arte da inserção de dados com maestria no SQL. Pratique para se aperfeiçoar cada vez mais.