Tipos de Valores Numéricos: podem ser tipos inteiros, de ponto- flutuante ou de
ponto- fixo, ocupando de um a oito bytes por valor em disco, com exceção do
tipo bit que armazena de zero a 64 bits por valor. São
eles: BIT, TINYINT, SMALLINT, INT,MEDIUMINT e BIGINT. Tipos de
numéricos de ponto- flutante FLOAT e DOUBLE que requem quatro e oito
bytes, por valor, respectivamente, e de ponto-fixo DECIMAL, que requer quatro
bytes aproximadamente para cada lado, precisão e escala.
Temos alguns sinônimos de alguns tipos de dados de tipo numérico:
Até o MySQL 5.0.3, BIT era sinônimo de TINYINT(1);
BOOL ou BOOLEAN é o mesmo que TINYINT;
SERIAL é um apelido (alias) de BIGINT UNISINED NOT NULL
AUTO_INCREMENT UNIQUE;
INTEGER é o mesmo que INT;
DEC é um sinônimo de DECIMAL. Tipos de Valores String: podem ser binários ou não- binários, podendo ocupar
espaços de tamanhos fixos ou variáveis. São
eles: CHAR, VARCHAR, TEXT, BINARY,VARBINARY, BLOB, ENUM e SET.
Os tipos de dados de valores string, se dividem em dois segmentos:
Não-binários: CHAR, VARCHAR e TEXT, este último que se divide em mais
outros três, que são: TINYTEXT, MEDIUMTEXT e LONGTEXT.
Binários: BINARY, VARBINARY e BLOB, este último que se divide em mais
outros três, que são: TINYBLOB, MEDIUMBLOB e LONGBLOB.
Tipos de Valores Temporais: são tipos de dados utilizados normalmente para
armazenar informações de data e hora, podendo ser somente a data ou a hora,
de acordo com o contexto e pode ocupar de um a oito bytes por valor. São
eles: DATE,TIME, DATETIME, TIMESTAMP e YEAR.
Quando nos referimos ao espaço de armazenamento para um valor de uma
coluna de acordo com o seu tipo de dado, nos referimos ao espaço que cada
valor de um determinado tipo de dado ocupará no arquivo de dados em disco,
ou seja, uma linha inteira ou tupla tem um somatório de bytes que pode nos
prover um número médio de crescimento do banco de dados ao longo do
tempo.
Para facilitar a compreensão, imagine ter uma coluna do tipo INT para uma
tabela que armazenará tipos de sexo. Seria um desperdício de espaço, já que
o tipo de dados INTpode armazenar muito mais que duas posições. O
tipo TINYINT seria o mais indicado em relação ao espaço necessitado para o
armazenamento, nesse contexto.
Tipos de Dados Numéricos
O MySQL 5.0 suporta todos os tipos de dados padrão SQL. Todos os tipos
supracitados são tipos de dados aceitos e podem ter muitos outros sinônimos –
palavra que tem exatamente o mesmo sentido que outra ou quase idêntico. O
que temos que ter ciência também é quanto de espaço por valor é requerido
por cada tipo. Tais especificações são expostas na Tabela 1.