Como inserir dados em tabelas no PostgreSQL com INSERT INTO

Como inserir dados em tabelas no PostgreSQL: comando INSERT INTO

Após criar as tabelas com seus relacionamentos, como fizemos na lição passada, estamos prontos para começar a inserir dados no banco (registros). Para tal empregamos o comando SQL INSERT INTO.

Sintaxe padrão:

INSERT INTO nome_tabela (coluna1, coluna2,...)
VALUES (valor1, valor2,...);

Conforme a sintaxe mostrada, especificamos a tabela e quais colunas dessa tabela irão armazenar os dados, e na sequencia, logo após a palavra-chave VALUES, especificamos os dados em si – rigorosamente na mesma ordem em que as colunas foram listadas no comando.

Se houver uma coluna usando auto incremento (SERIAL), ela não deve ser incluída na listagem de colunas do comando, pois seus dados numéricos serão gerados e inseridos automaticamente pelo PostgreSQL toda vez que um novo registro for adicionado.

Inserir novos registros em tabelas

No artigo passado nós criamos quatro tabelas para nosso banco db_Biblioteca, as tabelas de Autores, Editoras, Gêneros e Livros.. Vamos inserir dados (registros) nessas tabelas agora, usando para isso o comando INSERT INTO.

Tabela de Editoras

Vamos cadastrar cinco editoras na tabela de editoras, usando comandos INSERT INTO discretos (separados):

INSERT INTO tbl_editoras (ID_Editora, Nome_Editora) VALUES (1,'Prentice Hall');
INSERT INTO tbl_editoras (ID_Editora, Nome_Editora) VALUES (2,'O´Reilly');
INSERT INTO tbl_editoras (ID_Editora, Nome_Editora) VALUES (3,'Microsoft Press');
INSERT INTO tbl_editoras (ID_Editora, Nome_Editora) VALUES (4,'Wiley');
INSERT INTO tbl_editoras (ID_Editora, Nome_Editora) VALUES (5,'McGraw-Hill Education');

Executamos o comando de inserção cinco vezes, uma para cada registro inserido. Esta forma não é a mais performática, e faremos de outra maneira nas próximas tabelas.

Tabela de Autores

Agora cadastraremos 14 autores na tabela de autores. Vamos usar uma forma simplificada da sintaxe do comando INSERT INTO, na qual executamos o comando apenas uma vez, passando todos os registros (linhas) separados por uma vírgula:

INSERT INTO tbl_autores
VALUES
(1, 'Daniel', 'Barret'),
(2, 'Gerald', 'Carter'),
(3, 'Mark', 'Sobell'),
(4, 'William', 'Stanek'),
(5, 'Richard', 'Blum'),
(6, 'Jostein', 'Gaarder'),
(7, 'Umberto', 'Eco'),
(8, 'Neil', 'De Grasse Tyson'),
(9, 'Stephen', 'Hawking'),
(10, 'Stephen', 'Jay Gould'),
(11, 'Charles', 'Darwin'),
(12, 'Alan', 'Turing'),
(13, 'Simon', 'Monk'),
(14, 'Paul', 'Scherz');

Tabela de Gêneros

Vamos cadastrar 10 gêneros na tabela de gêneros:

INSERT INTO tbl_generos
VALUES
(1, 'Tecnologia'),
(2, 'História'),
(3, 'Literatura'),
(4, 'Astronomia'),
(5, 'Botânica'),
(6, 'Geografia'),
(7, 'Matemática'),
(8, 'Química'),
(9, 'Engenharia'),
(10, 'Ficção Científica');

Tabela de Livros

Finalmente, vamos inserir 7 livros na tabela de livros. Note que não é preciso informar um código (ID) para os livros, pois esta coluna foi criada como auto-incremento (SERIAL).

INSERT INTO tbl_livros (Nome_Livro, Data_Pub, Preco_Livro, Genero, Autor, Editora)
VALUES
('Linux Command Line and Shell Scripting', '20150109', 68.35, 1, 5, 4),
('SSH, the Secure Shell', '20050517', 58.30, 1, 1, 2),
('Using Samba', '20031221', 61.45, 1, 2, 2),
('Fedora and Red Hat Linux', '20140110', 62.24, 1, 3, 1),
('Windows Server 2012 Inside Out', '20130125', 66.80, 1, 4, 3),
('Microsoft Exchange Server 2010', '20101201', 45.30, 1, 4, 3),
('Practical Electronics for Inventors', '20160324', 67.80, 1, 13, 5);

Após a execução desses comandos, devemos ter registros inseridos nas quatro tabelas de nosso banco de dados. Se ocorreu algum erro, revise o código que vocÊ digitou – geralmente, se trata de algo simplório, como uma vírgula faltando ou parêntese não fechado. De qualquer maneira, precisamos agora conferir se os dados foram cadastrados corretamente.

É o que faremos na sequência.

Testar a inserção de dados

Vamos executar os comandos a seguir, que são consultas simples usando a cláusula SQL SELECT, para verificar se os registros foram inseridos de forma correta nas tabelas do banco de dados no PostgreSQL:

SELECT * FROM tbl_autores;
SELECT * FROM tbl_editoras;
SELECT * FROM tbl_livros;
SELECT * FROM tbl_generos;

Veja o resultado da inserção de dados na tabela de livros, verificado com o comando executado acima:

Consulta simples em uma tabela do PostgreSQL com SELECT

Dados inseridos com sucesso na tabela!

Na próxima lição vamos aprender a realizar consultas simples usando o comando SELECT, que empregamos para testar o cadastro de dados na tabela aqui. Até!

 

Sobre Fábio dos Reis (1343 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*