MySQL Consulta INSERT INTO: Como adicionar linha na tabela (exemplo)

⚡ Resumo Inteligente

MySQL A consulta INSERT INTO adiciona novas linhas a uma tabela, seja especificando explicitamente as colunas de destino ou fornecendo um valor para cada coluna. O uso correto das aspas em strings, números e datas determina se os dados armazenados serão preservados intactos.

  • 📥 Sintaxe principal: INSERT INTO `nome_da_tabela`(coluna_1,coluna_2) VALUES (valor_1,valor_2) cria uma nova linha na tabela nomeada.
  • 🔤 Regra de citação: Valores de texto e data exigem aspas simples; valores numéricos são fornecidos sem aspas.
  • 0️⃣ Armadilha do Zero Principal: Um número de telefone sem aspas é lido como um número, portanto o zero inicial é omitido silenciosamente.
  • 🔀 Ordem das colunas: A ordem das colunas na consulta é irrelevante, desde que cada valor corresponda à sua coluna correspondente.
  • 🕳️ Colunas omitidas: As colunas omitidas da instrução recebem o valor NULL ou seu valor padrão declarado.
  • 📑 De mesa em mesa: INSERT INTO … SELECT copia linhas entre tabelas quando as estruturas das colunas se alinham.

O que é INSERIR EM?

INSERT INTO É utilizado para armazenar dados em tabelas. O comando INSERT cria uma nova linha na tabela para armazenar dados. Os dados geralmente são fornecidos por programas de aplicação que são executados sobre o banco de dados.

Sintaxe básica

Vejamos a sintaxe básica do INSERT INTO MySQL comando:

INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);

AQUI

  • INSERT INTO `table_name` é o comando que informa MySQL servidor para adicionar uma nova linha em uma tabela chamada `table_name.`
  • (coluna_1,coluna_2,…) especifica as colunas a serem atualizadas no novo MySQL linha
  • VALUES (valor_1, valor_2,…) especifica os valores a serem adicionados à nova linha

Ao fornecer os valores dos dados a serem inseridos na nova tabela, deve-se considerar o seguinte:

  • Tipos de dados de string – todos os valores de string devem ser colocados entre aspas simples.
  • Tipos de dados numéricos – todos os valores numéricos devem ser fornecidos diretamente, sem serem delimitados por aspas simples ou duplas.
  • Tipos de dados de data – coloque os valores de data entre aspas simples no formato 'AAAA-MM-DD'.

Inserindo várias linhas de uma só vez

Uma única instrução INSERT pode conter várias linhas. Separe cada conjunto de valores com uma vírgula. Uma única instrução é mais rápida do que várias, porque o índice é atualizado apenas uma vez.

INSERT INTO `categories`(`category_name`,`remarks`) VALUES
('Documentary', 'Factual films'),
('Musical', 'Song driven films');

MySQL Exemplo de consulta INSERT INTO

Suponha que temos a seguinte lista de novos membros da biblioteca que precisam ser adicionados ao banco de dados.

Nomes completos Data de nascimento gênero Endereço físico endereço postal Número de contato Email
Leonardo Hofstadter Masculino crista de madeira 0845738767
Sheldon Cooper Masculino crista de madeira 0976736763
Rajesh Koothrappali Masculino crista de madeira 0938867763
Leslie Winkle 14/02/1984 Masculino crista de madeira 0987636553
Howard Wolowitz 24/08/1981 Masculino Parque Sul Caixa postal 4563 0987786553 lwolowitz@email.me

Vamos INSERIR os dados uma linha por vez, começando com Leonard Hofstadter. Trataremos o número de contato como um tipo de dado numérico e não o colocaremos entre aspas simples.

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Leonard Hofstadter','Male','Woodcrest',0845738767);

A execução do script acima remove o 0 do número de contato de Leonard, porque o valor é tratado como numérico e um zero à esquerda não é significativo.

Para evitar esses problemas, o valor deve ser colocado entre aspas simples, como mostrado abaixo.

INSERT INTO `members` (`full_names`,`gender`,`physical_address`,`contact_number`) VALUES ('Sheldon Cooper','Male','Woodcrest', '0976736763');

⚠️ Dica: Armazene números de telefone, códigos postais e identificadores semelhantes em uma coluna de texto, como VARCHAR. Colunas numéricas não podem conter um zero à esquerda.

Alterar a ordem das colunas

Alterar a ordem das colunas não afeta a consulta INSERT em MySQL, desde que os valores corretos tenham sido mapeados para as colunas corretas. A consulta abaixo demonstra esse ponto.

INSERT INTO `members` (`contact_number`,`gender`,`full_names`,`physical_address`) VALUES ('0938867763','Male','Rajesh Koothrappali','Woodcrest');

As consultas acima ignoraram a coluna da data de nascimento. Por padrão, MySQL Insere valores NULL em colunas que foram omitidas da consulta INSERT.

Vamos agora inserir o registro de Leslie, que contém a data de nascimento. O valor da data deve estar entre aspas simples, no formato 'AAAA-MM-DD'.

INSERT INTO `members` (`full_names`,`date_of_birth`,`gender`,`physical_address`,`contact_number`) VALUES ('Leslie Winkle','1984-02-14','Male','Woodcrest', '0987636553');

Omitir a lista de colunas

Todas as consultas acima nomearam as colunas e as mapearam para valores. Se fornecermos valores para TODAS as colunas da tabela, a lista de colunas poderá ser omitida da consulta. MySQL inserir consulta.

INSERT INTO `members` VALUES (9,'Howard Wolowitz','Male','1981-08-24',
'SouthPark','P.O. Box 4563', '0987786553', 'lwolowitz@email.me');

Vamos agora usar o Instrução SELECT Para visualizar todas as linhas da tabela de membros.

SELECT * FROM `members`;
número de membro nomes completos gênero data de nascimento endereço físico endereço postal número_de contato E-mail
1 Janet Jones Feminino 21-07-1980 Lote da Primeira Rua nº 4 Mala Privada 0759 253 542 janetjones@yagoo.cm
2 Janete Smith Jones Feminino 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com
3 Robert Phil Masculino 12-07-1989 Rua 3 34 NULL 12345 rm@tstreet.com
4 Gloria Williams Feminino 14-02-1984 Rua 2 23 NULL NULL NULL
5 Leonardo Hofstadter Masculino NULL crista de madeira NULL 845738767 NULL
6 Sheldon Cooper Masculino NULL crista de madeira NULL 0976736763 NULL
7 Rajesh Koothrappali Masculino NULL crista de madeira NULL 0938867763 NULL
8 Leslie Winkle Masculino 14-02-1984 crista de madeira NULL 0987636553 NULL
9 Howard Wolowitz Masculino 24-08-1981 Parque Sul Caixa postal 4563 0987786553 lwolowitz@email.me

Observe que o número de contato de Leonard Hofstadter perdeu o zero inicial, exatamente como previsto. Os números citados mantêm o zero.

Inserindo em uma tabela de outra tabela

O comando INSERT também pode ser usado para inserir dados de outra tabela em uma tabela. A sintaxe básica é mostrada abaixo.

INSERT INTO table_1 SELECT * FROM table_2;

Agora vamos criar uma tabela fictícia para categorias de filmes, chamada categories_archive. O script abaixo cria a tabela.

CREATE TABLE `categories_archive` ( `category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`))

Execute o script acima para criar a tabela. Agora, vamos inserir todas as linhas da tabela de categorias na tabela de arquivo de categorias.

INSERT INTO `categories_archive` SELECT * FROM `categories`;

Para que esse script funcione, as estruturas das tabelas precisam ser idênticas. Um script mais robusto mapeia os nomes das colunas na tabela de destino para os nomes das colunas na tabela que contém os dados, como mostrado abaixo.

INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT category_id,category_name,remarks FROM `categories`;

A execução da consulta SELECT abaixo produz os seguintes resultados.

SELECT * FROM `categories_archive`;
Categoria ID category_name observações
1 Comédia Filmes com humor
2 Ensaio Romântico Histórias de amor
3 Épico Filmes antigos de história
4 Horror NULL
5 Ficção científica NULL
6 Suspense NULL
7 Ação NULL
8 Comédia romântica NULL
9 Cartoons NULL
10 Cartoons NULL

Exemplo de PHP: Inserir em MySQL mesa

A função mysqli_query é usada para executar SQL consultas do PHP. Executa instruções Insert, Select, Update e Delete, e possui a seguinte sintaxe.

mysqli_query($db_handle,$query);

AQUI,

  • “mysqli_query(…)” é a função que executa as consultas SQL.
  • “$query” é a consulta SQL a ser executada.
  • “$db_handle” é o link de conexão do servidor retornado por mysqli_connect.

Exemplo

$servername = "localhost";
$username = "alex";
$password = "yPXuPT";
$dbname = "afmznf";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "INSERT INTO addkeyworddata(link, keyword) VALUES ('https://www.guru99.com/','1000')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully" . '<br>';
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

Perguntas Frequentes

MySQL A entrada é rejeitada com um erro de entrada duplicada. Use INSERT IGNORE para ignorar a linha silenciosamente ou INSERT … ON DUPLICATE KEY UPDATE para atualizar a linha existente.

Execute SELECT LAST_INSERT_ID() imediatamente após a inserção, ou chame mysqli_insert_id($conn) em PHP. Isso retorna a chave AUTO_INCREMENT gerada para a última linha em sua conexão.

Nunca concatene a entrada do usuário na string de consulta. Use instruções preparadas com parâmetros vinculados, para que os valores sejam transmitidos separadamente do usuário. SQL e não podem ser executados como comandos.

Sim. Os assistentes de IA transformam planilhas ou descrições simples em instruções INSERT, e MySQL Workbench É possível executá-los. Verifique a ordem das colunas e as aspas, pois um modelo pode adivinhar o esquema.

Insira primeiro em uma cópia de desenvolvimento. Linhas geradas por IA podem quebrar chaves estrangeiras, exceder o comprimento das colunas ou inventar datas inválidas. Execute o lote em uma transação para que possa ser revertido.

Resuma esta postagem com: