Tipos de Dados de MySQL
Tipos de Dados de MySQL
Tipos de Dados de MySQL
Depois da fase de design da base de dados, e uma vez que se passou a tabelas, é necessário
criar as tabelas correspondentes dentro da base de dados. Para cada campo de cada uma da
tabelas, é necessário determinar o tipo de dados que contem, para poder ajustar a estrutura da
base de dados, e conseguir um armazenamento com a menor utilização de espaço. Este artigo
descreve cada um dos tipos de dados que se podem ter num campo MySQL, para a versão
4.xx.xx.
Os tipos de dados que pode ter um campo, podem-se agrupar em três grandes grupos:
1. Tipos numéricos
2. Tipos de Data
3. Tipos de Cadeia
1 Tipos numéricos:
Existem tipos de dados numéricos, que se podem dividir em dois grandes grupos, os que estão
em vírgula flutuante (com decimais) e os que não.
TinyInt: é um número inteiro com ou sem signo. Com signo a margem de valores válidos é
desde -128 até 127. Sem signo, a margem de valores é de 0 até 255
SmallInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é desde
-32768 até 32767. Sem signo, a margem de valores é de 0 até 65535.
MediumInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é desde
-8.388.608 até 8.388.607. Sem signo, a margem de valores é de 0 até 16777215.
Integer, Int: número inteiro com ou sem signo. Com signo a margem de valores válidos é
desde -2147483648 até 2147483647. Sem signo, a margem de valores é de 0 até 429.496.295
BigInt: número inteiro com ou sem signo. Com signo a margem de valores válidos é desde
-9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. Sem signo, a margem de valores
é de 0 até 18.446.744.073.709.551.615.
Float: número pequeno em vírgula flutuante de precisão simples. Os valores válidos vão desde
-3.402823466E+38 até -1.175494351E-38,0 eté desde 175494351E-38 até 3.402823466E+38.
xReal, Double: número em vírgula flutuante de dupla precisão. Os valores permitidos vão
desde -1.7976931348623157E+308 até -2.2250738585072014E-308, 0 e desde
2.2250738585072014E-308 até 1.7976931348623157E+308
2 Tipos data:
Na hora de armazenar datas, há que ter em conta que MySQL não verifica de uma maneira
estricta se uma data é válida ou não. Simplesmente comprova que o mês está compreendido
entre 0 e 12 e que o dia está compreendido entre 0 e 31.
Date: tipo data, armazena uma data. A margem de valores vai desde o 1 de Janeiro de 1001 ao
31 de dezembro de 9999. O formato de armazenamento é de ano-mes-dia.
DateTime: Combinação de data e hora. A margem de valores vai desde o 1 ed Janeiro de 1001
às 0 horas, 0 minutos e 0 segundos ao 31 de Dezembro de 9999 às 23 horas, 59 minutos e 59
segundos. O formato de armazenamento é de ano-mes-dia horas:minutos:segundos
TimeStamp: Combinação de data e hora. A margem vai desde o 1 de Janeiro de 1970 ao ano
2037. O formato de armazenamento depende do tamanho do campo:
Tamanho Formato
14 AnoMesDiaHoraMinutoSegundo aaaammddhhmmss
12 AnoMesDiaHoraMinutoSegundo aammddhhmmss
8 AnoMesDia aaaammdd
6 AnoMesDia aammdd
4 AnoMes aamm
2 Ano aa
Time: armazena uma hora. A margem de horas vai desde -838 horas, 59 minutos e 59
segundos. O formato de armazenamento é 'HH:MM:SS'.
Year: armazena um ano. A margem de valores permitidos vai desde o ano 1901 ao ano 2155. O
campo pode ter tamanho dois ou tamanho 4 dependendo de se queremos armazenar o ano com
dois ou quatro algarismos.
3 Tipos de cadeia:
Char(n): armazena uma cadeia de longitude fixa. A cadeia poderá conter desde 0 até 255
caracteres.
VarChar(n): armazena uma cadeia de longitude variável. A cadeia poderá conter desde 0 até
255 caracteres. Dentro dos tipos de cadeia pode-se distinguir dois subtipos, os tipo Test e os tipo
Blob (Binary Large Object) A diferença entre um tipo e outro é o tratamento que recebem na
hora de ordená-los e compará-los. No tipo test ordena-se sem ter importância as maiúsculas e
as minúsculas e no tipo blob ordena-se tendo em conta as maiúsculas e minúsculas.
Os tipos blob utilizam-se para armazenar dados binários como podem ser ficheiros.
Enum: campo que pode ter um único valor de uma lista que se especifica. O tipo Enum aceita
até 65535 valores diferentes.
Set: um campo que pode conter nenhum, um ou vários valores de uma lista. A lista pode ter um
máximo de 64 valores.