Este tutorial faz parte da série Aprenda consultas SQL básicas usando MySQL. Neste tutorial, discutiremos consultas SQL para inserir linhas ou armazenar dados em uma tabela no MySQL.
Inserir na consulta
A consulta INSERT INTO pode ser usada para inserir linhas em uma tabela. Caso você esteja conectado remotamente ao banco de dados, você também precisará do privilégio INSERT para a tabela para inserir linhas em uma tabela.
# INSERT INTO - Syntax
INSERT INTO `table_name`(column_1,column_2,...) VALUES (value_1,value_2,...);
Explicação da consulta
O comando MySQL INSERIR EM pode ser usado para inserir linhas no nome da tabela em que o nome da tabela é obrigatório.
Podemos especificar os nomes das colunas no formato separado por vírgulas se os dados da linha forem especificados apenas para colunas selecionadas. Caso os dados da linha sejam fornecidos para todas as colunas da tabela na ordem das colunas, podemos omitir a especificação das colunas.
Podemos fornecer a
Sequência - Devemos colocar todos os valores de string entre aspas simples. Também podemos usar NULL, caso a definição da coluna permita.
Numérico - Os valores numéricos não devem ser colocados entre aspas. Os valores numéricos devem ser fornecidos diretamente com base no tipo de dados da coluna.
Data - Os valores de data devem ser colocados entre aspas simples seguindo o formato MySQL, ou seja, 'AAAA-MM-DD'. Podemos usar todos os zeros como valor padrão ou NULL caso a definição da coluna permita valores nulos.
Data e hora - Semelhante aos valores de dados, o
Você também pode seguir o MySQL Data Types Cheatsheet para saber mais sobre os tipos de dados disponíveis no MySQL.
Exemplos
Esta seção fornece exemplos da consulta de inserção para inserir dados de linha em uma tabela. Use a consulta mencionada abaixo para criar a tabela de usuário com as colunas id, first name e last name para armazenar os dados do usuário.
# Create the User Table
CREATE TABLE `user` (
`user_id` bigint(20) NOT NULL,
`first_name` varchar(45),
`last_name` varchar(45)
);
As consultas mencionadas abaixo podem ser usadas para inserir dados na tabela de usuários usando os nomes das colunas.
# Insert Single Row - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES ( 1, 'John', 'Smith' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`) VALUES
( 2, 'Rick', 'Jones' ),
( 3, 'Catherine', 'Ponting' ),
( 4, 'Harsh', 'Upadhyay' ),
( 5, 'Tajwinder', 'Singh' );
# Insert Single Row - Selected Columns - NULL for last_name
INSERT INTO `user` ( `user_id`, `first_name`) VALUES ( 6, 'Leo' );
Essas consultas inserirão 6 linhas na tabela com o id, nome e sobrenome para representar 6 usuários diferentes.
Também podemos omitir os nomes das colunas caso forneçamos os dados de todas as colunas, conforme mostrado abaixo. Devemos cuidar da ordem das colunas ao inserir linhas sem especificar as colunas.
# Insert Single Row - All Columns
INSERT INTO `user` VALUES ( 7, 'Leo', 'Murphy' );
# Insert Multiple Rows - All Columns
INSERT INTO `user` VALUES
( 8, 'Ram', 'Choudhary' ),
( 9, 'Nicole', NULL );
Também podemos alterar a ordem das colunas ao inserir valores de linha. A única coisa a ser observada é que os dados da linha também devem seguir a mesma ordem mostrada abaixo.
# Insert Single Row - All Columns
INSERT INTO `user` ( `first_name`, `last_name`, `user_id` ) VALUES ( 'Bill', 'Waugh', 10 );
É assim que podemos usar o comando INSERT INTO para inserir dados em uma tabela.