mysql insert into table insert statement syntax examples
Este tutorial explica a instrução da tabela MYSQL INSERT INTO junto com a sintaxe de consulta e exemplos. Além disso, aprenda diferentes variações do comando de inserção MYSQL:
No MySQL, o comando INSERT é usado para adicionar dados à tabela. Usando este comando, podemos inserir dados em uma ou mais de uma linha em uma única transação. Além disso, os dados podem ser adicionados a uma ou mais de uma tabela em uma única transação.
Veremos tudo isso nas próximas seções. Antes de prosseguir, observe que estamos usando o MySQL versão 8.0. Você pode baixá-lo de aqui .
O que você aprenderá:
- Sintaxe do comando MySQL INSERT
- Variações da instrução INSERT do MySQL
- Perguntas e respostas mais frequentes
- Conclusão
Sintaxe do comando MySQL INSERT
INSERT (LOW_PRIORITY|DELAYED|HIGH_PRIORITY)(IGNORE) INTO tablename (column1, column2, column3...) VALUES (value1, value2, value3, ....);
Explicação da sintaxe:
- A sintaxe inicia com a palavra-chave “INSERT INTO”, informando assim o servidor MySQL sobre o tipo de atividade a ser realizada. Esta é uma palavra-chave obrigatória e não pode ser omitida.
- Em seguida, vem o nome da tabela na qual a ação de inserção deve ser executada. Isso é obrigatório e não pode ser omitido.
- A seguir, estarão os nomes das colunas a serem inseridas junto com seus valores correspondentes. Novamente, isso também é obrigatório e não pode ser omitido.
- Em seguida, será a cláusula de valores. Nesta cláusula, deve-se fornecer o valor para cada coluna que estamos inserindo na tabela. A sequência de valores e a sequência de nomes de coluna devem estar sincronizadas.
- O número e os tipos de dados das colunas devem ser iguais aos dos valores.
Modificadores na instrução INSERT
- BAIXA PRIORIDADE: Este modificador informa o MySQL Engine para atrasar a execução da instrução INSERT até um momento em que não haja conexões com a leitura da tabela que estamos tentando INSERT. Isso ajuda a obter consistência em todas as outras operações que serão executadas nessa tabela.
- PRIORIDADE MÁXIMA: Este modificador informa o MySQL Engine para dar alta prioridade à instrução INSERT sobre qualquer outra instrução / transação que está sendo executado na mesa.
- IGNORAR: Este modificador informa ao MySQL Engine para ignorar quaisquer erros que possam surgir devido à execução da instrução INSERT. Quaisquer erros que surgirem seriam tratados como meros avisos e a inserção de registros na tabela continuaria sem obstáculos.
- ATRASADO: Esta é a extensão do MySQL para SQL padrão. Quando INSERT DELAYED é emitido pelo usuário, o servidor enfileira todas as linhas e os dados são inseridos na tabela posteriormente, quando a tabela não estiver em uso por nenhuma outra transação.
Exemplo de INSERT do MySQL
A seguir está uma tabela de amostra criada em MySQL.
Nome do esquema: pacífico
Nome da tabela: funcionários
Nomes de coluna:
- empNum - contém valores inteiros para o número do funcionário.
- lastName - contém valores varchar para o sobrenome do funcionário.
- firstName - contém valores varchar para o nome do funcionário.
- email - contém valores varchar para o ID de email do funcionário.
- deptNum - retém varchar para o ID do departamento ao qual um funcionário pertence.
- salário - contém os valores decimais do salário de cada funcionário.
- start_date - retém valores de data para a data de adesão do funcionário.
Nome do esquema: pacífico
Nome da tabela: funcionários_história
Nomes de coluna:
- empNum - contém valores inteiros para o número do funcionário.
- lastName - contém valores varchar para o sobrenome do funcionário.
- firstName - contém valores varchar para o nome do funcionário.
- email - contém valores varchar para o ID de email do funcionário.
- deptNum - retém varchar para o ID do departamento ao qual um funcionário pertence.
- salário - contém os valores decimais do salário de cada funcionário.
- start_date - retém valores de data para a data de adesão do funcionário.
Variações da instrução INSERT do MySQL
# 1) MySQL insira uma única linha
Primeiro, veremos um cenário onde especificamos os nomes das colunas e os valores a serem inseridos usando a palavra-chave INSERT INTO.
Por exemplo, Aqui, tentaremos inserir um novo funcionário. Adicionaremos o número do funcionário, nome e sobrenome, junto com isso também atualizaremos o ID do e-mail, salário e ID do departamento ao qual o novo funcionário deve pertencer.
A consulta e os resultados correspondentes são os seguintes:
Conforme ilustrado na imagem acima, a instrução INSERT foi executada com sucesso e inseriu uma linha na tabela do funcionário.
A instrução de saída abaixo mostra a hora em que a instrução foi executada, a instrução MySQL que foi executada e o número de linhas que foram afetadas.
Observe aqui, que o valor de cada coluna seja mencionado na mesma ordem dos nomes das colunas. Além disso, observe que a coluna com o tipo de dados inteiro / decimal não está entre vírgulas invertidas, no entanto, os tipos de coluna com tipo de dados varchar / char foram colocados entre vírgulas invertidas.
A fim de verificar a saída desta instrução INSERT, vamos executar a instrução SELECT nesta tabela com o empNum como 1012.
Consulta:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES ( 1012, 'Luther', 'Martin', 'ml@gmail.com', 3, 13000 ) ;
Instantâneo da tabela após:
empNum | sobrenome | primeiro nome | o email | deptNum | Salário | |
---|---|---|---|---|---|---|
1007 | Schmitt | James | js@gmail.com | 4 | 21780 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 |
# 2) MySQL Inserindo Dados Apenas na Coluna Especificada
A seguir, é outra maneira de inserir dados em uma tabela, mas inserindo registros apenas nas colunas obrigatórias e não em todas as colunas. No entanto, observe que não podemos omitir as colunas principais neste cenário. No caso da tabela do nosso funcionário, a coluna-chave é a coluna empNum. Vamos experimentar.
Por exemplo, Vamos inserir um novo registro na tabela de funcionários com dados apenas em empNum, lastName, firstName. Não atribuiremos qualquer ID de e-mail, departamento ou salário para este funcionário.
A seguir está a consulta e seu resultado:
Conforme ilustrado na imagem acima, a instrução insert foi executada com sucesso e inseriu uma linha na tabela do funcionário.
ferramentas de otimização de pc grátis windows 10
Observe, que para inserir apenas as colunas selecionadas, as colunas que ignoramos devem ser declaradas NULL ou devem ter algum valor padrão que seria preenchido no caso de a coluna ser ignorada. Se esta condição não for satisfeita, a instrução insert falhará.
Vamos verificar a execução da instrução INSERT acima, executando uma instrução SELECT para empNum = 1013.
Consulta:
INSERT INTO employees ( empNum, lastName, firstName ) VALUES ( 1013, 'Nolan', 'Chris' ) ;
Instantâneo da tabela após:
empNum | sobrenome | primeiro nome | o email | deptNum | Salário |
---|---|---|---|---|---|
1013 | Nolan | Chris | NULO | NULO | NULO |
# 3) MySQL inserir várias linhas
A seguir, examinaremos o cenário em que temos que inserir várias linhas na tabela com a mesma instrução INSERT.
Por exemplo, neste caso, precisamos mencionar os nomes das colunas apenas uma vez, mas podemos repetir os valores para essas colunas quantas vezes forem necessárias.
A seguir está a consulta junto com os resultados associados a ela:
Conforme ilustrado na imagem acima, a execução da declaração foi bem-sucedida.
Observe a parte da mensagem, que afirma que 3 linhas foram afetadas, o que implica que essa única instrução INSERT inseriu 3 registros com a execução dessa instrução INSERT.
Leitura adicional = >> Tutorial de instrução If do MySQL
Vamos verificar a saída de nossa instrução INSERT executando a instrução SELECT para os novos IDs de funcionário 1014, 1015 e 1016.
Os detalhes são os seguintes:
Consulta:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary ) VALUES (1014, 'Murray', 'Keith', 'km@gmail.com', 1, 25000), (1015, 'Branson', 'John', 'jb@gmail.com', 2, 15000), (1016, 'Martin', 'Richard', 'rm@gmail.com', 4, 5000) ;
Instantâneo da tabela após:
empNum | sobrenome | primeiro nome | o email | deptNum | Salário |
---|---|---|---|---|---|
1014 | Murray | Keith | km@gmail.com | 1 | 25000 |
1015 | Branson | John | jb@gmail.com | dois | 15000 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 |
# 4) Data de inserção do MySQL
A seguir, vamos percorrer o cenário em que temos que inserir valores na coluna de data.
Por exemplo, Inserir valores na coluna de data pode ser complicado. A data no MySQL pode ser adicionada ao formato ‘AAAA-MM-DD’. Para conseguir isso, vamos adicionar uma coluna start_date com o valor padrão como ‘0001-01-01’.
Isso implica que todos os registros existentes na tabela do funcionário com start_date serão atualizados como ‘0001-01-01’. A instrução alter será a seguinte.
Consulta:
ALTER TABLE employees ADD start_date DATE default '0001-01-01' ;
Vamos verificar a saída da consulta acima executando uma instrução SELECT simples na tabela:
Portanto, adicionamos uma nova coluna de data com tipo de dados como 'DATA' com o valor padrão como '0001-01-01'. Agora vamos inserir dois novos registros de funcionários, um com a data atual e outro com uma data específica.
melhor verificação e reparo de computador grátis
A seguir estão as consultas junto com os detalhes:
Conforme mostrado na imagem acima, usamos o recurso de inserir várias linhas na tabela, conforme explicado na seção anterior.
O primeiro registro foi inserido com a função CURRENT_DATE (). Esta função retorna a data atual do sistema. O segundo registro foi inserido com uma data específica no formato ‘AAAA-MM-DD’.
A seguir, verificaremos a saída de nossa instrução INSERT com uma instrução SELECT para empNum 1017 e 1018.
O primeiro registro, com empNum = 1017, tem start_date igual à data atual, que é 25ºNovembro de 2019 (neste caso, a data em que este tutorial foi escrito) no formato ‘AAAA-MM-DD’.
Consulta:
INSERT INTO employees ( empNum, lastName, firstName, email, deptNum, salary, start_date ) VALUES (1017, 'Johnson', 'Eve', 'ej@gmail.com', 3, 5500, CURRENT_DATE()), (1018, 'Bond', 'Nolan', 'nb@gmail.com', 2, 15000, '2019-09-13') ;
Instantâneo da tabela após:
empNum | sobrenome | primeiro nome | o email | deptNum | Salário | Data de início |
---|---|---|---|---|---|---|
1017 | Johnson | véspera | ej@gmail.com | 3 | 5500 | 25-11-2019 00:00:00 |
1018 | Ligação | Nolan | nb@gmail.com | dois | 15000 | 13/09/2019 00:00:00 |
# 5) Inserir MySQL em uma tabela de outra tabela
A seguir, vamos percorrer o cenário em que temos que inserir dados em uma nova tabela a partir de uma tabela existente.
Por exemplo, Considere um cenário onde temos que mover dados periodicamente de nossa tabela existente para um histórico ou tabela de arquivo. Para conseguir isso, vamos criar uma nova tabela employee_history.
Nossa tarefa é mover os dados da tabela employee para a tabela employee_history.
A instrução CREATE é a seguinte:
Consulta:
CREATE TABLE employees_history LIKE employees ;
Vamos verificar a saída da consulta acima executando uma instrução DESC simples na nova tabela que nos dará a estrutura da tabela da nova tabela:
Então, criamos uma nova tabela. Agora vamos carregar os dados para esta nova tabela da tabela do funcionário.
=> Saiba mais sobre MySQL CRIAR COMANDO DE TABELA .
A seguir estão a consulta e seus detalhes:
Conforme mostrado na figura acima, a inserção dos dados na nova tabela da tabela existente foi bem-sucedida.
Observe a coluna da mensagem na guia de saída. Diz 18 linhas afetadas. Isso significa que todas as 18 linhas da tabela existente foram copiadas para a tabela workers_history recém-criada.
A seguir, verificaremos a saída de nossa instrução INSERT com uma instrução SELECT na tabela workers_history.
A imagem acima mostra todas as linhas copiadas da tabela do funcionário na tabela workers_history.
A imagem acima mostra todas as linhas copiadas da tabela workers na tabela workers_history.
Consulta:
INSERT INTO employees_history ( empNum, lastName, firstName, email, deptNum, salary, start_date ) SELECT empNum, lastName, firstName, email, deptNum, salary, start_date FROM employees ;
Instantâneo da tabela após:
empNum | sobrenome | primeiro nome | o email | deptNum | Salário | Data de início |
---|---|---|---|---|---|---|
1001 | Andrews | Jack | ja@gmail.com | 1 | 3182,7 | 0001-01-01 |
1002 | Schwatz | Mike | ms@gmail.com | 1 | 5304,5 | 0001-01-01 |
1003 | Langley | Margaret | margaret.langley@gmail.com | dois | 8820 | 0001-01-01 |
1004 | Harera | Sandra | sh@gmail.com | 1 | 10609 | 0001-01-01 |
1005 | leitura | Peter | pl@gmail.com | dois | 14333 | 0001-01-01 |
1006 | Keith | Jenny | jk@gmail.com | dois | 16538 | 0001-01-01 |
1008 | Bailey | Oliver | oliver.bailey@gmail.com | 3 | 24494 | 0001-01-01 |
1009 | xícara | atormentar | hb@gmail.com | 5 | 30646 | 0001-01-01 |
1010 | Armstrong | Jacob | jacob.armstrong@gmail.com | 4 | 32670 | 0001-01-01 |
1011 | Hanks | Tom | th@gmail.com | NULO | 10100 | 0001-01-01 |
1012 | Luther | Martin | ml@gmail.com | 3 | 13000 | 0001-01-01 |
1013 | Nolan | Chris | NULO | NULO | NULO | 0001-01-01 |
1014 | Murray | Keith | km@gmail.com | 1 | 25000 | 0001-01-01 |
1015 | Branson | John | jb@gmail.com | dois | 15000 | 0001-01-01 |
1016 | Martin | Richard | rm@gmail.com | 4 | 5000 | 0001-01-01 |
1017 | Johnson | véspera | ej@gmail.com | 3 | 5500 | 25-11-2019 00:00:00 |
1018 | Ligação | Nolan | nb@gmail.com | dois | 15000 | 13/09/2019 00:00:00 |
Perguntas e respostas mais frequentes
P # 1) Como você insere dados na tabela no MySQL?
Responda: Para inserir dados em uma tabela MySQL, o MySQL nos fornece uma palavra-chave importante “INSERT INTO”. Isso é seguido pelo nome da tabela, lista de colunas e lista de valores correspondentes que precisam ser inseridos. Podemos usar esta palavra-chave para inserir uma ou mais colunas na mesma transação.
Q # 2) Explique a cláusula “INSERT IGNORE INTO”.
Responda: Quando tentamos inserir mais de uma linha em uma única instrução INSERT, pode ser possível que a execução falhe devido a dados inválidos para qualquer linha em particular. Isso fará com que a transação pare e seja revertida para o commit anterior.
Para evitar tais cenários, “INSERT IGNORE INTO” é usado. Esta cláusula ignora o erro que causa registros inválidos e insere apenas registros válidos para que a transação não seja interrompida. Isso é útil quando você precisa fazer inserções em massa e não pode se dar ao luxo de refazê-lo para nenhum dado inválido para uma linha.
P # 3) Como faço para atualizar os atributos no MySQL?
como abrir arquivos eps no windows 10
Responda: Podemos atualizar atributo (s) usando a instrução MySQL Update, com a instrução começando com a palavra-chave UPDATE seguida pelo nome da tabela. A seguir está a cláusula SET seguida por um nome de coluna e uma cláusula WHERE.
P # 4) Posso inserir vários registros em uma única transação de inserção do MySQL?
Responda: Conforme descrito acima, sob o “Inserir dados em várias linhas” seção, podemos inserir várias linhas em uma única transação de inserção. Podemos usar a cláusula INSERT INTO seguida pelo nome da tabela e lista de colunas, mas em vez de uma lista de valores, precisamos mencionar várias listas de valores para cada uma das colunas.
P # 5) De onde você baixa o MySQL?
Responda: Você pode baixar o MySQL versão 8.0 aqui: MySQL .
Leia também => Como fazer download do MySQL
P # 6) A cláusula SELECT pode ser usada na instrução INSERT do MySQL?
Responda: Sim, SELECT pode ser usado junto com a instrução INSERT do MySQL. Isso foi explicado na seção, “MySQL Inserindo uma tabela de outra tabela”. Isso é usado quando temos que inserir linhas em uma tabela, usando os dados já presentes em alguma outra tabela.
Por exemplo, mover dados da tabela atual para a tabela histórica no data warehouse.
P # 7) Como o MySQL armazena datas nas tabelas?
Responda: O MySQL usa o formato “AAAA-MM-DD” para armazenar data em tabelas. O tipo de dados aqui é DATE. O intervalo de datas compatível com o MySQL é de ‘1000-01-01’ a ‘9999-12-31’.
O MySQL também possui um tipo de dados DATETIME para armazenar data e hora. O formato é “AAAA-MM-DD hh: mm: ss”. O intervalo aceitável é de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
Leitura Recomendada = >> Tutorial de tipos de dados MySQL
Conclusão
Portanto, neste tutorial, aprendemos sobre as cinco maneiras diferentes de executar instruções INSERT no MySQL.
- MySQL Inserindo Linha Única
- MySQL Inserindo Dados somente na Coluna Especificada
- MySQL Inserindo Dados em Várias Linhas
- Data de inserção do MySQL
- MySQL Inserindo uma tabela de outra tabela
Podemos usar qualquer um deles, com base em nossos requisitos de projeto.
Leitura feliz!!
Leitura recomendada
- Diferença entre SQL Vs MySQL Vs SQL Server (com exemplos)
- As 40 melhores perguntas e respostas para entrevistas em MySQL (2.021 perguntas)
- Tutorial de instrução de atualização do MySQL - Atualizar sintaxe de consulta e exemplos
- Sintaxe de comando Unix Cat, opções com exemplos
- Comando de classificação Unix com sintaxe, opções e exemplos
- Inserir vários documentos no MongoDB usando matrizes
- Tutorial de instrução de uso de C # e método virtual C # com exemplos
- Estrutura do programa C # e sintaxe básica com exemplos