MySQL O mais popular BD open source
Conceitos Básicos
● Banco de dados é um conjunto de tabelas onde são
armazenados informações .
● Um banco de dados e composto de uma ou mais
tabelas. As tabelas são divididas em linhas e colunas.
● Cada uma das linhas da tabelas é chamada de registro.
Cada coluna é chamada campo.
● Uma tabela os campos pode receber diferentes tipos de
valores : numeros, textos, datas, arquivos e etc.
Tipos de dados suportados● Numéricos - inteiros( INTEGER), Float e Double
● Strings - um caracter (CHAR), varios caracteres
(VARCHAR) ou uma sequencias muito grande (TEXT)
● Valores boleanos - BOLLEAN
● Datas (DATE) , Horas (TIME) e datas e hora
(DATETIME)
Linguagem de manipulação
A linguagem utilizada é SQL a Structured
Query Language (Linguagem de consulta
estruturada). Se divide em dois principais tipos:
● DML - Linguagem de Manipulação de Dados
que tem como principais comandos - SELECT,
INSERT, UPDATE, DELETE
Linguagem de manipulação
● DDL - Linguagem de Definição de Dados -
permite definir tabelas novas e elementos
associados. Os comandos básicos são
CREATE(cria um objeto dentro da base de
dados), DROP (apaga um objeto do banco
de dados) e ALTER (permite ao usuário
alterar um objeto).
● MyISAM gera tabelas não transacionais. Ela fornece armazenamento de alta velocidade de escrita e recuperação, bem como capacidades de pesquisa de texto completo. MyISAM é suportada em todas as configurações do MySQL, e é o motor de armazenamento padrão, a menos que você tenha configurando o MySQL para usar um padrão diferente.
Principais tipos de Tabelas
● A MEMORY é o mecanismo de
armazenamento que gera as tabelas direto na
memória do computador. Muito util para tabelas
temporárias onde os dados serão limpos para
posteriormente inseridos em outra tabelas.
Principais tipos de Tabelas
● O InnoDB e BDB mecanismos de armazenamento
fornecer tabelas seguras com transação. Onde as
ações de inserção, alteração e exclusão de dados
so são executadas após um commit. Este tipo de
tabela permite se dar um roll back caso o acorra
um erro, ou um comprotamento não esperado.
Principais tipos de Tabelas
● NDBCLUSTER (também conhecido como NDB ) é
o mecanismo de armazenamento usado pelo
MySQL Cluster para implementar tabelas
particionadas ao longo de muitos computadores.
Ele está disponível em distribuições binárias do
MySQL 5.0. Este mecanismo de armazenamento é
suportado atualmente em uma série de
plataformas Unix
Principais tipos de Tabelas
● O ARCHIVE é o mecanismo de armazenamento
usado para armazenar grandes quantidades de
dados sem índices.
● O mecanismo CSV armazena dados em arquivos
de texto usando o formato de valores separados
por vírgulas.
Principais tipos de Tabelas
SELECTSELECT 1 + 2;SELECT 3 – 5;SELECT 10 * 2;SELECT 158 / 3;
FROMSELECT * FROM tbl;SELECT * FROM tbl1, tbl2;SELECT * FROM tbl1, tbl2, tbl3;SELECT tbl1.col1 FROM tbl1;SELECT tbl1.col1, tbl2.col2 FROM table1, table2;SELECT tbl1.col1, tbl2.col2, tbl3.col3 FROM tbl1, tbl2, tbl3;
Comandos de manipulação de dados
WHEREA cláusula WHERE serve para manipular os dados de forma a exibir apenas aqueles que realmente são úteis. Alguns exemplos seguem abaixo:
SELECT * FROM tbl1 WHERE tbl1.nome = ‘Pedro’;SELECT * FROM tbl1, tbl2 WHERE tbl1. colRel = tbl2.colRel;
Comandos de manipulação de dados
AND/OR/XORSELECT 1 XOR NULL;
SELECT * FROM tbl1, tbl2 WHERE tbl1.nome = tbl2.nome
AND 1 = 1;
SELECT * FROM tbl1, tbl2 WHERE tbl1.nome = tbl2.nome OR
1 = 1;
SELECT * FROM tbl1, tbl2 WHERE tbl1.nome = tbl2.nome
XOR 1 = 1;
Comandos de manipulação de dados
INSELECT 2 IN (0, 3, 5, 'wefwf');
SELECT 'wefwf' IN (0, 3, 5, 'wefwf');
SELECT * FROM tbl WHERE tbl.nome IN (‘Marcus’,
‘Augusto’);
SELECT * FROM tbl WHERE tbl.cidade IN (‘RJ’, ‘SP’)
Comandos de manipulação de dados
LIKEA função LIKE() serve para fazer comparações usando
expressões regulares simples, de forma a fazer buscas mais
gerais. A sintaxe segue abaixo:
• % qualquer caractere em qualquer quantidade, inclusive
nenhum.
• _ apenas um caractere, sendo ele qualquer.
• \% casa exatamente o caractere %
• \_ casa exatamente o caractere _
Comandos de manipulação de dados
BETWEENSELECT * FROM tbl WHERE tbl.idade BETWEEN 18 AND 21;
SELECT * FROM tbl WHERE tbl.peso BETWEEN 50 AND 80;
DISTINCTSELECT DISTINCT * FROM tbl1;
SELECT DISTINCT * FROM tbl1, tbl2;
Comandos de manipulação de dados
ORDER BYSELECT * FROM table1 ORDER BY table1.idTbl
SELECT tbl1.col1 FROM table1 ORDER BY table1.idTbl;
GROUP BYSELECT * FROM table1 GROUP BY table1.col1;
SELECT * FROM table1 GROUP BY table1.col1 DESC;
Comandos de manipulação de dados
MD5SELECT MD5('1234');
SELECT MD5(‘mvc');
COUNTSELECT COUNT (pais), região FROM paises GROUP BY regiao;
NOWSELECT NOW();
Comandos de manipulação de dados
INSERTINSERT INTO tbl VALUES (1, 2, 3);
INSERT INTO tbl (idTbl, col1, col2) VALUES (DEFAULT, 1, ‘c’);
UPDATEUPDATE tbl1 SET col1=’a’;
UPDATE tbl1 SET col1=’a’, col2=‘b’;
Comandos de manipulação de dados
DELETEDELETE FROM tbl1 WHERE idTbl = ‘1’;
DELETE FROM tbl1 WHERE nome LIKE ‘%Pedro%’;
SUB-SELECTSELECT * FROM usuarios WHERE idade = (SELECT idade
FROM membros WHERE nome=”Marcus” LIMIT 1);
Comandos de manipulação de dados
UNIONSELECT coluna_1, coluna_2 FROM tabela_1
UNION
SELECT coluna_A, coluna_B FROM tabela_2
Comandos de manipulação de dados
INNER JOIN
SELECT ... FROM table_reference INNER JOIN table_reference { ON condição de junção }
As duas queries se equivalem
SELECT tbl1.nome, tbl2.curso FROM tbl1 INNER JOIN tbl2ON tbl1.idCurso = tbl2.idCurso;
SELECT tbl1.nome, tbl2.curso FROM tbl1, tbl2WHERE tbl1.idCurso = tbl2.idCurso;
Comandos de manipulação de dados