Com o comando INSERT INTO no MariaDB, você insere novos registros em uma tabela existente. Ele é um dos comandos básicos mais importantes do SQL e é usado sempre que você deseja adicionar novos dados ou ampliar informações já existentes em um banco de dados.

O que é o comando INSERT INTO no MariaDB?

O comando INSERT no MariaDB insere novos dados em uma tabela. Ele completa estruturas de dados existentes adicionando linhas inteiras. Sempre que usuários se registram, enviam um formulário ou cadastram um produto, o sistema executa um INSERT INTO em segundo plano.

O MariaDB verifica, ao inserir os dados, se os valores correspondem aos tipos das colunas e se todos os campos obrigatórios foram preenchidos. Caso os valores violem restrições como NOT NULL, UNIQUE ou referências definidas por FOREIGN KEY, o banco de dados rejeita a operação. Por isso, a estrutura da tabela destino e a correta indicação das colunas são essenciais para o uso adequado do INSERT.

Sintaxe do INSERT INTO no MariaDB

A sintaxe padrão do comando INSERT INTO no MariaDB é:

INSERT INTO nome_da_tabela (coluna1, coluna2, coluna3)
VALUES (valor1, valor2, valor3);
sql
  • nome_da_tabela define a tabela onde os dados serão inseridos.
  • A lista de colunas (coluna1, coluna2 etc.) é opcional, mas recomendada.
  • VALUES contém os valores a serem inseridos nas colunas indicadas.

O MariaDB insere os valores na ordem em que as colunas foram definidas. Se a quantidade ou a ordem dos valores não corresponder à lista de colunas, ocorrerá um erro.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Parâmetros e argumentos do INSERT INTO no MariaDB

O comando INSERT INTO no MariaDB pode ser estendido e adaptado conforme a necessidade. Aqui estão os parâmetros e variações mais importantes:

Listar colunas

Você pode especificar todas as colunas ou apenas algumas. Se a lista for omitida, o MariaDB espera valores para todas as colunas da tabela.

INSERT INTO usuários VALUES (1, 'Anna', 'anna@exemplo.com');
sql

Se quiser preencher apenas colunas específicas, use o comando a seguir:

INSERT INTO usuários (nome, e-mail) VALUES ('Anna', 'anna@exemplo.com');
sql

Aqui, escolhemos as colunas nome e e-mail.

Inserir várias linhas

Essa variação é mais eficiente do que a execução de vários comandos INSERT individuais no MariaDB, especialmente ao lidar com grandes volumes de dados:

INSERT INTO produtos (nome, preço)
VALUES ('caneta', 1.50),
    ('bloco de notas', 2.00),
    ('sacola', 9.90);
sql

Comando INSERT IGNORE

Com IGNORE, o MariaDB ignora as linhas que violam restrições e continua com as demais.

INSERT IGNORE INTO usuários (id, nome) VALUES (1, 'Anna');
sql

Comando INSERT ... ON DUPLICATE KEY UPDATE

Essa expressão atualiza linhas existentes quando há conflito com uma chave única:

INSERT INTO usuários (id, nome)
VALUES (1, 'Anna')
ON DUPLICATE KEY UPDATE nome = 'Anna';
sql

A técnica evita consultas adicionais e permite combinar lógica de inserção e atualização em um único comando. Isso é muito prático em importações, dados sincronizados ou processos automatizados de registro.

Inserir com SELECT

Com SELECT, você copia registros de uma tabela para outra:

INSERT INTO arquivar_pedidos (id, status)
SELECT id, status FROM pedidos WHERE status = 'concluído';
sql

Exemplos de uso do INSERT INTO no MariaDB

A seguir, apresentamos cenários comuns de uso do INSERT INTO.

Registrar usuário

No exemplo a seguir, o MariaDB insere um novo usuário na tabela usuários. Os valores para as colunas nome e e-mail vêm de um formulário ou aplicação. O valor NOW() obtém o carimbo de data/hora atual, ou seja, o momento do registro.

INSERT INTO usuários (nome, e-mail, criado_em)
VALUES ('Lena', 'lena@exemplo.com', NOW());
sql

Esse método é adequado para formulários clássicos da web, como telas de cadastro, nas quais cada entrada é registrada diretamente no banco de dados. É importante que a coluna criado_em seja do tipo DATETIME ou TIMESTAMP para que NOW() seja armazenado corretamente.

Inserir dados de outra tabela

Este exemplo mostra como transferir dados existentes de uma tabela (pedidos) para outra tabela (arquivar_pedidos). O MariaDB seleciona todos os pedidos com o status 'concluído' e transfere as colunas id e status.

INSERT INTO arquivar_pedidos (id, status)
SELECT id, status FROM pedidos WHERE status = 'concluído';
sql

Esse tipo de comando é usado em arquivamentos, limpezas de dados ou geração de relatórios. Verifique se a estrutura (como os tipos de colunas) das tabelas de origem e de destino é compatível, caso contrário o MariaDB não executará o comando.

Este artigo foi útil?
Ir para o menu principal