0% acharam este documento útil (0 voto)
12 visualizações

MySQL e SQL

O documento introduz conceitos fundamentais sobre bancos de dados, focando no MySQL como um sistema de gestão de banco de dados open-source. Ele aborda a estrutura de bancos de dados relacionais, a linguagem SQL para manipulação de dados e a sintaxe básica para operações CRUD. Além disso, discute a importância de chaves primárias e estrangeiras, tipos de dados e como criar e gerenciar bancos de dados utilizando SQL.

Enviado por

Gabriel Cunha
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações

MySQL e SQL

O documento introduz conceitos fundamentais sobre bancos de dados, focando no MySQL como um sistema de gestão de banco de dados open-source. Ele aborda a estrutura de bancos de dados relacionais, a linguagem SQL para manipulação de dados e a sintaxe básica para operações CRUD. Além disso, discute a importância de chaves primárias e estrangeiras, tipos de dados e como criar e gerenciar bancos de dados utilizando SQL.

Enviado por

Gabriel Cunha
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 10

Introdução a MySQL e SQL

O que é um Banco de Dados?


→É uma coleção estruturada e organizada de informação (dados)
→Armazenada em um sistema eletrônico de informática

DBMS (Database Management System)


→É um sistema de gestão de base de dados
→São sistemas otimizados para gerir essa informação
→Ao dizer que vai criar uma base de dados, está dizendo que vai
usar o DBMS para criar uma estrutura para os dados do programa

Cliente → Web Server → DBMS (contem os BD)


Cliente ← Web Server ← DBMS (contem os BD)

O que é o MySQL?
→É um Sistema de Gestão de Banco de Dados (DBMS)
→É gerido pela Oracle, sendo open-source (pode ser usado sem
comprar licença)

outros DBMS: mariaDB; SQLite; PostgreSQL; Oracle Database;


MS SQL Server; mongo DB; redis; etc.

O que é uma Base de Dados Relacional?


→É uma das arquiteturas de bases de dados
→Os dados são armazenados em tabelas
→As tabelas podem ter relações entre si através de chaves
→A comunicação com a base de dados é feita em SQL

O que é SQL?
→SQL = Structures Query Language
→Linguagem utilizada para construir queries
°Queries: são instruções para comunicar com a base de dados
→Utilizando SQL podemos pesquisar, inserir, atualizar e eliminar
dados, bem como alterar a estrutura da nossa base de dados
→SQL é o padrão para comunicar com as Bases de Dados
Relacionais
→Com poucas diferenças SQL é usado em qualquer DBMS
relacional

Conceitos & Termos Principais em BD Relacionais

Base de Dados Relacional: base de dados organizada em tabelas e


onde podem existir relações de dados entre essas tabelas

Tabela: estrutura de dados constituída por colunas e linhas

Query: expressão de SQL para comunicar com a Base de Dados

Data Type: cada coluna tem um tipo de dados próprio, pode ser
números inteiros, string, datas, etc.

Relações Entre Tabelas


Duas tabelas podem estar interligadas

→Primary Key (PK): A chave primaria é um valor único usado


para relacionar dados entre tabelas. Só pode existir uma PK por
tabela.

→Foreign Key (FK): A chave Estrangeira é um valor que dá


suporte à chave primária na execução de queries que devolvem
resultados relacionais.

Relação de um para muitos: é a relação mais comum numa base de


dados relacional. Ex: uma tabela de pessoas e outra tabela com os
e-mails das pessoas, cada pessoa pode ter mais de um e-mail.
Relação de muitos para muitos: é a relação em que uma tabela A
tem vários registros relacionados com uma tabela B e vice-versa.

Relação de um para um: é a relação em que a tabela A tem vários


registros todos diferentes, e a tabela B só tem um registro
relacionado com cada registro da tabela A

O que é um Schema de uma BD e os Data Types?


Schema: é a estrutura das tabelas e as suas relações. Serve para
definir as tabelas, as suas colunas, os tipos de dados de cada
coluna entre outras características, as relações entre tabelas, etc.

Data Types: são os tipos de dados que cada coluna de cada tabela
vai permitir armazenar. Por exemplo, uma coluna pode armazenar
valores numéricos, outra pode receber valores string e outra pode
receber valores do tipo data e hora.

→O Data Type de uma coluna define que valor essa coluna vai
permitir
→Existem mais de 30 Data Types, principais:
• integer: valores numéricos inteiros
• float: valores numéricos com casas decimais
• varchar: valores alfanuméricos (strings)
• DateTime: valores relacionados com datas e horas

O que é necessário para criar um BD MySQL?


→Servidor de MySQL sendo executado
→Formas de criar Base de Dados:
→Utilizando SQL diretamente dentro de uma linguagem de
programação
→Utilizar uma aplicação que permite a gestão visual
→Através de mecanismos de importação de BD existentes
Introdução a Sintaxe de SQL
CRUD: create, read, update, delete
-- → comentários de código

READ (Listar)

→Listar todos os dados da tabela amigos


SELECT * FROM amigos
* = Todos

→Listar todos os nomes dos amigos


SELECT nome FROM amigos

→Listar nomes por ordem alfabética


SELECT nome FROM amigos ORDER BY nome ASC
*ASC = ascendente

→Listar todos os telefones de um amigo por seu id


SELECT * FROM telefones WHERE id = número do ID

→Listar todos os telefones e o nome de um amigo por seu id


SELECT amigos.nome, telefones.numero
FROM amigos, telefones
WHERE amigos.id = telefones.id_amigo
AND telefones.id_amigo = número do ID

→Listar todos os telefones e o nome de um amigo por seu nome


SELECT amigos.nome, telefones.numero FROM amigos,
telefones
WHERE amigos.id = telefones.id_amigo
AND amigos.nome = "nome"

UPDATE (Atualizar)
→Atualizar o nome de Maria para Mariana
UPDATE amigos SET nome = "mariana" WHERE nome =
"maria"

→Atualizar os números de telefone que começam pelo algarismo


4, passando a ser iniciados por 10 seguido pelo número existente

UPDATE telefones SET numero = CONCAT(10,numero)


WHERE numero LIKE '4%'

→Atualizar os números de telefone para que fiquem apenas com


os dois últimos algarismo
UPDATE telefones SET numero = SUBSTRING(numero,2,2)
WHERE telefones.id_amigos = (SELECT id FROM amigos
WHERE nome = "nome")

INSERT (Inserir)

→Inserir novo amigo


INSERT INTO amigos(nome) VALUES ("nome do amigo")

→Inserir 3 novos amigos em uma única query


INSERT INTO amigos VALUES
(0, "rodrigo", NOW(), NOW(), NULL),
(0, "sara", NOW(), NOW(), NULL),
(0, "alexandre", NOW(), NOW(), NULL)

DELETE (deletar)

→Eliminar amigo cujo id é 2


DELETE FROM amigos WHERE id = 2
→Eliminar todos os amigos que o nome começa com A
DELETE FROM amigos WHERE nome LIKE 'A%'

→Eliminar todos os Amigos: DELETE FROM amigos


SQL Fundamental
Notas Sobre a Sintaxe
→Palavras reservadas são case-insensitive (não importa ser
maiúsculo ou minúsculo SELECT = select)
→Queries podem ser criada em uma linha ou em múltiplas
→Quase todas as operações em BD podem ser feitas através de
SQL
→Algumas funções de SQL podem não estar disponíveis em
diferentes DBMS

Comentarios no SQL
→ -- Comentario na linha
→ /* Comentario multilinha */

→Para executar mais de uma operação no SQL deve se separa-lás


por ;

Introdução a SELECT
SELECT serve para selecionar dados de uma ou mais tabelas
→Sintaxe:
SELECT {o que vai ser selecionado} FROM {de onde}

Ex: SELECT nomes, email FROM amigos → todos os nomes e


emails armazenados no BD amigos serão mostrados

→* : indica que tudo deve ser selecionado


Ex: SELECT * FROM amigos → todos os dados armazenados no
BD amigos serão mostrados

→SELECT não altera nenhuma informação do BD só as mostra


→Através do SELECT podemos fazer pequenos cálculos como
por exemplo, buscar por produtos e mostrar o preço de uma dúzia
deles através da multiplicação
Ex:
SELECT produto, preco_unidade, preco_unidade * 12 FROM
produtos

→Podemos adicionar um nome alternativo para o preço da dúzia


através de um Alias (AS)
Ex:
SELECT produto, preco_unidade, preco_unidade * 12 AS duzia
FROM produtos

→Podemos usar valores literais nos resultados (valores que não


estão presentes no BD, mas inserimos somente na visualização,
não alterando o conteúdo do banco de dados, só a mostragem das
tabelas)
Ex:
SELECT produto, “valor literal” valor, preco_unidade FROM
produtos

→Podemos fazer contas matemáticas por meio do SQL, sem


consultar nenhum dado do BD
Ex: multiplicação
SELECT 10 * 5 AS resultado

Ordenar dados com ORDER BY

→ORDER BY é uma cláusula opcional de SELECT


→Permite ordenar as linhas devolvidas pela instrução SELECT
por uma ou mais expressões de ordenação (colunas escolhidas), de
forma ascendente (ASC) ou descendente (DESC)
→Ordenar por ordem crescente os produtos por nome crescente
SELECT produto FROM produtos ORDER BY produto ASC

→Ordenar por ordem decrescente os produtos por nome


decrescente
SELECT produto FROM produtos ORDER BY produto DESC

→Selecionar dados múltiplos e os ordenar por ordem alfabética


SELECT nome, email, cidade FROM clientes ORDER BY nome
ASC

→Ordenar por dados múltiplos


SELECT nome, email, cidade FROM clientes ORDER BY cidade,
nome

°Nesse caso os dados primeiro serão ordenados por cidade,


agrupando clientes da mesma cidade, nesses grupos serão
ordenados por nome em ordem alfabética

→Podemos ordenar dados múltiplos e especificar a ordem ASC ou


DESC de cada dado
SELECT nome, email, cidade FROM clientes ORDER BY cidade
DESC, nome ASC

°Nesse caso os dados primeiro serão ordenados por cidade de


forma decrescente, agrupando clientes da mesma cidade, nesses
grupos serão ordenados por nome em ordem crescente

Limitar número de linhas por LIMIT e OFFSET


→Podemos limitar o número de linhas que serão devolvidas pelo
SQL por meio das cláusulas LIMIT e OFFSET
→LIMIT: limita a quantidade máxima de linhas a ser exibida
→OFFSET: determina qual vai ser a primeira linha a ser exibida,
sempre sendo o próximo ao OFFSET escolhido (OFFSET = 5 a
primeira linha vai ser o 6)

→Limitar a busca aos 10 primeiros clientes de uma tabela


SELECT id, nome, email FROM clientes LIMIT 10

→Limitar a busca aos 10 últimos clientes de uma tabela


SELECT id, nome, email FROM clientes ORDER BY id DESC
LIMIT 10

→Limitar a busca do cliente 6 ao 10 de uma tabela


SELECT id, nome, e-mail FROM clientes LIMIT 5 OFFSET 5

→Em alternativa ao OFFSET podemo usar somente o LIMIT

SELECT id, nome, email FROM clientes LIMIT 10, 3


===================================
SELECT id, nome, e-mail FROM clientes LIMIT 3 OFFSET 10

°As duas operações resultarão no mesmo output

→Podemos usar o LIMIT para buscar produto mais caro e o mais


barato

°Mais CARO
SELECT * FROM produtos ORDER BY preco_unidade DESC
LIMIT 1

°Mais BARATO
SELECT * FROM produtos ORDER BY preco_unidade ASC
LIMIT 1

→Podemos combinar o LIMIT e o OFFSET pra buscar o 3°


produto mais caro ou mais barato
°Mais CARO
SELECT * FROM produtos ORDER BY preco_unidade DESC
LIMIT 1 OFFSET 2
ou
SELECT * FROM produtos ORDER BY preco_unidade DESC
LIMIT 2, 1

°Mais Barato
SELECT * FROM produtos ORDER BY preco_unidade ASC
LIMIT 1 OFFSET 2
ou
SELECT * FROM produtos ORDER BY preco_unidade ASC
LIMIT 2, 1

Você também pode gostar