Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Redes de Computadores / Conceitos de Banco de Dados / Aula
Inserir dados em uma tabela significa preencher suas linhas com dados correspondentes aos tipos determinados durante a criação da tabela. A sintaxe para incluir dados em uma tabela é descrita no quadro a seguir.
mysql>INSERT INTO nome_da_tabela (atributo1, atributo2, ...)
VALUES (valor1, valor2, ...);
Os dados do tipo CHAR, VARCHAR, DATE, TIME (texto em geral, ainda que seja apenas um caractere como A ou B) devem ser representados entre aspas simples ( ' ' ). Os dados do tipo INT ou NUMERIC não são representados por aspas simples. Observe ainda que as casas decimais dos números devem ser separadas por ponto em vez de vírgula e os valores do tipo VARCHAR podem conter acentos e espaços em branco.
É importante ressaltar que os valores valor1, valor2, ..., seguem a mesma ordem dos atributos listados na primeira linha do comando INSERT. Essa lista de atributos é usada para indicar os atributos da tabela que devem ser preenchidos e com que valores. Essa lista é obrigatória quando alguns campos não forem preenchidos, ou quando a ordem dos valores informados for diferente da ordem definida na criação da tabela.
Vamos praticar o comando INSERT adicionando dados na tabela clientes criada anteriormente?
mysql>INSERT INTO clientes ( cli_codigo, cli_nome, cli_cpf, cli_data_nasc, cli_sexo, cli_email)
VALUES ( 1, 'José da Silva', '123456789-10', '1980-12-10', 'M', 'joseSilva@cursoSQL.com');
mysql>INSERT INTO clientes (cli_codigo,cli_email, cli_nome, cli_cpf, cli_data_nasc, cli_sexo)
VALUES ( 2, 'mariaSilva@cursoSQL.com', 'Maria da Silva', '012345678-99', '1982-02-28', 'F');
mysql>INSERT INTO clientes
VALUES ( 3,'Francisco da Silva', '109876543-21', '1990-01-01', 'M', 'franciscoSilva@cursoSQL.com');
mysql>INSERT INTO clientes (cli_codigo, cli_nome, cli_sexo, cli_email)
VALUES (4, 'Francisca da Silva', 'F', 'franciscaSilva@cursoSQL.com');
Observe com cuidado as duas primeiras inserções de dados na tabela. Percebeu a ordem dos atributos? Agora olhe para os valores, eles estão na mesma ordem dos atributos listados. Desde que os valores informados sejam referentes aos respectivos atributos listados, a ordem utilizada no INSERT não importa. Agora, analise a terceira inserção de dados na tabela clientes. A lista de atributos foi omitida no comando INSERT. Nesse caso, os valores devem estar todos ali, e na mesma ordem que os atributos foram definidos durante a criação da tabela. No último exemplo de inserção, alguns valores não foram inseridos. Como o seu sistema SQL não sabe a que atributos esses valores pertencem, você deve especificá-los na lista de atributos.
Você pode estar se perguntando o que acontece com os atributos que não tiveram seus campos preenchidos com o comando INSERT. Nesse caso, os campos não informados serão preenchidos com NULL. Um valor NULL é um valor indefinido.
A mensagem “QUERY OK, 1 ROW AFFECTED” fornecida pelo sistema ao comando INSERT INTO clientes nos informa que uma linha de dados foi corretamente inserida na tabela clientes, conforme é ilustrado na Figura 4.
Versão 5.3 - Todos os Direitos reservados