MariaDB - Tipos de dados
Boas definições de campo são essenciais para a otimização de seu banco de dados. A abordagem ideal requer que você use exclusivamente um campo do tipo e tamanho necessários. Por exemplo, se você for usar apenas um campo de cinco caracteres de largura, não defina um campo de 20 caracteres de largura. Os tipos de campo (ou coluna) também são conhecidos como tipos de dados, dados os tipos de dados armazenados no campo.
Os tipos de dados MariaDB podem ser categorizados como numéricos, data e hora e valores de string.
Tipos de dados numéricos
Os tipos de dados numéricos suportados pelo MariaDB são os seguintes -
TINYINT - Este tipo de dados representa pequenos inteiros dentro do intervalo com sinal de -128 a 127 e o intervalo sem sinal de 0 a 255.
BOOLEAN - Este tipo de dados associa um valor 0 com “falso” e um valor 1 com “verdadeiro”.
SMALLINT - Este tipo de dados representa números inteiros dentro do intervalo com sinal de -32768 a 32768 e o intervalo sem sinal de 0 a 65535.
MEDIUMINT - Este tipo de dados representa números inteiros no intervalo com sinal de -8388608 a 8388607 e no intervalo sem sinal de 0 a 16777215.
INT(also INTEGER)- Este tipo de dados representa um número inteiro de tamanho normal. Quando marcado como sem sinal, o intervalo vai de 0 a 4294967295. Quando assinado (a configuração padrão), o intervalo vai de -2147483648 a 2147483647. Quando uma coluna é definida como ZEROFILL (um estado sem sinal), todos os seus valores são acrescentados por zeros para colocar M dígitos no valor INT.
BIGINT - Este tipo de dados representa números inteiros dentro do intervalo com sinal de 9223372036854775808 a 9223372036854775807 e o intervalo sem sinal de 0 a 18446744073709551615.
DECIMAL(também DEC, NUMERIC, FIXED) - Este tipo de dados representa números de ponto fixo precisos, com M especificando seus dígitos e D especificando os dígitos após o decimal. O valor M não adiciona “-” ou o ponto decimal. Se D for definido como 0, nenhuma parte decimal ou fracionária aparecerá e o valor será arredondado para o DECIMAL mais próximo em INSERT. O máximo de dígitos permitidos é 65 e o máximo para decimais é 30. O valor padrão para M na omissão é 10 e 0 para D na omissão.
FLOAT - Este tipo de dados representa um pequeno número de ponto flutuante do valor 0 ou um número dentro dos seguintes intervalos -
-3,402823466E + 38 a -1,175494351E-38
1.175494351E-38 a 3.402823466E + 38
DOUBLE (Além disso REAL e DOUBLE PRECISION) - Este tipo de dados representa números de ponto flutuante de tamanho normal do valor 0 ou dentro dos seguintes intervalos -
-1,7976931348623157E + 308 a -2,2250738585072014E-308
2.2250738585072014E-308 a 1.7976931348623157E + 308
BIT- Este tipo de dados representa campos de bits com M especificando o número de bits por valor. Na omissão de M, o padrão é 1. Os valores dos bits podem ser aplicados com “b '[valor]'” em que o valor representa o valor do bit em 0s e 1s. O preenchimento de zero ocorre automaticamente da esquerda para o comprimento total; por exemplo, “10” torna-se “0010”.
Tipos de dados de data e hora
Os tipos de dados de data e hora suportados pelo MariaDB são os seguintes -
DATE - Este tipo de dados representa um intervalo de datas de “1000-01-01” a “9999-12-31” e usa o formato de data “AAAA-MM-DD”.
TIME - Este tipo de dados representa um intervalo de tempo de “-838: 59: 59,999999” a “838: 59: 59,999999”.
DATETIME- Este tipo de dados representa o intervalo “1000-01-01 00: 00: 00.000000” a “9999-12-31 23: 59: 59.999999”. Ele usa o formato “AAAA-MM-DD HH: MM: SS”.
TIMESTAMP- Este tipo de dados representa um carimbo de data / hora do formato “AAAA-MM-DD HH: MM: DD”. Ele é usado principalmente para detalhar o tempo de modificações do banco de dados, por exemplo, inserção ou atualização.
YEAR- Este tipo de dados representa um ano no formato de 4 dígitos. O formato de quatro dígitos permite valores no intervalo de 1901 a 2155 e 0000.
String DataTypes
Os valores de tipo de string suportados pelo MariaDB são os seguintes -
String literals - Este tipo de dados representa sequências de caracteres entre aspas.
CHAR- Este tipo de dados representa uma string de comprimento fixo preenchida à direita contendo espaços de comprimento especificado. M representa o comprimento da coluna de caracteres em um intervalo de 0 a 255, seu valor padrão é 1.
VARCHAR - Este tipo de dados representa uma string de comprimento variável, com um intervalo M (comprimento máximo da coluna) de 0 a 65535.
BINARY - Este tipo de dados representa cadeias de bytes binárias, com M como o comprimento da coluna em bytes.
VARBINARY - Este tipo de dados representa cadeias de bytes binários de comprimento variável, com M como comprimento de coluna.
TINYBLOB- Este tipo de dados representa uma coluna de blob com comprimento máximo de 255 (28 - 1) bytes. No armazenamento, cada um usa um prefixo de comprimento de um byte indicando a quantidade de bytes no valor.
BLOB- Esse tipo de dados representa uma coluna de blob com comprimento máximo de 65.535 (216-1) bytes. No armazenamento, cada um usa um prefixo de comprimento de dois bytes que indica a quantidade de bytes no valor.
MEDIUMBLOB- Esse tipo de dados representa uma coluna de blob com comprimento máximo de 16.777.215 (22 4 - 1) bytes. No armazenamento, cada um usa um prefixo de comprimento de três bytes indicando a quantidade de bytes no valor.
LONGBLOB- Este tipo de dados representa uma coluna de blob com comprimento máximo de 4.294.967.295 (2 32 - 1) bytes. No armazenamento, cada um usa um prefixo de comprimento de quatro bytes que indica a quantidade de bytes no valor.
TINYTEXT- Este tipo de dados representa uma coluna de texto com um comprimento máximo de 255 (2 8 - 1) caracteres. No armazenamento, cada um usa um prefixo de comprimento de um byte indicando a quantidade de bytes no valor.
TEXT- Este tipo de dados representa uma coluna de texto com um comprimento máximo de 65.535 (2 16 - 1) caracteres. No armazenamento, cada um usa um prefixo de comprimento de dois bytes que indica a quantidade de bytes no valor.
MEDIUMTEXT- Este tipo de dados representa uma coluna de texto com um comprimento máximo de 16.777.215 (2 24 - 1) caracteres. No armazenamento, cada um usa um prefixo de comprimento de três bytes indicando a quantidade de bytes no valor.
LONGTEXT- Este tipo de dados representa uma coluna de texto com comprimento máximo de 4.294.967.295 ou 4 GB (2 32 - 1) caracteres. No armazenamento, cada um usa um prefixo de comprimento de quatro bytes que indica a quantidade de bytes no valor.
ENUM - Este tipo de dados representa um objeto string com apenas um único valor de uma lista.
SET- Este tipo de dados representa um objeto string com zero ou mais valores de uma lista, com um máximo de 64 membros. Os valores SET são apresentados internamente como valores inteiros.