O design de banco de dados MySQL, entre eles, para otimização de desempenho de dados, a consideração do tipo de campo é muito importante, coletou algumas informações, foi organizada e compartilhada; este artigo trata da introdução da sintaxe do mysql inteiro bigint, int, mediumint, smallint e tinyint, conforme segue:
1、bigint
De -2^63 (-9223372036854775808) a 2^63-1 (9223372036854775807) dados inteiros (todos os números), o intervalo sem sinal é de 0 a
18446744073709551615。 Um bit equivale a 8 bytes.
2、int
Um inteiro de tamanho normal. O intervalo de sinais é de -2^31 (-2.147.483.648) a 2^31 - 1 (2.147.483.647) dados inteiros (todos os números), e o intervalo sem sinal é de 0 a 4294967295. Um bit tem 4 bytes de tamanho. O sinônimo SQL-92 para int é inteiro.
3、Mediumint
Um inteiro de tamanho médio com um intervalo de -8388608 a 8388607 e um intervalo sem sinal de 0 a 16777215. Um bit tem 3 bytes de tamanho.
4、smallint
Um inteiro pequeno. O intervalo de sinais é de -2^15 (-32.768) a 2^15 - 1 (32.767) dados inteiros, e o intervalo sem sinal é de 0 a 65535. Um bit tem 2 bytes de tamanho. O MySQL oferece recursos mais do que suficientes e, como o MySQL é um software de código aberto, pode reduzir significativamente o custo total de propriedade.
5、tinyint
O intervalo de sinais é de -128 a 127, e o intervalo de não assinados é de dados inteiros de 0 a 255. Um bit tem 1 byte de tamanho.
Note que todas as operações aritméticas são feitas com valores BIGINT ou DOUBLE assinados, então você não deve usar inteiros grandes assinados maiores que 9223372036854775807 (63 bits), exceto funções de bits! Note que quando os dois parâmetros são valores INTEIROS,-、 + e * usarão a operação BIGINT! Isso significa que, se você multiplicar por 2 inteiros grandes (ou a partir de uma função que retorna um inteiro), pode obter resultados inesperados se o resultado for maior que 9223372036854775807. Um número de ponto flutuante não pode ser dessinalizado; para um número de ponto flutuante de precisão simples, sua precisão pode ser <=24; para um número de ponto flutuante de precisão dupla, está entre 25 e 53, e esses tipos como FLOAT e DOUBLE são descritos abaixo. FLOAT(X) tem o mesmo alcance que FLOAT e DOUBLE, mas o tamanho da tela e o número de casas decimais são indefinidos. No MySQL 3.23, isso é um valor verdadeiro de ponto flutuante. Em versões anteriores do MySQL, FLOAT(precisão) sempre tinha 2 casas decimais. Essa sintaxe é fornecida para compatibilidade ODBC.
O intervalo de valores de cada tipo de dado no MySQL
TINYINT -128 - 127 TINYINT SEM ASSINAR 0 - 255 SMALLINT -32768 - 32767 SMALLINT SEM ASSINATURA 0 - 65535 MEDIUMINT -8388608 - 8388607 MÉDIO SEM SINAL, 0 - 16777215 INT ou INTEIRO -2147483648 - 2147483647 INT SEM SINAL ou INTEIRO SEM SINAL 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT SEM ASSINATURA 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 PRECISÃO DUPLA ou DUPLA PRECISÃO ou REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DECIMAL[(M,[D])] ou NUMÉRICO(M,D) Determinado por M (o comprimento do número inteiro, incluindo o ponto decimal, o número de dígitos à esquerda do ponto decimal, o número de dígitos à direita do ponto decimal, mas não o sinal negativo) e D (o número de dígitos à direita do ponto decimal), M é padrão 10 e D padrão é 0 DATA 1000-01-01 - 9999-12-31 DATA-HORA 1000-01-01 00:00:00 - 9999-12-31 23:59:59 CARIMBO DE TEMPO 1970-01-01 00:00:00 - Um dia em 2037 (Não sei exatamente que dia, hehe) HORA -838:59:59' para 838:59:59 ANO[(2|4)] O padrão é formato de 4 bits, o formato de 4 bits é 1901 - 2155.0000, e o formato de 2 bits é 70-69 (1970-2069) CHAR(M) [BINÁRIO] ou NCHAR(M) [BINÁRIO] M varia de 1 a 255, e se não houver item BINÁRIO, é sensível de maiúsculas e minúsculas, e NCHAR significa usar o conjunto padrão de caracteres. Preencha com espaços no banco de dados, mas os espaços no final serão removidos automaticamente quando você os retirar. [NACIONAL] VARCHAR(M) [BINÁRIO] M varia de 1 a 255. Os espaços no final do banco de dados serão removidos automaticamente. TINYBLOB ou TINYTEXT 255 (2^8-1) caracteres BLOB ou TEXTO 65535 (2^16-1) caracteres MEDIUMBLOB ou MEDIUMTEXT 16777215 (2^24-1) caracteres LONGBLOB ou TEXTO LONGO 4294967295 (2^32-1) personagens ENUM('value1','value2',...) Pode haver um total de 65.535 valores diferentes SET('valor1', 'valor2',...) Há até 64 membros
|