Banco de Dados
3. SQL DML
Insero Alterao Excluso Consulta (Aula Separada)
4. SQL DCL
Banco de Dados Structured Query Language
Reginaldo Gotardo 2
Banco de Dados
Reginaldo Gotardo 3
Introduo
Introduo
Recursos:
Alto poder de consulta Gerenciamento de ndices Construo de vises Execuo de instrues em blocos
Banco de Dados
SQL - Tipos
Linguagem de Definio de Dados (DDL): comandos para definir, alterar e remover tabelas e ndices; Linguagem de Manipulao de Dados (DML): comandos para inserir, remover, atualizar e consultar os dados armazenados nas tabelas; Linguagem de Controle de Dados (DCL): comandos para se trabalhar em ambiente multiusurio, permitindo estabelecer nveis de segurana e manipular transaes.
Banco de Dados
Reginaldo Gotardo 5
Banco de Dados
necessrio possuir permisso de criao <nome> no deve possuir espao em branco Informaes opcionais
Conjunto de caracteres
latin1_bin e latin1_swedish_ci
Reginaldo Gotardo 7
Somente os bancos de dados que o usurio logado em questo possuir acesso sero mostrados Pode haver outros bancos cujo usurio no tem acesso
Reginaldo Gotardo
Reginaldo Gotardo 9
10
Reginaldo Gotardo
necessrio que o usurio em questo tenha permisso de DROP ! Toda estrutura e os dados contidos no banco em questo sero excludos de forma definitiva e irreversvel.
Certifique-se se deseja, realmente, fazer isto!
Sintaxe: DROP DATABASE [<nome_do_banco>];
Banco de Dados
11
Reginaldo Gotardo
Ative o banco de dados onde deseja cri-la Tambm possvel fazer isto sem informar o banco
Reginaldo Gotardo
Structured Query Language
Nome_banco.nome_tabela
Banco de Dados
12
Nome da tabela
No usar espao em branco (preferencialmente) Tamanho inferior a 64 caracteres
Reginaldo Gotardo
Banco de Dados Structured Query Language
13
Banco de Dados
14
Reginaldo Gotardo
Voc pode definir na frente de cada coluna se ser uma chave primria ou ser um ndice.
Banco de Dados
15
Reginaldo Gotardo
Banco de Dados
Aps definir as colunas tambm possvel configurar a chave primria desta forma
Banco de Dados
Banco de Dados
Banco de Dados
20
Reginaldo Gotardo
Para definir mais colunas deve-se separ-las por vrgula No possvel definir duas ou mais colunas com o mesmo nome (idnticos) Nas opes avanadas voc pode:
Banco de Dados
21
Reginaldo Gotardo
Banco de Dados
22
Reginaldo Gotardo
Definir qual valor a coluna de auto-incremento deve assumir no momento (obrigatrio em migrao e backups para que seja assumido este valor quando ocorrer a reconstruo do banco).
Banco de Dados
23
Reginaldo Gotardo
Definir o conjunto de caracteres da tabela em questo. Existem opes para lngua portuguesa e lngua inglesa (alm de outras) como o latin1_bin e o utf8_bin.
Banco de Dados
24
Reginaldo Gotardo
Banco de Dados
25
Reginaldo Gotardo
Banco de Dados
26
Reginaldo Gotardo
PRIMARY KEY (CodD), FOREIGN KEY (preReqD) REFERENCES Disciplina (codD) ON DELETE CASCADE ) ENGINE=InnoDB;
Banco de Dados
Depois
Reginaldo Gotardo 28
SHOW TABLES;
Banco de Dados
Banco de Dados
29
Reginaldo Gotardo
Banco de Dados
Banco de Dados
31
Reginaldo Gotardo
Banco de Dados
Banco de Dados
33
Reginaldo Gotardo
PRIMARY KEY (Curso_codC, Disciplina_codD, Professor_codP), FOREIGN KEY (Curso_codC) REFERENCES Curso (CodC) ON DELETE CASCADE, FOREIGN KEY (Disciplina_codD) REFERENCES Disciplina (CodD) ON DELETE CASCADE, FOREIGN KEY (Professor_codP) REFERENCES Professor (CodP) ON DELETE CASCADE ) ENGINE=InnoDB;
Banco de Dados Structured Query Language
de colunas
35
Banco de Dados
[COLLATE <subconjunto>] [NULL | NOT NULL] [DEFAULT <valor>] [FIRST | AFTER <coluna_existente>] ;
Banco de Dados
37
Reginaldo Gotardo
Caso no seja especificado ALTER TABLE <nome> ser inserido no ADD <nome_nova_coluna> <tipo> final da [CHARACTER SET <conjunto>]tabela!!
Banco de Dados
Banco de Dados
Banco de Dados
41
Se desejar apenas excluir todos os dados da tabela, mas manter a estrutura existente use:
TRUNCATE <nome_tabela> ;
Banco de Dados
Banco de Dados
43
Reginaldo Gotardo
44
SPATIAL ndice para tipos de dados geomtricos (dados espaciais para um espao euclidiano em geral) Tipos de busca nos ndices (logo aps o tipo de ndice parmetro USING <tipo> )
BTREE Mtodo padro do MySQL HASH mais eficiente quando a maioria das solicitaes de ndices encontra seus resultados espalhados na tabela de ndice e no entre os primeiros registros
Banco de Dados
Mtodo
Reginaldo Gotardo
Banco de Dados Structured Query Language
Remover Recriar
46
Banco de Dados
47
Alterao de tuplas
Reginaldo Gotardo
Banco de Dados Structured Query Language
Remoo de tuplas
Consultas
48
Alterao de tuplas
Reginaldo Gotardo
Banco de Dados Structured Query Language
Remoo de tuplas
Consultas
49
Banco de Dados
Inserir a linha 1 da tabela Professor INSERT INTO Professor (CodP, NomeP, CidadeP, TituloP) VALUES (1, 'Jos', 'Rib Preto', 'Mestre');
Banco de Dados Structured Query Language
null null 2 1
Alterao de tuplas
Reginaldo Gotardo
Banco de Dados Structured Query Language
Remoo de tuplas
Consultas
56
Banco de Dados
Alterar o valor da mensalidade do curso de Cincia da Computao para 650,00 UPDATE Curso SET MensC = 650 WHERE (NomeC = Cincia Comp)
Banco de Dados Structured Query Language
Banco de Dados
Alterao de tuplas
Reginaldo Gotardo
Structured Query Language
Remoo de tuplas
Consultas
Banco de Dados
60
Banco de Dados
Remover da tabela Professor todos os professores que tm ttulo de Doutor DELETE FROM Professor WHERE (TituloP = Doutor)
Banco de Dados Structured Query Language
Alterao de tuplas
Reginaldo Gotardo
Structured Query Language
Remoo de tuplas
Consultas
Banco de Dados
64
SQL DML CONSULTAS Sintaxe: SELECT FROM [WHERE [HAVING [DISTINCT] <nome_coluna>,.... (condies) [ sub-select] ] (condies)]
Reginaldo Gotardo 65
<nome_tabela>, ....
[GROUP BY <nome_coluna>, ....] [ [INTERSECT | MINUS | UNION] <comando_select>] [ORDER BY <nome_coluna> [ASC | DESC], ....]
Banco de Dados Structured Query Language
Banco de Dados
66
Reginaldo Gotardo
67