Tipos de Dados MySQL
MySQL definições de tipo de dados no campo de sua otimização de banco de dados é muito importante.
MySQL suporta vários tipos podem ser divididos em três categorias: numérico, data / hora e cordas tipos (personagem).
Tipo de valor
MySQL suporta todos os tipos de dados numéricos SQL padrão.
Esses tipos incluem rigorosos tipos numéricos dados (INTEGER, SMALLINT, decimal e numérico), bem como os tipos de dados numéricos aproximados (float, real e double precision).
Palavra-chave INT é um sinônimo para INTEGER, ea palavra-chave dezembro é um sinônimo para DECIMAL.
Bit Tipo de dados armazena valores de bit-campo e suporta MyISAM, memória, BDB tabelas.
Como o padrão SQL, MySQL também suporta os tipos inteiros TINYINT, MEDIUMINT e BIGINT. A tabela a seguir mostra o armazenamento e faixa para cada tipo integer necessário.
tipo | tamanho | Range (Assinado) | Range (não assinado) | uso |
---|---|---|---|---|
TINYINT | 1 byte | (-128.127) | (0255) | valores inteiros pequenos |
SMALLINT | 2 bytes | (768,32 -32 767) | (535 0,65) | valor inteiro |
MEDIUMINT | 3 bytes | (-8388 608,8 388 607) | (0,16 777.215) | valor inteiro |
INT ou inteiro | 4 bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | valor inteiro |
BIGINT | 8 bytes | (-9.233.372.036.854.775 808,9 223.372.036.854.775 807) | (0,18 446.744.073.709.551 615) | valor máximo inteiro |
FLOAT | 4 bytes | (-3,402 823 466 E + 38,1.175 494 351 E-38), 0, (1.175 494 351 E-38,3.402 823 466 351 E + 38) | 0, (1.175 494 351 E-38,3.402 823 466 E + 38) | valores de ponto flutuante de precisão simples |
DUPLO | 8 bytes | (1,797 693 134 862 315 7 E + 308,2.225 073 858 507 201 4 E-308), 0, (2,225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) | 0, (2,225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) | valores de ponto flutuante de precisão dupla |
DECIMAL | De DECIMAL (H, D), se M> D, M + 2 é outra forma D + 2 | Depende dos valores de M e D | Depende dos valores de M e D | valor decimal |
Data e hora Tipos
Ele indica a data e hora para o tipo de valor temporal do DATETIME, DATE, TIMESTAMP, TIME, e YEAR.
Cada tipo tem uma gama de valores válidos tempo e um valor "nulo", utilizar o valor de "zero" quando o valor da MySQL ilegal especificada não pode ser representada.
tipo TIMESTAMP tem recurso de atualização automática proprietário, o que será descrito mais tarde.
tipo | tamanho (Byte) | escopo | formato | uso |
---|---|---|---|---|
DATA | 3 | 1000/01/01 / 9999-12-31 | AAAA-MM-DD | valores de data |
TEMPO | 3 | '-838: 59: 59' / '838: 59: 59' | HH: MM: SS | valor do tempo ou a duração |
ANO | 1 | 1901/2155 | AAAA | Valor ano |
DATETIME | 8 | 1000-01-0100: 00: 00 / 9999-12-31 23:59:59 | AAAA-MM-DD HH: MM: SS | Mistura de data e hora valores |
TIMESTAMP | 4 | Algum 00/2037 Ano: 1970-01-01 00:00 | AAAAMMDD HHMMSS | Misturando data e valor de tempo, um timestamp |
tipo String
Refere-se a um tipo de cadeia CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM e SET. Esta seção descreve como estes tipos funcionam e como utilizar estes tipos na consulta.
tipo | tamanho | uso |
---|---|---|
CHAR | 0-255 bytes | cadeia de comprimento fixo |
VARCHAR | 0-65535 bytes | cadeias de comprimento variável |
TINYBLOB | 0-255 bytes | Não mais do que 255 caracteres na cadeia binária |
TINYTEXT | 0-255 bytes | cadeias de texto curtas |
BLOB | 0-65535 bytes | dados longos de texto em formato binário |
TEXTO | 0-65535 bytes | dados de texto longo |
MEDIUMBLOB | 0-16777215 bytes | forma binária de dados de texto de comprimento médio |
MEDIUMTEXT | 0-16777215 bytes | dados de texto de comprimento médio |
LONGBLOB | 0-4294967295 bytes | Grandes dados de texto em formato binário |
LONGTEXT | 0-4294967295 bytes | Grande dados de texto |
CHAR semelhante e tipo VARCHAR, mas salvar e recuperar maneiras diferentes. Seu comprimento máximo e se espaços à direita são mantidas, também é diferente. processo de recuperação de armazenamento ou sem conversão caso.
tipo binário e VARBINARY é semelhante ao CHAR e VARCHAR, exceto que eles contêm cadeias binárias em vez de strings não-binários. Ou seja, eles contêm cadeias de bytes em vez de cadeias de caracteres. Isto significa que eles não têm qualquer conjunto de caracteres, e a triagem e comparação são baseados nos valores numéricos dos bytes.
BLOB é um objeto binario grande que pode conter uma quantidade variável de dados. Existem quatro tipos BLOB: TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB. Eles diferem apenas acomodar o valor máximo comprimento.
Existem quatro tipos de texto: TINYTEXT, texto, MEDIUMTEXT e LONGTEXT. Estes correspondem aos quatro tipos de tipo GOTA, tem o mesmo comprimento máximo e os requisitos de armazenamento.