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.

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 | |
|---|---|---|---|---|---|---|
| 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 | |
|---|---|---|---|---|---|---|---|
| 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); }
