[IF559] BANCO DE DADOS 1
Alterações de/nas Tabelas
Prof. Ismael César
ismael.cesar@ufpe.br
Material adaptado do Prof. Nicolas Melo
SQL - DDL
(Data Definition Language)
SQL - DDL
Alterações de um esquema
SQL - DDL
Alterações de um esquema - DROP
DROP DATABASE LIVRARIA;
DROP TABLE LIVRO;
SQL - DDL
Alterações de um esquema - TRUNCATE e DELETE
TRUNCATE TABLE LIVRO;
DELETE FROM LIVRO WHERE num_pag > 100;
SQL - DDL
Alterações de um esquema - ALTER
ALTER TABLE EMPRESA.FUNCIONARIO ADD COLUMN Tarefa VARCHAR ( 12 );
SQL - DDL
Alterações de um esquema - ALTER
ALTER TABLE EMPRESA.FUNCIONARIO DROP COLUMN Endereco CASCADE;
SQL - DDL
Alterações de um esquema - ALTER
ALTER TABLE EMPRESA.DEPARTAMENTO ALTER COLUMN Cpf_gerente DROP DEFAULT;
ALTER TABLE EMPRESA.DEPARTAMENTO ALTER COLUMN Cpf_gerente SET DEFAULT ‘33344555587’;
SQL - DDL
Alterações de um esquema - ALTER
ALTER TABLE EMPRESA.FUNCIONARIO MODIFY Minicial VARCHAR(3) NOT NULL;
SQL - DML
(Data Manipulation Language)
SQL - DML
SQL - DML
Inserir dados em tabelas - INSERT
Criação da tabela FUNCIONARIO
,
SQL - DML
Inserir dados em tabelas - INSERT
INSERT INTO FUNCIONARIO
VALUES ('João', 'C', 'Silva',
'12345688910',
TO_DATE('15/03/2000','dd/mm/yyyy'),
'Rua Jiquiá, 00, Recife, PE',
'M',
35000,
'12457896524',
4);
SQL - DML
Inserir dados em tabelas - INSERT
INSERT INTO FUNCIONARIO (Pnome, Unome, Cpf, Cpf_supervisor)
VALUES ('João', 'Silva',
'12345688910',
'12457896524');
SQL - DML
Inserir dados em tabelas - INSERT
CREATE TABLE ANIVERSARIO (niver DATE);
INSERT INTO ANIVERSARIO (
SELECT Datanasc FROM FUNCIONARIO);
SQL - DML
Inserir dados em tabelas - INSERT
CREATE TABLE NOME_ANIVERSARIO (nome_func VARCHAR(30), niver DATE);
INSERT INTO NOME_ANIVERSARIO (
SELECT Pnome, Datanasc FROM FUNCIONARIO);
SQL - DML
Atualizar dados em tabelas - UPDATE
SQL - DML
Atualizar dados em tabelas - UPDATE
/*Altera todos os valores da coluna niver*/
UPDATE ANIVERSARIO SET niver = '31-mar-2001';
/*Altera todos os valores da coluna niver, daquelas tuplas aquele atributo é nulo*/
UPDATE NOME_ANIVERSARIO SET niver = '31-mar-2001' WHERE niver IS NULL;
/*Conceder aumento de 10% aos funcionários do departamento 5*/
UPDATE FUNCIONARIO SET Salario = Salario*1.1 WHERE Dnr=5;
SQL - DML
Deletar dados de tabelas - DELETE
SQL - DML
Deletar dados de tabelas - DELETE
/*Remove todas as tuplas da tabela*/
DELETE FROM NOME_ANIVERSARIO;
/*Remove todas as tuplas da tabela que possuem o atributo nome_func igual a João*/
DELETE FROM NOME_ANIVERSARIO WHERE nome_func='João';