DELETE, UPDATE, COMMIT, ROLLBACK

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Banco de Dados Prof. Antonio.
Banco de Dados I Aula 20.
SQL Renata Viegas.
Triggers Renata Viegas.
SQL Avançado Continuação
SQL Structured Query Language (continuação)
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Banco de Dados SQL TRIGGERS (Gatilhos)
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Sistemas de Informação Redes de Computadores
Visões Marilde Santos.
Maurício Edgar Stivanello
SGBD.
Motor de Armazenamento
Sistema Gerenciador de Banco de Dados SGBD
Restrições de Integridade
Operadores Especiais da SQL
Introdução à Engenharia da Computação
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
Linguagem de Banco de Dados - SQL
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
12 Horas Instrutor: Antonio Itamar Júnior
Banco de dados Profª Kelly Medeiros.
PostgreSQL.
Aula 7 Prof. Naércio Filho Técnico em Informática
Bancos de Dados SQL Server 2012 SQL DML - Data Manipulation Language)
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
(Linguagem de Consulta Estruturada)
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Primeira aula de PL/SQL Parte II
Prof. Alessandro Gonçalves
Desenvolvendo um script SQL
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
Banco de dados.
Linguagem de Definição de Dados
Criação de Tabelas. CREATE TABLE nome_da_tabela ( >>. >> ) Ex.: SQL SERVER 2008 CREATE TABLE pessoa ( CPF VARCHAR(11) NOT NULL, NOME VARCHAR(100) NOT.
Baseado no material do Professor Raul Paradeda
Microsoft SQL Server 2008 SPARSE. Para que serve? –Otimiza o espaço de armazenamento de colunas com valores NULL.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Banco de dados O que é MySQL Criar bando de dados
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Banco de Dados I I Comandos SQL
NOTA DE AULA SQL.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Controle de Concorrência
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Daniel Paulo Atualizando e excluindo Dados Comando UPDATE – Altera registros da tabela UPDATE tabela SET nome_coluna = expressao.
Professor Me. Jeferson Bussula Pinheiro.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Banco de Dados Maria Augusta (Magu).
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
Prof. Renato de Oliveira Bastos
VBA – Visual Basic para Aplicativos
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Linguagem de definição de dados - SQL
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
2/6/2016 José Antônio da Cunha - CEFET - RN1 Programação de Banco de Dados Funções.
Prática de Banco de Dados Créditos: Prof. Jefferson Silva Adaptações: Prof. Nécio de Lima Veras.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Transcrição da apresentação:

DELETE, UPDATE, COMMIT, ROLLBACK Autor: Charles Wust

Apagando registros É possível apagar registros de uma tabela utilizando o comando DELETE A sintaxe deste comando é a seguinte: DELETE FROM nome_tabela WHERE condicoes;

Experimente DELETE FROM produto WHERE codigo = 512; nome LIKE 'Tablet%' AND fabricante = 'Coby';

Apagando registros O DELETE apagará todos os registros da tabela informada que atendam a determinadas condições Estas condições devem ser informadas na cláusula WHERE, e funcionam da mesma maneira do SELECT ATENÇÃO: Se a cláusula WHERE não for informada, TODOS os registros da tabela serão apagados!

Alterando registros Outra operação disponível no SQL é a alteração dos dados de registros já disponíveis em uma tabela Esta operação é chamada de UPDATE A sintaxe deste comando é a seguinte: UPDATE nome_tabela SET nome_col = novo_valor, nome_outra_col = outro_novo_valor; WHERE condicoes;

Experimente UPDATE produto SET preco = 260.00 WHERE codigo = 276; fabricante = 'Hewlett-Packard', preco = preco * 1.1 codigo IN (193, 194, 195, 196);

Recomendações sobre o UPDATE e DELETE Tome muito cuidado com a cláusula WHERE Uma falha pode apagar ou sobrescrever registros importantes! Procure testar a cláusula WHERE realizando um SELECT * antes Sempre que possível, utilize a chave primária da tabela como filtro, para garantir que apenas um registro seja alterado Se possível, realize estas operações dentro de transações (veremos isso mais tarde)

Exercícios (15) 1 – Reajuste o preço de todas as câmeras em 7% 2 – Apague todos os produtos sem fabricante informado 3 – O nome do fabricante Hewlet-Packard está escrito errado. Altere para Hewlett-Packard em todos os registros 4 – Apague todos os Tablets da fabricante Coby 5 – Reajuse em 5% todos os televisores que estejam com preço abaixo da média. DICA: utilize dois SQLs: um para saber o preço médio, outro para reajustar os preços destes produtos)

Transações Suponha a seguinte tabela: CREATE TABLE item_compra( codigo SERIAL NOT NULL PRIMARY KEY, nome VARCHAR(100) NOT NULL, preco NUMERIC(4,2) ); Em muitas ocasiões, precisamos executar uma sequência de comandos para registrar uma operação: Por exemplo, pode ser uma sequência de INSERTs que registram os produtos da nossa compra

Transações Em muitas ocasiões, precisamos executar uma sequência de comandos para registrar uma operação: Por exemplo, pode ser uma sequência de INSERTs que registram os produtos da nossa compra INSERT INTO item_compra (nome, preco) VALUES ('Camisa', 40.0); VALUES ('Grava', 20.0); VALUES ('Calça', 105.0);

Transações Se um dos comandos falhar, nossa base de dados pode ficar comprometida Neste exemplo, os itens cadastrados na base não vao corresponder ao que o usuário comprou INSERT INTO item_compra (nome, preco) VALUES ('Camisa', 40.0); VALUES ('Grava', 20.0); VALUES ('Calça', 105.0);

Transações Em um caso como este, a melhor estratégia é a seguinte: OU a operação inteira é concluída e registrada na base OU a operação inteira é cancelada, e nada é registrado na base Nestes casos, o ideal é executar nossa sequência de comandos dentro de uma transação

Transações Para iniciar uma transação, utilize o comando START TRANSACTION; Enquanto a transação estiver ativa, todas as alterações (UPDATEs e DELETEs) serão registradas somente em memória, e vão ficar disponíveis somente na sessão do usuário atual: Ou seja, nenhuma alteração será escrita na base de dados

COMMIT e ROLLBACK Existem duas formas de finalizar uma transação: Este comando finaliza a transação e grava tudo o que foi realizado. Deve ser utilizado quando todos os comandos da nossa transação foram executados com sucesso;

COMMIT e ROLLBACK ROLLBACK; Este comando joga fora todas as alterações realizadas dentro da nossa transação, ou seja, nenhuma das alterações fica gravada. Deve ser utilizado quando alguma coisa falhou em nossa transação e queremos cancelá-la