Aula 05 - SQL e MySQL
Aula 05 - SQL e MySQL
5
MySQL e
Esquemas
OBJECTIVOS DA AULA 06 We make it happen
Linguagem para:
Base Formal:
Funcionalidades principais
❑ Definição (DDL) e manipulação (DML) de dados
❑ Definição de transações
História
Características:
❑ Alta estabilidade;
❑ Baixo custo.
1. Selecione o SO
2. Clique em Go to
Download Page para
abrir a página de
download do MySQL MSI
Installer
3. Selecione o SO
❑ Prompt de comando
❑ Cd c:\arquivos de programas\mysql
❑ show databases;
Nota:
Todos os comandos
MySQL devem terminar
com um ponto e vírgula (;).
Permite especificar:
❑ Restrições de integridade
❑ O conjunto de índices
❑ Visões
Criar uma BD
ou
Máximo 64 caracteres
ou
❑ USE nome_BD;
Exactos:
❑ NUMERIC
❑ DECIMAL
❑ INTEGER
Aproximados:
❑ FLOAT
❑ REAL ou DOUBLE
❑ DECIMAL ou DEC.
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 25
Tipos Numéricos MySQL (2) We make it happen
Numeric e Decimal
❑ Implementados como o mesmo tipo.
❑ Preserva a exatidão (Ex. dados monetários).
REAL e DOUBLE
❑ não aceitam especificações de precisão.
❑ implementados como valores de ponto flutuante
de 8 bits de dupla precisão
DATE
❑ Para apenas do valor da data, sem a parte da
hora.
❑ Formato 'YYYY-MM-DD'.
❑ Faixa de '1001-01-01' até '9999-12-31'.
DATETIME
❑ Para valores que contém data e a hora.
❑ Formato 'YYYY-MM-DD HH:MM:SS'.
❑ Faixa de '1001-01-01 00:00:00' até '9999-12-31
23:59:59'.
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 29
Tipos Data e Hora (2) We make it happen
TIME
❑ Formato 'HH:MM:SS'
❑ Faixa '-838:59:59' até '838:59:59'.
❑ Hora é grande pois pode ser usado para
intervalos de tempo entre dois eventos. Por
exemplo e não só para hora do dia que seria
até 24
TIMESTAMP
❑ Para valores que contém data e a hora.
❑ Margem vai desde 1 de janeiro de 1970 ao
ano 2037
YEAR
CHAR(N)
❑ Caracteres alfanuméricos
❑ Tamanho é fixo e instaurado ao ser criado.
❑ Pode ter de 0 a 255 caracteres.
MediumTEXT/MediumBLOB
❑ Máximo de 16.777.215 caracteres.
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 34
Tipos Cadeia de Caracteres (4)
LongTEXT/LongBLOB
❑ Máximo de 4.294.967.295 caracteres.
SET
❑ Permite que o usuário faça uma escolha dado
determinado número de opções.
ALTER TABLE
❑ Modifica a definição de uma tabela (Inserir
/ Excluir / Actualizar atributos; I / E Restrições
de Integridades)
DROP TABLE
❑ Remove uma tabela com todas as suas
tuplas
– InnoDB
• Verifica restrições de chaves estrangeiras
• Pior desempenho
• Com transação
ou...
Engine=InnoDB;
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 40
Criar Tabelas
Não Nulo:
Unicidade:
Exemplo:
CREATE TABLE alunos (
ra char(5) UNIQUE,
nome char(50),
nasc date, UNIQUE(nome));
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 44
Restrições (4) We make it happen
Exemplo:
CREATE TABLE exemplo(
a char(5),
b char(50),
c date,
UNIQUE (a,c));
Chave primaria:
Exemplo:
CREATE TABLE alunos ( CREATE TABLE alunos (
ra char(5) UNIQUE ra char(5) PRIMARY KEY,
NOT NULL, nome char(50),
nome char(50), nasc date);
nasc date);
Auto incremento:
❑ Este recurso, faz com que conforme novos
registros são criados, automaticamente estes
obtém valores que correspondem ao valor deste
mesmo campo no registro anterior, somado a 1.
)
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 49
Comandos para utilizar em tabelas
Mostrar tabelas - Lista todas as tabelas
existentes na BD actual.
❑ mysql> show tables;
Instruções declarativas
❑ manipulação de conjuntos
❑ especifica-se o que fazer e não como fazer
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 57
Inserir dados numa tabela We make it happen
❑ Exemplo:
UPDATE Medico SET cidade = ‘Florianopolis’;
❑ Exemplo:
DELETE FROM Ambulatorios;
FROM uma_ou_mais_tabelas
WHERE restrições_sobre_atributos
Distinct
❑ O SQL permite duplicatas em relações e
resultados em consultas
❑ Para eliminar duplicidade, usa-se a cláusula
DISTINCT depois do SELECT
❑ Exemplo:
❖ Exemplo:
A cláusula FROM
❑ Lista as relações envolvidas na consulta
❖ Exemplo:
SELECT * FROM Medicos, Ambulatorios;
❑ Quando mais de uma tabela é utilizada é
necessário dar um apelido para elas que deve
ser utilizado para diferenciar atributos iguais
❖ Exemplo:
SELECT * FROM Medicos m, Funcionarios
f WHERE m.codMedico = f.codFunc;
❑ ORDER BY
❖ O operador lógico ORDER BY, ou
ORDENAR POR, simplesmente lista os
registros, colocando-os em ordem de acordo
com o campo solicitado:
❑ Operadores relacionais
Nomeação de atributos
❑ nome_atributo AS novo_nome_atributo
❖ Exemplo:
SELECT nome AS nomeCliente,
(salario+200) AS comissao
FROM funcionario;
Verificação de caracteres
❑ Para verificar sequência de caracteres dentro de
um campo do tipo string (char ou varchar), pode-
se utilizar junto com a clausula where uma
condição baseada na utilização do operador LIKE.
❖ <expressão> [NOT] LIKE <valor>
❑ Exemplos:
Operadores auxiliares
❑ Between - Define intervalos de valores para a
cláusula where
❖ <expressão> [Not] IN
<valor1,valor2,...,valorN>
❑ Exemplo:
Exemplo:
❑ Encontre o número de tuplas da relação
CLIENTE
select count(*)FROM cliente;
❑ Exemplos:
Vistas;
Funções e Procedimentos;
Triggers e Jobs;
Outras.
https://www.w3schools.com/sql/default.asp
https://dev.mysql.com/doc/refman/8.0/en/
https://www.devmedia.com.br/instalando-e-
configurando-a-nova-versao-do-mysql/25813
TLP | Base de Dados | Professor Eng.º Sungo Afonso | Email: [email protected] 101