Página
Inicial

Power

Artigos

BD
SQL

JavaScript

Vídeo Aulas

Xiko.php

Algoritmos

Alunos

SQL OnLine

Sugestões
e Críticas

Horário do
Professor

Cadastro

Lembrar Senha

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 :.)