A instrução insert permite adicionar uma nova linha a uma tabela. Aqui iremos ver como inserir apenas uma linha de dados em uma tabela.
Sintaxe da Instrução INSERT
insert into nome_tabela(coluna1, coluna2) values(valor1, valor2);
Temos que digitar o nome das colunas e valores entre parenteses e separado por vírgula. Acima, valor1 será inserido em coluna1 e valor2 em coluna2
A lista de colunas é opcional, mas, você sempre deve incluí-la ao usar insert. É uma boa prática.
Mas, se você não especificar as colunas, será usado o seguinte valor para inserir na coluna:
- O próximo inteiro(integer) da sequência se a coluna tiver a propriedade auto_increment.
- O NULL se a coluna for uma coluna anulável
- O valor padrão(default) se a coluna especificar explicitamente um valor padrão.
- O valor gerado se a coluna for uma coluna gerada.
Exemplos de Uso da Instrução INSERT
Vamos usar como exemplo a tabela guests abaixo:
MariaDB [nation]> select * from guests; +----------+--------+ | guest_id | name | +----------+--------+ | 1 | John | | 2 | Jane | | 3 | Jean | | 4 | Storm | | 5 | Beast | | 6 | | | 7 | silvia | | 8 | maria | +----------+--------+
Acima, na tabela chamada guests, temos as colunas guest_id e name. Iremos incluir alguns valores usando insert into que quer dizer “insira em” ou “insira dentro de“
insert into guests(guest_id, name) values(9, ‘Joana’);
MariaDB [nation]> insert into guests(guest_id, name) values(9, 'Joana');
Vamos inserir outros registros
MariaDB [nation]> insert into guests(guest_id, name) values(10, 'Mateus');
MariaDB [nation]> insert into guests(guest_id, name) values(11, 'Silvia');
MariaDB [nation]> insert into guests(guest_id, name) values(12, 'Mariana');
Veja a tabela:
MariaDB [nation]> select * from guests; +----------+---------+ | guest_id | name | +----------+---------+ | 1 | John | | 2 | Jane | | 3 | Jean | | 4 | Storm | | 5 | Beast | | 6 | | | 7 | silvia | | 8 | maria | | 9 | Joana | | 10 | Mateus | | 11 | Silvia | | 12 | Mariana |
Usando SET para Sintaxe Alternativa
Temos uma sintaxe alternativa para inserir uma nova linha em uma tabela, para isso usamos a cláusula set:
insert into nome_tabela set coluna1 = valor1, coluna2 = valor2, ...;
Exemplo:
insert into contatos set nome = 'Joao', sobrenome = 'Silva'; ...;
Inserindo Várias Linhas de Uma Só Vez
use a seguinte sintaxe para inserir várias linhas em uma tabela:
insert into nome_tabela(colunas) values (valor1), (valor2), (valor3), ......
especifique o nome da tabela e uma lista de colunas entre parênteses e após isso especifique uma lista de valores separados por vírgulas. Cada elemento da lista é mapeado para uma linha na tabela.
Exemplos de Inserção de Várias Linhas ao mesmo Tempo em SQL
#1 inserindo diversas linhas
insert into guests(guest_id, name) values(13, ‘bruno’), (14,’Paulo’), (15, ‘Marina’);
MariaDB [nation]> insert into guests(guest_id, name) values(13, 'bruno'), (14,'Paulo'), (15, 'Marina'); Query OK, 3 rows affected (0,003 sec) Records: 3 Duplicates: 0 Warnings: 0
#2