Manipulação de Dados com SQL

Documentos relacionados
DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Definição de Dados com SQL

Banco de Dados I Introdução SQL

A linguagem SQL

PHP INTEGRAÇÃO COM MYSQL PARTE 1

IMPLEMENTAÇÃO DE BANCO DE DADOS

BCD29008 Banco de dados

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

A linguagem SQL

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Banco de Dados. Professora: Luciana Faria

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Banco de Dados. Linguagem SQL

SQL Básica. Andre Noel

MySql. Introdução a MySQL. Andréa Garcia Trindade

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

SQL. Prof. Roger Cristhian Gomes

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

BANCO DE DADOS PARA NINJAS

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Bancos (Bases) de Dados

Disciplina: Banco de Dados Tema: SQL Parte 2

Linguagem de Consulta Estruturada (SQL)

Fundamentos de Banco de Dados Postgre com Sql

Linguagem de Definição de Dados (DDL)

SQL (Tópicos) Structured Query Language

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

UFG - Instituto de Informática

Page 1. Prof. Constantino Jacob

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

Bases de Dados. DDL Data Definition Language

Modelo Entidade-Relacionamento (E-R)

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Aula 06 Sistemas Embarcados LT38C

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

GBC043 Sistemas de Banco de Dados

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL.

Banco de Dados. Prof. Antonio

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Informática I. Aula 8. Aula 8-25/09/2006 1

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Introdução ao SQL. Aécio Costa

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

SQL. Autor: Renata Viegas

BANCO DE DADOS GERENCIAL 1 A U L A 2

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Linguagem de Consulta Estruturada SQL- DML

A linguagem SQL

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

O que são Bancos de Dados?

SQL-99: Esquema de BD EMPRESA

ANÁLISE E PROJETO DE BANCO DE DADOS

Revisão de Bancos de Dados

Introdução em Banco de Dados

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

SQL Linguagem de Definição de Dados

Projeto e Administração de Banco de Dados

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Modelagem Física e SQL

Sistemas de Banco de Dados

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

MODELAGEM DE DADOS MODELO FÍSICO

SQL (Structured Query Language)

SQL Structured Query Language

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados

SQL (Structured Query Language)

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL (Structured Query Language)

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

DML: Conceitos Básicos INSERT UPDATE DELETE Atividade. Banco de Dados. Aula SQL (III) Bruno Neiva Moreno

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Transcrição:

Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL

2 Structured Query Language (SQL) Linguagem de consulta estruturada ; Padrão em SGBD s relacionais, o que favorece a portabilidade entre diferentes SGBD s; Possui um conjunto de instruções normatizado (ANSI 1986, ISO 1987, 1992, 1999, 2003, 2006, 2008, 2011, 2016, ); Adicionalmente, SGBD s incorporam recursos adicionais para facilitar o uso;

3 Structured Query Language (SQL) Linguagem declarativa: usuários se preocupam em dizer o que deve ser feito, e não como deve ser feito, simplificando assim seu uso; Insensível a caixa: comandos podem estar em maiúsculo ou minúsculo; Comandos SQL terminam com o caracter ; (ponto e vírgula). Atributos deixados em branco são marcados com o valor NULL;

4 Structured Query Language (SQL) SQL possui cláusulas para atuar como: Linguagem de Definição de Dados (DDL); Linguagem de Manipulação de Dados (DML); Linguagem de Consulta de Dados (DQL); Linguagem de Transação de Dados (DTL); Linguagem de Controle de Dados (DCL).

5 Structured Query Language (SQL) SQL possui cláusulas para atuar como: Linguagem de Definição de Dados (DDL); Linguagem de Manipulação de Dados (DML); Linguagem de Consulta de Dados (DQL); Linguagem de Transação de Dados (DTL); Linguagem de Controle de Dados (DCL).

6 Linguagem de Manipulação de Dados (DML) Através de uma DML, é possível inserir, alterar e remover informações em um banco de dados. As principais cláusulas DML na SQL são: INSERT: insere linhas em uma tabela; DELETE: remove linhas de uma tabela; UPDATE: atualiza (altera) linhas em uma tabela;

7 Inserindo linhas em uma Tabela A cláusula INSERT permite inserir linhas (tuplas) em uma tabela: INSERT INTO <tabela> VALUES ( <atributos da linha> );

8 Inserindo linhas em uma Tabela CREATE TABLE ( id INT, nome CHAR(200) NOT NULL, dt_nasc DATE, sexo CHAR(1) DEFAULT I, PRIMARY KEY(id) ); INSERT INTO VALUES (1, 'Jessica G', '19-03-1991', 'F'), (2, 'Leidiana I', '28-03-1993', 'F'), (3, 'Lucas S', NULL, 'M' );

9 Inserindo linhas em uma Tabela Também é possível inserir linhas especificando os atributos a serem preenchidos: INSERT INTO <tabela>( <atributos> ) VALUES ( <atributos da linha> );

10 Inserindo linhas em uma Tabela CREATE TABLE ( id INT, nome CHAR(200) NOT NULL, dt_nasc DATE, sexo CHAR(1) DEFAULT I, PRIMARY KEY(id) ); INSERT INTO (nome, id) VALUES ('Rachel M', 7), ('Rodrigo S', 5);

11 Inserindo linhas em uma Tabela Também é possível inserir linhas especificando os atributos a serem preenchidos: INSERT INTO <tabela>( <atributos> ) VALUES ( <atributos da linha> ); Essa forma de inserção é a mais recomendada devido ao fato de que a estrutura de uma tabela pode vir a mudar. Ao especificar exatamente quais os atributos estão sendo preenchidos e sua respectiva ordem, evita-se potenciais problemas futuros com alterações na estrutura da tabela.

12 A cláusula DELETE permite a remoção de linhas (tuplas) de uma tabela. Pode ser usada em conjunto com uma cláusula WHERE para especificar uma condição a serem satisfeitas pelas linhas sendo removidas: DELETE FROM <tabela> [WHERE <condição de seleção>];

13 A cláusula DELETE permite a remoção de linhas (tuplas) de uma tabela. Pode ser usada em conjunto com uma cláusula WHERE para especificar uma condição a serem satisfeitas pelas linhas sendo removidas: DELETE FROM <tabela> [WHERE <condição de seleção>]; Opcional: apenas as linhas cuja condição de seleção resultar em TRUE serão apagadas.

14 DELETE FROM WHERE id = 7;

15 DELETE FROM WHERE id = 7; Remove da tabela as linhas cujo campo id tem o valor 7. Como id é a chave primária, sabemos de antemão que, no máximo, uma linha será apagada.

16 DELETE FROM WHERE id = 9;

17 DELETE FROM WHERE id = 9; Como não há linha na tabela que atenda a condição especificada, nenhuma linha será removida.

18 DELETE FROM WHERE sexo = F ;

19 DELETE FROM WHERE sexo = F ; Remove da tabela as linhas cujo campo sexo esteja com o valor F.

20 DELETE FROM WHERE '01-01-1990' <= dt_nasc AND dt_nasc <= '31-12-1991';

21 DELETE FROM WHERE '01-01-1990' <= dt_nasc AND dt_nasc <= '31-12-1991'; Remove da tabela as linhas cujo campo dt_nasc esteja com o valor no intervalo entre 01/01/1990 e 31/12/1991.

22 DELETE FROM WHERE '01-01-1990' <= dt_nasc AND dt_nasc <= '31-12-1991'; Note que é possível utilizar operadores lógicos na condição de seleção.

23 DELETE FROM WHERE NOT( dt_nasc <= '01-01-1992' );

24 DELETE FROM WHERE NOT( dt_nasc <= '01-01-1992' ); Remove da tabela as linhas cujo campo dt_nasc tenha um valor que não seja menor ou igual que 01/01/1992.

25 DELETE FROM WHERE NOT( dt_nasc <= '01-01-1992' ); A comparação NOT( dt_nasc <= '01-01-1992' ) resultará em UNKNOWN (desconhecido) para as linhas onde dt_nasc está vazio. Por essa razão, essas linhas não são removidas.

26 Como remover as linhas cujo o campo dt_nasc esteja vazio?

27 Como remover as linhas cujo o campo dt_nasc esteja vazio? Devemos recordar que quando o campo está vazio, ele é marcado com o valor NULL; Todavia, o valor NULL é tratado de modo diferente dos demais, pois representa um valor que não se conhece ou não se aplica para a tupla em questão.

28 DELETE FROM WHERE dt_nasc = NULL; Uma comparação de igualdade ou desigualdade envolvendo o valor NULL sempre resulta em UNK- NOWN (desconhecido).

29 DELETE FROM WHERE dt_nasc = NULL; Em SQL um valor NULL nunca é considerado igual a outro NULL, pois ambos representam algum valor que não se conhece ou não se aplica.

30 DELETE FROM WHERE dt_nasc = NULL; Por essa razão, a linha acima não surte qualquer efeito na tabela, pois a condição de seleção sempre resultará em UNKNOWN (desconhecido).

31 Como remover as linhas cujo o campo dt_nasc esteja vazio? Através do operador IS NULL;

32 DELETE FROM WHERE dt_nasc IS NULL;

33 DELETE FROM WHERE dt_nasc IS NULL; A comparação resultará em TRUE para todas as linhas onde dt_nasc estiver com com o valor NULL (vazio).

34 Para selecionar valores não nulos, podemos usar o operador IS NOT NULL.

35 DELETE FROM WHERE dt_nasc IS NOT NULL;

36 O que ocorre se o DELETE for utilizado sem WHERE? DELETE FROM ;

37 O que ocorre se o DELETE for utilizado sem WHERE? DELETE FROM ; Todas as linhas da tabela serão apagadas!

38 Alterando linhas de uma Tabela A cláusula UPDATE permite a atualização (alteração) de linhas (tuplas) de uma tabela. Assim como DELETE, também pode ser usada em conjunto com uma cláusula WHERE para especificar uma condição a serem satisfeitas pelas linhas sendo removidas: UPDATE <tabela> SET {<coluna> = <expressão>}* [WHERE <condição de seleção>];

39 Alterando linhas de uma Tabela A cláusula UPDATE permite a atualização (alteração) de linhas (tuplas) de uma tabela. Assim como DELETE, também pode ser usada em conjunto com uma cláusula WHERE para especificar uma condição a serem satisfeitas pelas linhas sendo removidas: UPDATE <tabela> SET {<coluna> = <expressão>}* [WHERE <condição de seleção>]; Opcional: apenas as linhas cuja condição de seleção resultar em TRUE serão apagadas.

40 Alterando linhas de uma Tabela UPDATE SET nome = 'Jeh Melo' WHERE id = 1;

41 Alterando linhas de uma Tabela UPDATE SET nome = 'Jeh Melo' WHERE id = 1; Atualiza o campo nome para Jeh Melo nas linhas cujo campo id tenha o valor 1.

42 Alterando linhas de uma Tabela UPDATE SET sexo = 'F', nome = 'Luna Souza' WHERE id = 3;

43 Alterando linhas de uma Tabela UPDATE SET sexo = 'F', nome = 'Luna Souza' WHERE id = 3; Atualiza os campos sexo e nome nas linhas cujo campo id está com valor 3.

44 Alterando linhas de uma Tabela UPDATE SET sexo = NULL WHERE sexo = 'I';

45 Alterando linhas de uma Tabela UPDATE SET sexo = NULL WHERE sexo = 'I'; Atualiza o campo sexo para o valor NULL (vazio) nas linhas cujo o campo sexo está com o valor I.

46 Alterando linhas de uma Tabela UPDATE SET id = 10*id;

47 Alterando linhas de uma Tabela UPDATE SET id = 10*id; Atualiza o campo id multiplicando o próprio valor do id por 10. Note que a ausência de WHERE faz com que a operação seja aplicada a todas as linhas.

48 A Cláusula WHERE É recomendável sempre testar a condição de seleção especificada por meio da cláusula WHERE antes de realizar operações de atualização e remoção. Do contrário, pode-se remover ou alterar dados indevidamente; O teste pode ser feito através da cláusula SELECT (discutida adiante).