0% acharam este documento útil (0 voto)
29 visualizações28 páginas

Unidade 1

Enviado por

mateusnoc.acesso
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
29 visualizações28 páginas

Unidade 1

Enviado por

mateusnoc.acesso
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 28

Linguagens

Inserir Título Aqui


Inserir
SQL e NoSql
Título Aqui
Comandos DDL e DML

Responsável pelo Conteúdo:


Profa. Esp. Lúcia Contente Mós

Revisão Textual:
Prof. Ms. Claudio Brites
Comandos DDL e DML

Nesta unidade, trabalharemos os seguintes tópicos:


• Contextualização
• SQL – Structured Query Language
• Material Complementar

Fonte: iStock/Getty Images


Objetivos
• Conhecer as principais características da linguagem SQL;
• Conhecer os comandos DDL (Create, Alter e Drop) para tabelas;
• Conhecer as constraints/restrições que podem ser colocadas na tabela;
• Conhecer os comandos de DML para manipular os dados dentro da tabela (Insert, Update
e Delete).

Caro Aluno(a)!

Nesta unidade, abordaremos o conceito de Comandos da Linguagem SQL, categorias


DDL e DML. Os principais objetivos dessa unidade são criar estruturas completas para
armazenamento de dados e população e manipulação de dados.

Não se esqueça de acessar ao link Materiais Didáticos, onde encontrará o conteúdo e as


atividades propostas para esta unidade.

Bons Estudos!
UNIDADE
Comandos DDL e DML

Contextualização
Com essas categorias de comandos, é possível fazer a implementação do modelo físi-
co do banco de dados, ou seja, fazer a criação, alteração e exclusão de tabelas e popu-
lação dos dados. É o momento onde todo trabalho começa, portanto, tal conhecimento,
tornar-se essencial para a sobrevivência na área de banco de dados.

6
SQL – Structured Query Language
Aqui serão abordadas as estruturas SQL para a criação e manipulação de tabelas
e dados. Na linguagem SQL é estruturada e utiliza uma combinação de construtores
em álgebra e cálculo relacional que possibilita a realização de consultas, a manipulação
de tabelas e dados. Essa também permite a criação, alteração e exclusão de tabelas e
manipulações de dados. A lingaugem SQL é um padrão utilizado pelos Sistemas de
Gerenciamento de Banco de Dados (SGBD) relacionais.

Histórico
Quando os bancos de dados relacionais estavam sendo desenvolvidos, foram
criadas linguagens destinadas à sua manipulação. O departamento de pesquisas da
IBM desenvolveu a SQL como forma de interface para o sistema de banco de dados
(BD) relacional denominado SYSTEM R, no início dos anos 1970, originalmente
chamada de Structured English Query Language (SEQUEL).

Em 1977, foi revisada e passou a ser chamada de Structured Query Language (SQL).
Em 1986, o American National Standard Institute (ANSI) publicou um padrão SQL,
então a SQL se estabeleceu como linguagem padrão para bancos de dados relacionais.

Características da SQL
A SQL possui comandos para a definição dos dados (DDL – Data Definition Language),
comandos para a manipulação de dados (DML – Data Manipulation Language) e uma
subclasse de comandos DML, a Data Control Language (DCL), que dispõe de comandos
de controle como Grant e Revoke.

Instruções DDL
Os comandos DDL (Data Definition Language), composta entre outros pelos
comandos Create, que é destinado à criação do banco de dados, das tabelas que o
compõem, além das relações existentes entre as tabelas. Como exemplo de comandos
da classe DDL, temos os comandos Create, Alter e Drop. Por meio das instruções DDL,
podem ser realizadas as tarefas de:
• Criação, alteração e eliminação de objetos do banco de dados, como por exemplo:
tabelas, índices, sequências;
• Concessão e revogação de privilégios em objetos;
• Criação do banco de dados;
• Criação de usuários;
• Concessão e revogação de privilégios a usuários.

7
7
UNIDADE
Comandos DDL e DML

Instruções DML
Os comandos da série DML (Data Manipulation Language) são destinados a consul-
tas, inserções, exclusões e alterações em um ou mais registros de uma ou mais tabelas
de maneira simultânea. Como exemplo de comandos da classe DML, pode-se citar os
comandos:
• Insert – Inserção de dados;
• Update – Alteração de dados;
• Delete – Remoção de dados;
• Commit – Confirmação das manipulações;
• Rollback – Desistência das manipulações.

Instruções DQL
Os comandos da série Data Query Language (DQL) servem para fazer a recuperação
dos dados. Todas as consultas são executadas através deste tipo de comando:
• Select: seleciona linhas de dados de tabelas ou visões.

Instruções DCL
Os comandos da série Data Control Language (DCL) são utilizados para controlar os
privilégios de usuários, com eles é possível:
• permitir a um usuário que se conecte ao banco;
• permitir que crie objetos no banco;
• permitir que consulte objetos do banco; entre outros;
• cancelar os privilégios de um usuário ou personagem.

Para isso, estão disponíveis as instruções:


• Grant: utilizada para conceder privilégios aos usuários;
• Revoke: utilizada para cancelar os privilégios dos usuários.

Edição de comandos da SQL:


• Não é feita distinção entre maiúsculas de minúsculas, a menos que indicado;
• As instruções SQL podem ser digitadas em uma ou mais linhas;
• As palavras-chave não podem ser divididas entre as linhas nem abreviadas;
• As cláusulas são em geral colocadas em linhas separadas para melhor legibilidade
e facilidade de edição;

8
• As guias e endentações podem ser usadas para tornar o código mais legível. Em
geral, as palavras-chave são digitadas em letras maiúsculas, todas as outras palavras,
como nomes de tabela e colunas são digitadas em minúsculas;
• Dentro do ambiente SQL*Plus, uma instrução SQL é digitada no prompt SQL e as
linhas subsequentes são numeradas, isso é chamado buffer de SQL. Somente uma
instrução pode ser a atual a qualquer momento dentro do buffer.

Criando Tabelas
Está é uma operação DDL. Para criar uma tabela, é necessário que o usuário tenha pri-
vilégio e uma área para armazenamento. A sintaxe simplificada para criação de tabelas é:

Sintaxe: CREATE TABLE [esquema.] tabela

(nome da coluna tipo do dado [DEFAULT expr]

[constraint da coluna],

...,

[constraint da tabela]);

onde:

Esquema: É o nome do proprietário da tabela; quando omitido, a tabela


é criada no esquema do usuário corrente.
Tabela: É o nome da tabela.
DEFAULT expr: Especifica um valor default que será utilizado quando um dado
for omitido na inserção.
Coluna: É o nome da coluna.
Tipo de dados: É o tipo de dados e o comprimento da coluna.
Constraint: Esta cláusula é opcional e especifica as restrições para a coluna
ou para a tabela; quando o nome da constraint é omitido, o
Oracle assume uma identificação.

Convenções para a nomeação de tabelas e colunas:


• Deve começar com uma letra;
• Pode ter de 1 a 30 caracteres;
• Deve conter somente A–Z, a–z, 0–9, _, $ e #;
• Não deve duplicar o nome de outro objeto de propriedade do mesmo usuário;
• Não deve ser uma palavra reservada pelo SBGDR.

9
9
UNIDADE
Comandos DDL e DML

Tipos de Dados:

Tabela 1

Tipos de Dados Descrição


VARCHAR2 (tamanho) Dados de caractere de comprimento variável
CHAR (tamanho) Dados de caractere de comprimento fixo
NUMBER (p,s) Dados numéricos de comprimento variável
DATE Valores de data e hora
LONG Dados de caractere de comprimento variável até 2 gigabytes
CLOB Dados de caractere de um byte de até 4 gigabytes
RAW e LONG RAW Dados binários brutos
BLOB Dados binários de até 4 gigabytes
BFILE Dados binários armazenados em um arquivo externo de até 4 gigabytes

Para os exemplos e as práticas serão utilizadas as tabelas EMP e DEPT (que constam
no ambiente default), que contêm, respectivamente, informações sobre os funcionários
e sobre os departamentos de uma empresa e, para que não exista necessidade de
armazenar os dados sobre o nome do departamento e a localização dos mesmos para
cada registro de funcionários, elas são relacionadas por meio dos campos DEPTNO –
que na tabela EMP é chave estrangeira e na tabela DEPT é chave primária.

Tabela 2

Tabela EMP Tabela DEPT


Empno Ename Deptno Deptno Dname Loc
7839 KING 10 10 ACCOUTING NEW YORK

7782 CLARK 10 20 RESEARCH DALLAS


7566 JONES 20 30 SALES CHICAGO
7698 BLAKE 30 40 OPERATIONS BOSTON
FK PK

No exemplo abaixo, está sendo criada a tabela DEPT com três colunas chamadas:
DEPTNO, DNAME e LOC.

SQL>CREATE TABLE dept

2 (deptno NUMBER(2),

3 dname VARCHAR2(14),

4 loc VARCHAR2(13));

Table created.

10
A instrução describe é utilizada para exibir a estrutura de uma tabela.

SQL> DESCRIBE dept

Name Null? Type

------------------ -------- ---------

DEPTNO NUMBER(2)

DNAME VARCHAR2(14)

LOC VARCHAR2(13)

Restrições (constraints)
As restrições impõem regras que podem ser no nível da coluna ou no nível da tabela.
São utilizadas para impedir que dados inválidos sejam digitados nas tabelas, garantindo
assim a consistência dos dados.

Os seguintes tipos de restrição são válidos no Oracle:


• NOT NULL – Impõe a inserção obrigatória de dados nas colunas com essa restrição;
• UNIQUE – Campos com essa restrição não aceitam dados com valores já inseridos
em outros registros;
• PRIMARY KEY – Define uma ou mais colunas como chave primária da tabela;
• FOREIGN KEY – Define uma ou mais colunas como chave estrangeira da tabela;
• CHECK – Especifica uma lista de valores que serão utilizados para validar a inserção
de um dado.

Restrição NOT NULL – Valor Obrigatório


A restrição NOT NULL assegura que os valores nulos não sejam permitidos na coluna.
As colunas sem uma restrição NOT NULL podem conter valores nulos por default. Deve
ser definida no nível da coluna.

Exemplo: no exemplo acima, a restrição NOT NULL está sendo aplicada às colunas
ENAME e DEPTNO da tabela EMP. Observe que na linha 3 a restrição está sendo
identificada; já na linha 9 não, o Oracle a identificará de acordo com o seu padrão de
identificação SYS_cn.

11
11
UNIDADE
Comandos DDL e DML

SQL> CREATE TABLE emp(

2 empno NUMBER(4),

3 ename VARCHAR2(10) constraint emp_ename_NN NOT NULL,

4 job VARCHAR2(9),

5 mgr NUMBER(4),

6 hiredate DATE,

7 sal NUMBER(7,2),

8 comm NUMBER(7,2),

9 deptno NUMBER(7,2) NOT NULL);

Para verificar se as colunas da tabela estão ou não com a restrição NOT NULL, utilize
a instrução DESCRIBE, como segue exemplo abaixo:

SQL> DESCRIBE EMP;

Name Null? Type

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NOT NULL NUMBER(2)

Restrição UNIQUE KEY – Valor Único


Uma restrição de integridade UNIQUE KEY requer que cada valor em uma coluna
ou conjunto de colunas (chave) sejam exclusivos — ou seja, duas linhas de uma tabela
não podem ter valores duplicados em uma coluna específica ou conjunto de colunas.
A coluna (ou conjunto de colunas) incluída na definição da restrição UNIQUE KEY é
chamada de chave exclusiva. Se a chave UNIQUE contiver mais de uma coluna, tal
grupo de colunas é considerado uma chave exclusiva composta.

Exemplo: criar a tabela dept cujo nome do departamento (dname) não poderá
ser duplicado:

12
SQL> CREATE TABLE dept(

2 deptno NUMBER(2),

3 dname VARCHAR2(14),

4 loc VARCHAR2(13),

5 CONSTRAINT dept_dname_uk UNIQUE(dname));

Restrição PRIMARY KEY – Chave Primária


Uma restrição PRIMARY KEY cria uma única chave primária para cada tabela.
A restrição PRIMARY KEY é uma coluna ou conjunto de colunas que identifica
exclusivamente cada linha em uma tabela. Essa restrição impõe a exclusividade da
coluna ou combinação de colunas e assegura que nenhuma coluna que seja parte da
chave primária possa conter um valor nulo.

Exemplo: criar a tabela dept cujo campo número do departamento (deptno) deverá
ser a chave de identificação do registro:

SQL> CREATE TABLE dept(

2 deptno NUMBER(2),

3 dname VARCHAR2(14),

4 loc VARCHAR2(13),

5 CONSTRAINT dept_dname_uk UNIQUE (dname),

6 CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));

Chave Primária Composta

SQL> CREATE TABLE pk_composta(

2 valor1 NUMBER(2),

3 valor2 NUMBER(2),

4 CONSTRAINT dept_deptno_pk PRIMARY KEY(valor1, valor2));

Restrição FOREIGN KEY – Chave Estrangeira


É uma restrição de integridade referencial, designa uma coluna ou combinação de
colunas como a chave estrangeira e estabelece um relacionamento entre a chave primária,
ou uma chave exclusiva, na mesma tabela ou em uma tabela diferente. Um valor de chave
estrangeira deve corresponder a um valor existente na tabela mãe ou ser NULL.

As chaves estrangeiras são baseadas nos valores dos dados, sendo puramente lógicas,
e não ponteiros físicos.

13
13
UNIDADE
Comandos DDL e DML

Exemplo: no exemplo a seguir, o DEPTNO foi definido como a chave estrangeira na


tabela EMP (tabela filha ou dependente); ela faz referência à coluna DEPTNO da tabela
DEPT (tabela mãe ou referenciada).

SQL> CREATE TABLE emp(

2 empno NUMBER(4),

3 ename VARCHAR2(10) NOT NULL,

4 job VARCHAR2(9),

5 mgr NUMBER(4),

6 hiredate DATE,

7 sal NUMBER(7,2),

8 comm NUMBER(7,2),

9 deptno NUMBER(7,2) NOT NULL,

10 CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)

11 REFERENCES dept (deptno) );

Restrição CHECK – Verificação de Valores


Define uma condição que cada registro deve atender. Podem ser utilizados operadores
de comparação para a delimitação dos valores a serem aceitos para a coluna.

Exemplo: para evitar erros de digitação do usuário, você coloca uma restrição do tipo
CHECK para o campo SALÁRIO, em que o mesmo deve ser maior do que o salário
mínimo de R$800,00. Dessa forma, ao tentar inserir valor menores do que 800, a
restrição será ativada e será apresentado um erro para o usuário.

SQL> CREATE TABLE emp(

2 empno NUMBER(4),

3 ename VARCHAR2(10) NOT NULL,

4 job VARCHAR2(9),

5 mgr NUMBER(4),

6 hiredate DATE,

7 sal NUMBER(7,2),

8 constraint emp_sal_ck check (sal > 800));

14
Consultando Restrições de uma Tabela
No exemplo a seguir, serão consultadas as restrições definidas para a tabela emp:

SQL>SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE,

2 STATUS,SEARCH_CONDITION

3 FROM USER_CONSTRAINTS

4 WHERE TABLE_NAME = ‘EMP’;

onde:

CONSTRAINT_NAME: é o nome da restrição


CONSTRAINT_TYPE: tipos de restrições aos quais os campos estão envolvidos,
onde:
C = NOT NULL
P = PRIMARY KEY
R = FOREIGN KEY
U = UNIQUE KEY
STATUS: representa o estado em que a restrição se encontra:
ENABLE, significa que a restrição está válida e está sendo
usada; e DISABLE, que a restrição está desabilitada e que
por isso não está em uso.
SEARCH_CONDITION: é a condição expressa da restrição.

Resultado:

CONSTRAINT_NAME C STATUS SEARCH_CONDITION

---------------- - ------- -------------------

SYS_C00884 C ENABLED “EMPNO” IS NOT NULL

SYS_C00885 C ENABLED “DEPTNO” IS NOT NULL

EMP_EMPNO_PK P ENABLED

EMP_MGR_FK R ENABLED

EMP_DEPTNO_FK R ENABLED

EMP_ENAME_UK U ENABLED

15
15
UNIDADE
Comandos DDL e DML

Instrução ALTER TABLE


Depois das tabelas terem sido criadas, pode ser necessário alterar suas estruturas para
acrescentar uma nova coluna, para redefinir a estrutura de uma coluna, para adicionar
ou alterar uma restrição. Para isso, pode ser utilizada a instrução ALTER TABLE.

Adicionando colunas
Para adicionar colunas, deve-se utilizar a cláusula add em conjunto com a instrução
ALTER TABLE:

Sintaxe:

ALTER TABLE tabela

Add (nome da coluna tipo de dado [restrições], ...);

Onde:
• Tabela: Nome da tabela que irá ser alterada para possuir a coluna ou restrição
especificada.
• Nome da coluna: Nome da coluna que será acrescentada.
• Tipo de dado: Tipo de dado da coluna que será acrescentada.
• Restrições: Especificação das restrições para a coluna acrescentada, se for necessário.

Exemplo: Adicionar a coluna hobby, alfanumérica com 15 posições, à tabela EMP.

SQL> ALTER TABLE emp

2 ADD (hobby VARCHAR2(15));

A nova coluna torna-se a última coluna na tabela.

Se uma tabela já contiver linhas quando uma coluna for adicionada, então a nova coluna
será inicialmente nula para todas as linhas.

Adicionando Restrições
Para adicionar colunas, deve-se utilizar a cláusula add em conjunto com a instrução
ALTER TABLE:

Sintaxe:

ALTER TABLE tabela

ADD [CONSTRAINT restrição] tipo (coluna);

onde:
• Tabela: é o nome da tabela.

16
• Restrição: é o nome da restrição, é opcional mas recomendado.
• Tipo: é o tipo da restrição.
• Coluna: é o nome da coluna afetada pela restrição.

Exemplo: adicionar uma restrição FOREIGN KEY à tabela EMP, indicando que um
gerente já deve existir como um funcionário válido na tabela EMP.

SQL> ALTER TABLE emp

2 ADD CONSTRAINT emp_mgr_fk

3 FOREIGN KEY(mgr) REFERENCES emp(empno);

• Restrições não podem ser modificas; mas, para adicionar uma restrição NOT NULL, pode-se
usar a cláusula MODIFY;
• Uma coluna pode ser especificada como NOT NULL somente se a tabela não contiver linhas.

Modificando Colunas
Para modificar a estrutura das colunas, deve-se utilizar a cláusula modify em conjunto
com a instrução ALTER TABLE:

Sintaxe:

ALTER TABLE tabela

MODIFY (coluna especificações);

Onde:
• Tabela: Nome da tabela.
• Coluna: Nome da coluna que sofrerá modificações.
• Especificações: Tipo de dado, tamanho, restrições.

Exemplo: Alterar o tamanho da coluna ename da tabela EMP para 30 posições.

SQL> ALTER TABLE EMP

2 MODIFY (ename VARCHAR2(30));

É possível:
• aumentar a largura ou precisão de uma coluna numérica;
• diminuir a largura de uma coluna se contiver somente valores nulos e/ou se a tabela
não tiver linhas;
• alterar o tipo de dados se a coluna contiver valores nulos;
• converter uma coluna CHAR para o tipo de dados VARCHAR2, ou vice-versa, se a
coluna contiver valores nulos ou se o tamanho da coluna não for alterado.

17
17
UNIDADE
Comandos DDL e DML

Uma alteração no valor default de uma coluna afeta somente as inserções subsequentes
à tabela.

Eliminando uma Restrição


Para remover uma restrição, deve-se utilizar a cláusula drop constraint em conjunto
com a instrução ALTER TABLE:

Sintaxe:

ALTER TABLE tabela

DROP PRIMARY KEY | UNIQUE (coluna) |

CONSTRAINT restrição [CASCADE];

Onde:
• Tabela: Nome da tabela.
• Coluna: É o nome da coluna afetada pela restrição.
• Restrição: Nome da constraint que será eliminada.
• Cascade: Está cláusula elimina todas as restrições dependentes.

Exemplo: remover a restrição PRIMARY KEY na tabela DEPT e eliminar a restrição


FOREIGN KEY associada na coluna EMP.DEPTNO.

SQL> ALTER TABLEdept

2 DROP PRIMARY KEY CASCADE;

Para descobrir o nome da restrição, pode-se consultar as views1 do dicionário de


dados USER_CONSTRAINTS ou USER_CONS_COLUMNS. Antes de executar a
consulta, verifique os nomes das colunas com a instrução DESCRIBE.

Exemplo:

SELECT CONSTRAINT_NAME, COLUMN_NAME

FROM USER_CONS_COLUMNS

WHERE TABLE_NAME = ‘EMP’;

1 As views do dicionário de dados são “tabelas” lógicas que contém informações sobre os objetos do banco de dados.

18
Resultado:

CONSTRAINT_NAME COLUMN_NAME

EMP_DEPTNO_FK DEPTNO

EMP_EMPNO_PK EMPNO

EMP_ENAME_UK ENAME

EMP_MGR_FK MGR

SYS_C00884 EMPNO

SYS_C00885 DEPTNO

Eliminando uma Tabela


A instrução DROP TABLE remove a definição de uma tabela. Quando uma tabela é
eliminada, o banco de dados perde todos os dados na tabela e todos os índices associados
a ela.

Sintaxe:

DROP TABLE tabela;

onde:
• Tabela: é o nome da tabela

Exemplo: Eliminar a tabela dept30.

SQL> DROP TABLE dept30;

Ao eliminar uma tabela:


• Todos os dados são deletados da tabela;
• As views e sinônimos permanecerão, mas serão inválidos;
• Todas as transações pendentes sofrerão commit;
• Somente o criador da tabela ou um usuário com o privilégio DROP ANY TABLE
poderá remover uma tabela.

A instrução DROP TABLE, uma vez executada, é irreversível. O Oracle Server não questiona
a ação quando você emite a instrução DROP TABLE. Se você possuir tal tabela ou tiver um
privilégio de nível superior, então a tabela será imediatamente removida.

19
19
UNIDADE
Comandos DDL e DML

Comandos DML
Inserção de Dados
A inserção de dados é uma operação DML.

Sintaxe:

INSERT INTO tabela [(coluna [, coluna...])] VALUES (valor [,


valor...]);

Onde:

TABELA: Nome da tabela.


COLUNA: Nome da coluna a ser preenchida, a lista de colunas pode
ser omitida; nesse caso, devem ser informados valores
para todas as colunas.
VALOR: O valor correspondente para a coluna. Os valores de data
e caractere devem ser informados entre aspas simples.

Para verificar a ordem default das colunas de uma tabela e o tipo de dado esperado,
utilize a instrução describe.

SQL> DESCRIBE dept

Name Null? Type

-------- -------- -------

DEPTNO NUMBER(2) NOT NULL

DNAME VARCHAR2(14)

LOC VARCHAR2(13)

Exemplo 1: instrução completa para inserção de dados

SQL> INSERT INTO dept (DEPTNO, DNAME, LOC)

2 VALUES (70, ‘PRODUCAO’, ‘MARILIA’);

Neste caso, não existe a necessidade de indicar as colunas que irão receber as
inserções, pois estão sendo inseridos valores para todas as colunas, então o mesmo
exemplo poderia ser resolvido assim:

Exemplo 2:

SQL> INSERT INTO dept

2 VALUES (70, ‘PRODUCAO’, ‘MARILIA’);

Também é possível a inserção implícita de nulos, isto é, pode-se deixar de informar


uma coluna na inserção de dados, para a qual será atribuído nulo:

20
Exemplo 3:

SQL> INSERT INTO dept (deptno, dname )

2 VALUES (60, ‘MIS’);

A tabela dept contém as coluna: deptno, dname e loc; no entanto, no exemplo


anterior estão sendo inseridos valores apenas às colunas deptno e dname – nesse caso,
a coluna loc irá conter NULL.

Exemplo 4:

SQL> INSERT INTO dept

2 VALUES (70, ‘FINANCE’, NULL);

Já neste outro exemplo, o nulo para a coluna loc está sendo explicitado. Note que a
lista de colunas é omitida pois estão sendo mencionados os dados para todas as colunas.
A palavra NULL poderia ser substituida por aspas simples (70, ‘FINANCE’, ‘’).

Para inserção de datas, a deverá ser informada de acordo com a configuração do


sistema, veja o exemplo a seguir:

Exemplo 5:

SQL> INSERT INTO emp

2 VALUES (2296,’AROMANO’,’SALESMAN’,7782, ‘03/02/97’,

3 1300, NULL, 10);

O resultado pode ser visualizado executando a consulta:

SQL> Select *

2 from emp;

Alteração de Dados
A alteração de dados é uma operação DML.

Sintaxe:

UPDATE tabela

SET coluna = valor [, coluna = valor, ...]

[WHERE condição];

onde:

21
21
UNIDADE
Comandos DDL e DML

TABELA: Nome da tabela.


COLUNA: Nome da coluna a ser preenchida, podem ser atualizados
os dados de várias colunas.
VALOR: Valor correspondente ou subconsulta para a coluna.
CONDIÇÃO: Uma cláusula opcional, identifica as linhas a serem
atualizadas de acordo com uma condição que pode ser
composta por expressões de comparação ou subconsultas.

Exemplo: alterar o código do departamento para 20 do funcionário com código 7782:

SQL> UPDATE emp

2 SET deptno = 20

3 WHERE empno = 7782;

Remoção de dados
A remoção de dados é uma operação DML.

Sintaxe:

DELETE [FROM]tabela [WHERE condição];

Onde:

TABELA: Nome da tabela.


CONDIÇÃO: Esta cláusula é opcional e identifica as linhas a serem
eliminadas de acordo com uma condição que pode ser
composta por expressões de comparação ou subconsultas.

Exemplo:

SQL> DELETE FROM dept

2 WHERE dname = ‘PRODUCAO’;

Todas as linhas na tabela serão removidas se a cláusula WHERE for omitida.

Confirmando ou Descartando Transações


Uma transação é um conjunto de operações DML que são realizadas para concluir
uma determinada tarefa.

Quando não ocorrem falhas no processamento das operações de uma transação,


ela pode ser efetivada (salva); nesse caso, as modificações são refletidas fisicamente no
banco de dados.

22
As instruções responsáveis pelo controle das transações são o commit e o rollback. A
emissão de um commit confirma as transações, isto é, efetiva as manipulações de dados
realizadas nas tabelas. A emissão de um rollback descarta as transações que ainda não
tenham sido confirmadas (comitadas).

Exemplo usando commit: atualizar a tabela EMP e definir o número de departamento


para o funcionário 7782 (Clark) como 10 e depois confirmar a alteração.

SQL> UPDATE emp

2 SET deptno =10

3 WHERE empno=7782;

SQL> COMMIT;

É importante lembrar que após a emissão do comando COMMIT não há mais como reverter
a operação feita anteriormente.

Exemplo usando rollback: remover todas as linhas da tabela employee.

SQL> Delete

2 From employee;

14 rows deleted

SQL> ROLLBACK;

23
23
UNIDADE
Comandos DDL e DML

Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Livros
Linguagem SQL Fundamentos e Práticas
CARDOSO, Virginia; CARDOSO, Giselle. Linguagem SQL fundamentos e práticas.
São Paulo: Editora Saraiva, 2013.

Sistemas de Banco de Dados


CARDOSO, Virginia; CARDOSO, Giselle. Sistemas de banco de dados: uma
abordagem introdutória e aplicada. São Paulo: Editora Saraiva, 2012.

SQL Structured Query Language


DAMAS, Luís. SQL Structured Query Language. São Paulo: LTC, 2007.

Banco de Dados
MACHADO, Felipe Nery Rodrigues. Banco de dados: projeto e implementação. São
Paulo: Ed. Érica|Saraiva, 2004.

Oracle Database 11G SQL


PRICE, Jason. Oracle database 11G SQL. São Paulo: Bookman, 2008.

24
Referências
CARDOSO, Virginia; CARDOSO, Giselle. Linguagem SQL fundamentos e práticas.
São Paulo: Editora Saraiva, 2013.

PRICE, Jason. Oracle database 11G SQL. São Paulo: Bookman, 2008

25
25

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy