Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 16040|Resposta: 0

[Fonte] A faixa de valores de BigInt, Int, MediumInt, SmallInt e Tinyint no MySQL

[Copiar link]
Postado em 2020-5-17 21:45:54 | | |
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




Anterior:Quebra de linha PHP PHP_EOL
Próximo:Comando Linux update yum update
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com