Tipo de coluna detalhado do MySQL


   No MySQL, a chamada tabela de construção é o processo de declaração de colunas. Os dados são colocados no disco rígido na forma de arquivos e alguns na memória.O espaço ocupado por colunas diferentes é diferente. O princípio de selecionar colunas é suficiente e não desperdiça.

Numérico

Inteiro

   Tipos inteiros incluem 5 tipos de coluna: tinyint, smallint, mediumint, int, bigint.

Ocupar espaço e espaço de armazenamento
Tipo Byte Classificação Não assinado Assinado
tinyint 1 8 0 ~ (2 ^ 8-1) -2 ^ 7 ~ + (2 ^ 7-1)
smallint 2 16 0 ~ (2 ^ 16-1) -2 ^ 15 ~ + (2 ^ 15-1)
médio 3 24 0 ~ (2 ^ 24-1) -2 ^ 23 ~ + (2 ^ 23-1)
int 4 32. 0 ~ (2 ^ 32-1) -2 ^ 31 ~ + (2 ^ 31-1)
bigint 8 64 0 ~ (2 ^ 64-1) -2 ^ 63 ~ + (2 ^ 63-1)

   Tomando tinyint como exemplo, ele ocupa 1 byte (8 bits) de espaço no disco rígido e o intervalo de armazenamento não assinado é de 2 ^ 8 a 1. Se representa um número negativo, o bit mais alto pode ser usado para marcar o bit de sinal. -2 ^ 7 ~ + (2 ^ 7-1) (apenas os últimos 7 dígitos representam o valor absoluto, o dígito mais alto representa o bit de sinal) (complemento)
   tinyint é assinado por padrão, o armazenamento é -2 ^ 7 ~ + ( 2 ^ 7-1)
   atributo opcional do zerofill não assinado da coluna inteira tinyint (M); M: largura (somente significativo quando preenchido com 0), não assinado: tipo não assinado (não negativo), zerofill: 0 preenchido (padrão não Symbol); se uma coluna for definida como zerofill, o padrão será não assinado.

Ponto flutuante / ponto fixo

   Tipo de ponto flutuante: float (M, D)
   Tipo de ponto fixo: decimal (M, D)
   M: precisão (dígitos totais, excluindo ponto decimal), D: escala (dígitos decimais), float (6,2) como exemplo, Ele pode armazenar números no intervalo de -9999.99 a 9999.99, e o intervalo de valores que pode ser obtido é diferente da formatação, que é especial. faixa de valor flutuante (4,2): -99,99 ~ 99,99, faixa de valor flutuante (4,2) sem sinal: 0,00 ~ 99,99.

Caráter

Ocupar espaço e espaço de armazenamento
Tipo Explicação Declaração típica Range
Caracteres Cadeia de comprimento fixo caractere de gênero (1) char (M), M varia de 0 ~ 2 ^ 8-1
varchar Sequência de comprimento variável email varchar (20) varchar (M), M varia de 0 ~ 2 ^ 16-1, cerca de 2W ~ 6W caracteres são afetados pelo conjunto de caracteres
texto ++ String de texto Conteúdo do Texto Cerca de 2W ~ 6W caracteres são afetados pelo conjunto de caracteres

    Char é comprimento fixo, char (M), M significa largura, o número de caracteres que podem ser acomodados.
   varchar se torna mais longo, varchar (M), M significa largura, o número de caracteres que podem ser acomodados.
   Diferença:
   eficiência na utilização do espaço:
   caracteres M de tamanho fixo, se armazenados com menos de M, ocupam M caracteres, se não houver M caracteres suficientes preenchidos com espaços, os espaços serão perdidos ao ler; varchar: comprimento variável, M Caracteres com menos de M caracteres são armazenados, definidos como N, N <= M, na verdade ocupam N caracteres.
   Velocidade operacional: o comprimento fixo é mais rápido.
   A escolha de char e varchar considera a eficiência na utilização do espaço e a velocidade de operação.

Tipo de data e hora (são necessárias aspas ao inserir)

Ocupar espaço e espaço de armazenamento
Tipo Range
ano 1901 ~ 2155, se você inserir dois dígitos, '00 ~ 69 'significa 2000 ~ 2069 e '70 ~ 00' significa 1970 ~ 1999
data (ano-mês-dia) 1000-01-01 ~ 9999-12-31 (AD)
tempo -838: 59: 59 ~ + 838: 59: 59
data e hora (ano-mês-dia hora: minuto: segundo) 1000-01-01 00: 00: 00 ~ 9999-12-31 23:59:59 (AD)

   Os tipos de data e hora raramente são usados ​​para representar uma coluna que precisa ser precisa para a segunda, porque, embora o tipo de data e hora possa ser preciso para o segundo e fácil de visualizar, é inconveniente calcular. Você pode usar um registro de data e hora para representar uma coluna precisa da segunda.O registro de data e hora é armazenado em int, que é o número de segundos entre 1970-01-01 00:00:00 e a atual.
   Por exemplo, geralmente armazene o tempo de registro do tempo de liberação do produto etc., em vez de usar o armazenamento de data e hora, mas o registro de data e hora, porque o horário é intuitivo, mas o cálculo é inconveniente e int é usado para armazenar o registro de data e hora, o que é conveniente para cálculo e formatação .

Publicado 59 artigos originais · ganhou 20 · visualizações 3623

Acho que você gosta

Origin blog.csdn.net/qq_34896730/article/details/105169102
Recomendado
Clasificación