O comando Insert
A inclusão de dados se dá através do comando Insert. A sintaxe desse comando é bastante simples, basta informar a tabela, os campos e os seus respectivos valores:
INSERT INTO <nome da tabela>
[(<coluna> [, <coluna>, ...)]]
VALUES
(<valor> [,<valor> , ...] | <comando de seleção>)
Para incluir um registro na tabela Aluno, por exemplo, utilize o código:
INSERT INTO ALUNO (ID_ALUNO, NOME)
VALUES (1, 'Fabio Sarturi')
Como podemos notar, nem todos os campos da tabela Aluno estão no código anterior (faltaram os campos Data_Nasc, Telefone e Email). Esses campos puderam ser suprimidos porque não são obrigatórios (restrição Not Null), ou seja, se um campo é obrigatório ele necessariamente deve estar presente no Insert, claro, do contrário o comando falhará.
A exceção ocorre quando formos preencher todos os campos da tabela. Nesse caso, podemos simplesmente suprimir o nome de todas as colunas, tomando apenas o cuidado de colocar todos os valores na mesma ordem em que a tabela foi criada:
INSERT INTO ALUNO VALUES (2, 'Jose da Silva',
'02/02/1980','48 2335566','silva@provedor.com');
A inclusão de dados pode ainda ser feita via comando de seleção (Select). A vantagem desse recurso é que podemos facilmente migrar dados de uma tabela para outra, veja um exemplo de utilização:
INSERT INTO tabelaX
(C1, C2)
(SELECT C3, C4 FROM tabelaY)
Evidentemente, o tipo de dado do campo C1 deve ser compatível com tipo de dado do C3, assim como os dos campos C2 e C4. Além disso, é preciso tomar cuidado para que os valores não causem duplicidade em algum campo que contenha a restrição Unique, como chaves-primárias. Note que, quando incluímos dados através de um comando Select (estudaremos ele ainda neste artigo), suprimimos a palavra Values da instrução.
Registros das tabelas
Para fazer os exemplos que serão apresentados neste artigo, inclua na tabela Aluno os registros da Tabela 1, na tabela Curso os registros: 1- Delphi, 2- Firebird, 3- Java e na tabela Aluno_Curso os registros da Tabela 2.
Id_Aluno |
Nome |
1 |
Fabio Sarturi Prass |
2 |
Jose da Silva |
3 |
Alice dos Santos |
Pedro Paulo Junior | |
5 |
Paloma Rosana Duarte |
... |