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: