Acesso aos Dados
.:( Voltar ):.
Os comandos para manipulação dos dados das tabelas do banco de dados são :
- INSERT : inserir linhas (dados) em um tabela
- SELECT : consultar os dados de uma ou mais tabelas, de 1 ou mais bancos
- UPDATE : alterar os dados de uma ou mais linhas de uma tabela
- DELETE : excluir uma ou mais linhas de uma tabela
( Veja na documentação do SGBD o formato completo deste comandos, abaixo teremos alguns exemplos básicos ).
INSERT
Formato :
insert into nometabela ( nomecoluna1 , nomecoluna2, ... ) values ( valor1, valor2, ... ) ;
Exemplos :
Recomenda-se usar este formato
insert into estados ( sigla , nome ) values ( 'MG' , 'Minas Gerais' ) ;
insert into estados ( sigla , nome ) values ( 'SP' , 'São Paulo' ) ;
insert into estados ( sigla , nome ) values ( 'RJ' , 'Rio de Janeiro' ) ;
insert into estados ( sigla , nome ) values ( 'GO' , 'Goias' ) ;
insert into estados ( sigla , nome ) values ( 'ES' , 'Espirito Santo' ) ;
insert into estados ( sigla , nome ) values ( 'RS' , 'Rio Grande do Sul' ) ;
|
É importante estar atento a integridade referencial. Ou seja ao informar o valor da chave estrangeira no comando
INSERT é necessário que a chave primária correspondente já esteja cadastrada. Por exemplo : tente cadastrar uma
cidade informando para a chave estrangeira SIGLA um estado que não foi previamente cadastrado na tabela ESTADOS.
insert into cidades (codigo, sigla, nome, area, populacao) values (45,'XR', 'Araguari',234200,42000);
Neste comando o SGBD deverá emitir uma mensagem de erro, informando que não existe um estado com sigla XR.
Neste formato é necessário informar os valores exatamente na ordem de criação das colunas no comando
create table, o que não ocorre com os exemplos anteriores.
INSERT INTO cidades VALUES ( 1, 'MG', 'Uberaba', 2345230, 280000 ) ;
INSERT INTO cidades VALUES ( 2, 'MG', 'Uberlândia', 134920, 530000 ) ;
INSERT INTO cidades VALUES ( 3, 'MG', 'Araxa', 382980, 80000 ) ;
INSERT INTO cidades VALUES ( 4, 'MG', 'Sacramento', 238780, 15000);
INSERT INTO cidades VALUES ( 5, 'SP', 'Campinas', 134920, 1200800);
INSERT INTO cidades VALUES ( 6, 'SP', 'Igarapava', 231423, 14900);
INSERT INTO cidades VALUES ( 9, 'SP', 'Ubatuba', 23420, 23890);
INSERT INTO cidades VALUES ( 8, 'RJ', 'Campos', 234800, 129031);
INSERT INTO cidades VALUES ( 7, 'SP', 'Jales', 234900, 35000);
INSERT INTO cidades VALUES ( 15, 'MG', 'Nova Ponte', 234890, 5800);
INSERT INTO cidades VALUES ( 23, 'GO', 'Catalao', 234230, 340000);
INSERT INTO cidades VALUES ( 32, 'GO', 'Goiania', 323840, 980000);
INSERT INTO cidades VALUES ( 22, 'GO', 'Cristalina', 234230, 54900);
|
SELECT
Formato :
select [ nomecoluna1 , nomecoluna2, ... ] ou [ * ]
from nometabela
where condições
order by nomecolunax, nomecolunay, ... ;
Exemplos :
select * from estados ;
//mostra todas as colunas da tabela estados |
select sigla , nome from estados ;
// mostra as colunas sigla e nome da tabela estados |
select nome from estados where sigla like 'R%' ;
// mostra o nome dos estados com a sigla iniciada com a letra R |
select nome, sigla from estados order by nome desc ;
// mostra o nome e a sigla dos estados colocando o resultado em ordem decrescente pelo nome |
select nome from estados where nome like '_i%' ;
// mostra o nome dos estados cujo nome tem como segunda letra a letra i |
Existem várias funções que podem ser usadas :
select count(codigo) from cidades ;
// mostra a quantidade de cidades cadastradas (Quantidade de linhas da tabela cidades)
select avg(populacao) from cidades ;
// mostra o média da população. (soma da coluna populacao dividido pela quantidade de cidades) |
Existem diferenças entre os SGBDs, é sempre bom consultar a
documentação do SGBD para saber como usar os comandos. Veja um exemplo :
// Para mostrar o nome dos clientes com mais de 20 anos de idade
No MySql : select nome from clientes where date_add(now(), interval -20 year) > nascimento ;
No Sybase : select nome from clientes where dateadd(year, -20, now()) > nascimento ;
|
DELETE
Formato :
delete from nometabela where condições ;
Exemplos :
delete from clientes ;
// Apaga todos as linhas da tabela clientes |
delete from estados where sigla = 'SP' ;
// Apaga todas as linhas da tabela estados com a coluna sigla = 'SP' |
delete from estados where nome like '%Grande%' ;
// Apaga todas as linhas da tabela estados se na coluna nome contiver a palavra Grande |
UPDATE
Formato :
update nometabela
set nomecoluna1 = valorx , nomecoluna2 = valory , ...
where condições ;
Exemplos :
update cidades set dbo.cidades.nome = 'Paulistas' where sigla = 'SP' ;
// Altera o conteúdo da coluna nome da tabela cidades para Paulistas em todas as linhas que tenham a coluna sigla = 'SP'. |
update cidades set nome = 'Uai' where nome like 'Uber%' ;
// Altera o conteúdo da coluna nome para Uai, em todas as linhas que a coluna nome tenha as 4 primeiras leras igual a Uber. |
.:( Voltar :.)
|