Escolar Documentos
Profissional Documentos
Cultura Documentos
4 MySQL
4 MySQL
Comandos MySQL
(Pginas Web Dinmicas: PHP e MySQL)
Carlos Nunes
(csmnunes@gmail.com)
200
01
2
/
9
Carlos Nunes
Numrico
BIT
TINYINT
BOOL
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT
DOUBLE
DECIMAL
Data e Hora
DATE
TIME
DATETIME
YEAR
TIMESTAMP
String
CHAR
VARCHAR
BINARY
VARBINARY
BLOB
TEXT
ENUM
SET
Carlos Nunes
SMALLINT
MEDIUMINT
INT
Valor
mnimo
Valor
Mximo
0
255
-32768
32767
65535
-8388608
8388607
16777215
-2147483648 2147483647
0 4294967295
BIGINT
-9,22E+018
9,22E+018
1,84E+019
Tipo
TINYINT
SMALLINT
MEDIUMINT
INT, INTEGER
BIGINT
FLOAT(p)
FLOAT
DOUBLE
[PRECISION],
REAL
DECIMAL(M,D),
NUMERIC(M,D)
Tamanho
1 byte
2 bytes
3 bytes
4 bytes
8 bytes
4 bytes if 0 <= p <=
24, 8 bytes if 25 <= p
<= 53
4 bytes
8 bytes
Varivel
Carlos Nunes
Exemplo
DATETIME
0000-00-00 00:00:00'
DATE
0000-00-00'
0000-00-00 00:00:00'
00000000000000'
TIME
00:00:00'
YEAR
0000'
Tipo
DATE
TIME
DATETIME
TIMESTAMP
YEAR
Tamanho
3 bytes
3 bytes
8 bytes
4 bytes
1 byte
Carlos Nunes
BINARY(M)
VARCHAR(M),
VARBINARY(M)
TINYBLOB, TINYTEXT
BLOB, TEXT
MEDIUMBLOB,
MEDIUMTEXT
LONGBLOB,
LONGTEXT
ENUM('value1','value2',
...)
SET('value1','value2',...)
Tamanho
M w bytes, 0 <= M <= 255, where w is the
number of bytes required for the maximum-length
character in the character set
M bytes, 0 <= M <= 255
L + 1 bytes, 0 <= L <= 255
L + 1 bytes, where L < 28
L + 2 bytes, where L < 216
L + 3 bytes, where L < 224
L + 4 bytes, where L < 232
1 or 2 bytes, depending on the number of
enumeration values (65,535 values maximum)
1, 2, 3, 4, or 8 bytes, depending on the number of
set members (64 members maximum)
Carlos Nunes
Exemplos:
ALTER TABLE cliente ADD idade INT UNSIGNED;
ALTER TABLE cliente RENAME clientes;
Carlos Nunes
Apagar tabela
DROP TABLE tabela;
Listar tabelas
SHOW TABLES;
Carlos Nunes
Carlos Nunes
10
Carlos Nunes
11
Exemplos:
DELETE FROM cliente WHERE cod_cliente > 3;
Carlos Nunes
12
Carlos Nunes
13
Clusula WHERE
Carlos Nunes
14
15
NOT (negao)
AND (e)
OR (ou)
Nota:
Dever ter-se em considerao a prioridade dos operadores
Carlos Nunes
16
Clusula HAVING
Idntica clusula WHERE, mas com a vantagem
de se poder usar funes como condio.
HAVING count(cod_funcionario)>3
Carlos Nunes
17
UNION
Exemplo:
Nota:
A expresso ALL utilizada quando pretendemos mostrar dados que
existam em duplicados nas consultas
Carlos Nunes
18
JOIN
JOIN serve para juntar tabelas (lado a lado) atravs
de um campo comum
Outer JOIN
Inner JOIN
Carlos Nunes
19
Inner Join
Para utilizar este tipo de JOIN, basta igualar os
campos comuns na clusula WHERE
Exemplo que mostra os tripulantes e os seus
respectivos barcos:
Carlos Nunes
20
Inner Join
SELECT barco.nome
FROM tripulante, barco
WHERE cod_funcionario=3 AND barco=matricula;
Carlos Nunes
21
Outer JOIN
Para fazer um outer JOIN, temos de o declarar na
clusula FROM
Existem dois tipos de outer JOIN:
Carlos Nunes
22
Clusulas Existentes
SELECT campos
FROM tabelas
WHERE condies
HAVING condies
GROUP BY campos
ORDER BY campos
LIMIT valores
Carlos Nunes
23
SELECT *
FROM tripulante
SELECT nome
FROM tripulante
Carlos Nunes
24
AVG mdia
SUM soma
MIN valor mnimo
MAX valor mximo
COUNT contar
Carlos Nunes
25
Clusula LIMIT
Utilizada para definir a quantidade de registos a
mostrar.
Ex: LIMIT 3, 4
Ex: LIMIT 4
Carlos Nunes
26
Clusula ORDER BY
Utilizada para definir a ordem em que os resultados
so mostrados
Ordenao descendente
SELECT *
FROM barco
ORDER BY nome
Carlos Nunes
27
Clusula GROUP BY
GROUP BY utilizada para agrupar informao com
o mesmo contedo.
A seguinte consulta devolve a quantidade de
funcionrios:
SELECT count(cod_funcionario)
FROM tripulante
GROUP BY barco
Carlos Nunes
28
Clusula WHERE
Carlos Nunes
29