Como inserir dados em uma tabela do MySQL

Olá pessoal, tudo bem por aí? Hoje vamos ver Como inserir dados em uma tabela do MySQL de uma forma bem fácil.
Aqui vamos usar a linha de comando, mas você pode estar usando alguma interface GUI para acessar seu MySQL sem problema algum!

Entendendo a Tabela

Bom, antes de mais nada, precisamos saber qual a estrutura da tabela que vamos querer inserir os dados.

Aqui no meu MySQL eu tenho um banco pra minha prática! Ai no seu cenário, se você quiser explorar um pouco mais sobre os bancos de dados e as tabelas, você pode usar o show databases e o show tables para isso, veja:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| classicmodels      |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

mysql> show tables;
+-------------------------+
| Tables_in_classicmodels |
+-------------------------+
| customers               |
| employees               |
| offices                 |
| orderdetails            |
| orders                  |
| payments                |
| productlines            |
| products                |
+-------------------------+

Aqui nesse exemplo, vamos usar a tabela offices, mas para inserir os dados eu preciso descobrir quais colunas essa tabela contém. Para isso usamos o show create table offices, veja?:

mysql> show create table offices;
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                      |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| offices | CREATE TABLE `offices` (
  `officeCode` varchar(10) NOT NULL,
  `city` varchar(50) NOT NULL,
  `phone` varchar(50) NOT NULL,
  `addressLine1` varchar(50) NOT NULL,
  `addressLine2` varchar(50) DEFAULT NULL,
  `state` varchar(50) DEFAULT NULL,
  `country` varchar(50) NOT NULL,
  `postalCode` varchar(15) NOT NULL,
  `territory` varchar(10) NOT NULL,
  PRIMARY KEY (`officeCode`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Agora vamos analisar nossas colunas. A primeira coisa que conseguimos reparar é que o campo officeCode, que é a chave primária dessa tabela é configurado como AutoIncrement, então vamos ter que passar um valor para esse campo. Quando a coluna estiver setada como AutoIncrement, o MySQL gerencia o dado que vai ser inserido ali, normalmente é um INT de valor incremental único.

Montando o Insert

Sabendo disso vamos verificar os registros dessa tabela para pegar o último valor do campo officeCode, caso contrário vamos receber um erro parecido com “ERROR 1062 (23000): Duplicate entry ‘2’ for key ‘offices.PRIMARY'”, veja:

mysql> select officeCode from offices order by officeCode desc limit 1;
+------------+
| officeCode |
+------------+
| 7          |
+------------+

O que eu faço no comando acima é selecionar o campo officeCode, ordená-lo por decrescente e limita-lo para exibir um único registro. Assim o único valor que aparecerá é o id que precisamos, então no nosso insert sabemos que o valor do officeCode será 8.

No mais nossa análise é voltada para o tipo de dado de cada campo, e uma coisa que consigo notar é que o campo “addressLine2” não é obrigatório, pois ele não tem explicitado o “NOT NULL”, isso quer dizer que ele pode ser vazio, sabendo isso podemos montar nosso insert, veja:

insert into offices(officeCode, city, phone, addressLine1, state, country, postalCode, territory) values(8, "Florianópolis", "33333333", "Av João Marcio José 2075", "SC", "Brasil", "885522555", "BR")

Conclusão

Antes de finalizar vamos conferir os dados que inserimos no MySQL, veja:

mysql> select * from offices where officeCode=8\G
*************************** 1. row ***************************
  officeCode: 8
        city: Florianópolis
       phone: 33333333
addressLine1: Av João Marcio José 2075
addressLine2: NULL
       state: SC
     country: Brasil
  postalCode: 885522555
   territory: BR
1 row in set (0.00 sec)

Bom pessoal, espero que você tenha entendido Como inserir dados em uma tabela do MySQL. Caso fique alguma dúvida ou você precise de algum outro tutorial me avise, teremos o prazer de te ajudar.

Você pode gostar também: Como Restaurar Backups do MySQL de forma mais rápida

Deixe um comentário

O seu endereço de e-mail não será publicado.