Banco de Dados Prof.: André Luigi Amaral Di Salvo E-mail: [email protected] Home Page: www.ifs.ifsuldeminas.edu.br/~andre.amaral Campus Inconfidentes Sumário • Manipulação de registros – INSERT – UPDATE – DELETE Campus Inconfidentes INSERT • O comando INSERT é utilizado para inserir registros em uma tabela. • Sintaxe: – INSERT INTO nome_da_tabela [colunas] VALUES (valores) – INSERT INTO usuarios (nome, senha) VALUES (“Paulo”, 123456) • No comando INSERT, a lista de colunas é um parâmetro opcional. Sendo assim, caso seja omitido, assume-se a inclusão de valores em todas as colunas e a ordem de inclusão será a mesma da estrutura da tabela. • Toda vez que a informação a ser armazenada for do tipo alfanumérica, deverá ser colocada entre aspas ou apóstrofos. Os valores numéricos não devem possuir esses separadores. Campus Inconfidentes INSERT • Sempre que um comando para adicionar uma linha à tabela for executado, o gerenciador checará todas as constraints e qualquer violação em uma das regras, o comando não será executado. • As colunas que não tiverem seu valor referenciado no comando receberá o valor null, desde que esse valor seja permitido. Campus Inconfidentes INSERT • Prática de laboratório: base de dados: BLOG • Inserir as linhas abaixo na tabela tb_area – – – – – Página inicial Notícias Dicas Downloads Contato • A tb_area possui apenas 02 (dois) campos: id_area, nome. O campo id_area é do tipo inteiro, PK, não aceita valores nulo e é auto incrementável. O campo nome é do tipo varchar, não nulo e aceita até 50 caracteres. Campus Inconfidentes INSERT • Como o campo id_area é auto incrementável, não precisamos referenciá-lo no comando INSERT. O seu valor como o próprio nome diz será gerado automaticamente. • Resolução da prática – – – – – INSERT INTO tb_area (nome) VALUES (‘Página Inicial’); INSERT INTO tb_area (nome) VALUES (‘Notícias’); INSERT INTO tb_area (nome) VALUES (‘Dicas’); INSERT INTO tb_area (nome) VALUES (‘Downloads’); INSERT INTO tb_area (nome) VALUES (‘Contato’); Campus Inconfidentes INSERT • Inserindo dados na tb_usuario • A tb_usuario possui um campo senha cujo seu tamanho é de 32 caracteres. Esse tamanho é exato para utilizarmos a função md5 para criptografar uma senha. • Inserindo o usuário Administrador na tabela com a senha Admin123 – INSERT INTO tb_usuario (nome, email, senha, tipo, aprovado) VALUES ('Administrador', 'admin@localhost', md5('Admin123'), 'Admin', 'S') • Inserir mais 03 (três) usuários, todos do tipo user. Utilizar a senha 123456 para ambos os usuários. Defina os e-mails diferentes de admin@localhost. Campus Inconfidentes UPDATE • O comando UPDATE é utilizado para atualizarmos registros (linhas) em uma tabela. • Sintaxe: – UPDATE nome_da_tabela SET campo = valor, [campo = valor] [WHERE condições] • A cláusula WHERE é opcional e caso seja omitida, todas as linhas da tabela serão atualizadas para o novo valor. • O valor dos campos a serem atualizados devem ser do mesmo tipo definido na hora da criação da tabela e seguir também as constraints definidas. Campus Inconfidentes UPDATE • Prática de laboratório: base de dados: BLOG • Atualizar a informação contida no campo tipo da tabela tb_usuario para usereg. – UPDATE tb_usuario SET tipo=‘usereg’ • Atualizar o campo ativa da tabela tb_area para S. – UPDATE tb_area SET ativa=‘S’ • Atualizar a informação contida no campo tipo da tabela tb_usuario para Admin quando o nome do usuário for Administrador. – UPDATE tb_usuario SET tipo=‘Admin’ WHERE nome=‘Administrador’ Campus Inconfidentes UPDATE • A cláusula WHERE é utilizada quando queremos atuar somente em uma/algumas linhas da tabela. Após a colocação do WHERE adicionamos a condições para a realização do filtro na tabela. Podemos utilizar mais de uma condição e entre elas devemos utilizar os operadores (AND ou OR). • As condições serão realizadas em campos pertencentes à tabela. Podemos executar outros comandos SQL na cláusula WHERE. • Os comandos UPDATE, DELETE e SELECT quase sempre são acompanhados do WHERE. Campus Inconfidentes DELETE • O comando DELETE é usado para apagar linhas em uma tabela. • Sintaxe: – DELETE FROM nome_da_tabela [ WHERE condições] • Atenção: se a cláusula WHERE não for especificada, TODAS AS LINHAS da tabela serão APAGADAS. • Outro ponto importante é que o gerenciador irá sempre checar as integridades das informações, ou seja, caso a informação possua filhos em outras tabelas, uma mensagem de erro será apresentada. Campus Inconfidentes DELETE • Prática de laboratório: base de dados: BLOG • Apague todos os registros da tabela tb_usuario quando o tipo for usereg. – DELETE FROM tb_usuario WHERE tipo=‘usereg’ Campus Inconfidentes