Tipos de Dados SQL

Tipos de dados e faixas usados pelo Microsoft Access, MySQL e SQL Server.

Tipos de dados do Microsoft Access

Tipo de Dados Descrição Armazenar
Texto Usado para texto ou combinação de texto e número. Até 255 caracteres.  
Memo

Memo usado para maior quantidade de texto. Pode armazenar até 65.536 caracteres.

Nota: Não é possível ordenar campos memo. No entanto, eles são pesquisáveis.

 
Byte Permite números entre 0 e 255 1 byte
Integer Permite números entre -32.768 e 32.767 2 bytes
Long Permite todos os números entre -2.147.483.648 e 2.147.483.647 4 bytes
Single Ponto flutuante simples precisão. Trata a maioria das casas decimais. 4 bytes
Double Ponto flutuante dupla precisão. Trata a maioria das casas decimais. 8 bytes
Moeda

Usado para moeda. Suporta 15 dígitos antes do ponto, mais 4 dígitos de casa decimal.

Dica: Você pode escolher a moeda do país.

8 bytes
AutoNumber O campo AutoNumber atribui automaticamente um número a cada registro, geralmente começando em 1. 4 bytes
Data/Hora Usado para data e hora 8 bytes
Sim/Não

Campo lógico, que pode ser exibido como Sim/Não, True/False ou Ativo/Desativado.

No código, use os constantes True e False (equivalentes a 1 e 0)

Nota: Valores nulos não são permitidos em campos de sim/não

1 bit
Ole Object Pode armazenar imagens, áudio, vídeo ou outros BLOBs (Objetos Grandes em Binário) Até 1GB
Hiperlink Contém links para outros arquivos, incluindo páginas da web.  
Assistente de pesquisa Permite criar uma lista de opções que podem ser escolhidas a partir da seguinte lista. 4 bytes

Tipos de dados do MySQL

No MySQL, há três tipos principais: texto, número e tipo data/hora.

Tipo de texto:

Tipo de Dados Descrição
CHAR(DECIMAL() Salvar strings de comprimento fixo (pode conter letras, números e caracteres especiais). Especifique o comprimento da string entre parênteses. Máximo de 255 caracteres.
VARCHAR(DECIMAL()

Salvar strings de comprimento variável (pode conter letras, números e caracteres especiais). Especifique o comprimento máximo da string entre parênteses. Máximo de 255 caracteres.

注释:如果值的长度大于 255,则被转换为 TEXT 类型。

TINYTEXT Observação: se o comprimento do valor for maior que 255, ele é convertido para o tipo TEXT.
TINYTEXT Armazena strings com até 255 caracteres de comprimento.
TEXT Armazena strings com até 65.535 caracteres de comprimento.
BLOB Usado para BLOBs (Objetos Binários Grandes). Armazena até 65.535 bytes de dados.
MEDIUMTEXT Armazena strings com até 16.777.215 caracteres de comprimento.
MEDIUMBLOB Usado para BLOBs (Objetos Binários Grandes). Armazena até 16.777.215 bytes de dados.
LONGTEXT Armazena strings com até 4.294.967.295 caracteres de comprimento.
LONGBLOBUsado para BLOBs (Objetos Binários Grandes). Armazena até 4.294.967.295 bytes de dados.,ENUM(,xy

z

,etc.)

Permite que você insira uma lista de valores possíveis. Pode conter até 65535 valores na lista ENUM. Se o valor inserido não existir na lista, é inserido um valor vazio.

Observação: esses valores são armazenados na ordem em que você os introduz. Os valores possíveis podem ser introduzidos neste formato: ENUM('X','Y','Z')

Tipo Number:

Tipo de Dados Descrição
SETDECIMAL() Como ENUM, o SET pode conter no máximo 64 itens de lista, mas o SET pode armazenar mais de um valor.
SMALLINT(DECIMAL() -32768 a 32767 comuns. De 0 a 65535 unsigned*. O número máximo de dígitos é especificado em parênteses.
MEDIUMINT(DECIMAL() -8388608 a 8388607 comuns. De 0 a 16777215 unsigned*. O número máximo de dígitos é especificado em parênteses.
INT(DECIMAL() -2147483648 a 2147483647 comuns. De 0 a 4294967295 unsigned*. O número máximo de dígitos é especificado em parênteses.
BIGINT(DECIMAL() -9223372036854775808 a 9223372036854775807 comuns. De 0 a 18446744073709551615 unsigned*. O número máximo de dígitos é especificado em parênteses.
FLOAT(DECIMAL(,size) Números pequenos com ponto flutuante. O número máximo de dígitos é especificado em parênteses. O número máximo de dígitos à direita do ponto flutuante é especificado no parâmetro d.
DOUBLE(DECIMAL(,size) DOUBLE(
Números grandes com ponto flutuante. Especificado o número máximo de dígitos entre parênteses. No parâmetro d, especifica o número máximo de dígitos à direita do ponto decimal.DECIMAL(,size) d

Como tipo DOUBLE armazenado como string, permite ponto decimal fixo.

Tipo de Data:

Tipo de Dados Descrição
*Esses tipos de inteiros têm opções adicionais UNSIGNED. Normalmente, os inteiros podem ser negativos ou positivos. Se a propriedade UNSIGNED for adicionada, o escopo começará em 0, em vez de algum número negativo.

DATE()

Data. Formato: YYYY-MM-DD

Observação: Escopo de suporte de '1000-01-01' a '9999-12-31'.

DATETIME()

*Combinação de data e hora. Formato: YYYY-MM-DD HH:MM:SS

Observação: Escopo de suporte de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.

TIMESTAMP()

*Timestamp. O valor de TIMESTAMP armazena a descrição do estágio Unix ('1970-01-01 00:00:00' UTC) até agora. Formato: YYYY-MM-DD HH:MM:SS

TIME()

Tempo. Formato: HH:MM:SS

Observação: Escopo de suporte de '-838:59:59' a '838:59:59'.

YEAR()

Ano em formato de 2 ou 4 dígitos.

Observação: Valores permitidos para formato de 4 dígitos: 1901 a 2155. Valores permitidos para formato de 2 dígitos: 70 a 69, representando de 1970 a 2069.

* Mesmo que DATETIME e TIMESTAMP retornem o mesmo formato, eles funcionam de maneira muito diferente. Em consultas INSERT ou UPDATE, TIMESTAMP configura automaticamente o valor atual da data e hora. TIMESTAMP também aceita diferentes formatos, como YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD ou YYMMDD.

Tipo de dados do SQL Server

Cadeia de caracteres Character:

Tipo de Dados Descrição Armazenar
char(n) Cadeia de comprimento fixo. No máximo 8.000 caracteres. n
varchar(n) Cadeia de comprimento variável. No máximo 8.000 caracteres.  
varchar(max) Cadeia de comprimento variável. No máximo 1.073.741.824 caracteres.  
text Cadeia de comprimento variável. No máximo 2GB de dados de caracteres.  

Cadeia de caracteres Unicode:

Tipo de Dados Descrição Armazenar
nchar(n) Dado Unicode de comprimento fixo. Máximo de 4,000 caracteres.  
nvarchar(n) Dado Unicode de comprimento variável. Máximo de 4,000 caracteres.  
nvarchar(max) Dado Unicode de comprimento variável. Máximo de 536,870,912 caracteres.  
ntext Dado Unicode de comprimento variável. Máximo de 2GB de dados de caracteres.  

Tipo Binary:

Tipo de Dados Descrição Armazenar
bit Permite 0, 1 ou NULL  
binary(n) Dado binário de comprimento fixo. Máximo de 8,000 bytes.  
varbinary(n) Dado binário de comprimento variável. Máximo de 8,000 bytes.  
varbinary(max) Dado binário de comprimento variável. Máximo de 2GB de bytes.  
image Dado binário de comprimento variável. Máximo de 2GB.  

Tipo Number:

Tipo de Dados Descrição Armazenar
tinyint Permite todos os números entre 0 e 255. 1 byte
smallint Permite todos os números entre -32,768 e 32,767. 2 bytes
int Permite todos os números entre -2,147,483,648 e 2,147,483,647. 4 bytes
bigint Permite todos os números entre -9,223,372,036,854,775,808 e 9,223,372,036,854,775,807. 8 bytes
decimal(p,s)

Número com precisão fixa e的比例。Permite números entre -10^38 +1 e 10^38 -1.

O parâmetro p indica o número máximo de dígitos que podem ser armazenados (à esquerda e à direita do ponto decimal). p deve ser um valor entre 1 e 38. O valor padrão é 18.

O parâmetro s indica o número máximo de casas decimais armazenadas à direita do ponto decimal. s deve ser um valor entre 0 e p. O valor padrão é 0.

5-17 bytes
numeric(p,s)

Número com precisão fixa e的比例。Permite números entre -10^38 +1 e 10^38 -1.

O parâmetro p indica o número máximo de dígitos que podem ser armazenados (à esquerda e à direita do ponto decimal). p deve ser um valor entre 1 e 38. O valor padrão é 18.

O parâmetro s indica o número máximo de casas decimais armazenadas à direita do ponto decimal. s deve ser um valor entre 0 e p. O valor padrão é 0.

5-17 bytes
smallmoney Dado monetário entre -214,748.3648 e 214,748.3647. 4 bytes
money Dado monetário entre -922,337,203,685,477.5808 e 922,337,203,685,477.5807. 8 bytes
float(n)

Números de precisão flutuante entre -1.79E + 308 e 1.79E + 308.

O parâmetro n indica se o campo armazena 4 bytes ou 8 bytes. float(24) armazena 4 bytes, enquanto float(53) armazena 8 bytes. O valor padrão de n é 53.

4 ou 8 bytes
real Números de precisão flutuante de 4 ou 8 bytes de -3,40E + 38 a 3,40E + 38. 4 bytes

Tipo de Data:

Tipo de Dados Descrição Armazenar
datetime De 1 de janeiro de 1753 a 31 de dezembro de 9999, precisão de 3,33 milissegundos. 8 bytes
datetime2 De 1 de janeiro de 1753 a 31 de dezembro de 9999, precisão de 100 nanossegundos. 6-8 bytes
smalldatetime De 1 de janeiro de 1900 a 6 de junho de 2079, precisão de 1 minuto. 4 bytes
date Armazenar apenas data. De 1 de janeiro de 0001 a 31 de dezembro de 9999. 3 bytes
time Armazenar apenas tempo. Precisão de 100 nanossegundos. 3-5 bytes
datetimeoffset Igual ao datetime2, com offset de fuso horário adicional. 8-10 bytes
timestamp Armazenar números únicos, que são atualizados sempre que uma linha é criada ou modificada. O timestamp é baseado no relógio interno e não corresponde ao tempo real. Cada tabela pode ter apenas uma variável timestamp.  

Outros tipos de dados:

Tipo de Dados Descrição
sql_variant Armazenar dados de diferentes tipos de até 8.000 bytes, exceto text, ntext e timestamp.
uniqueidentifier Armazenar identificadores únicos (GUID).
xml Armazenar dados formatados em XML. Até 2GB.
cursor Armazenar referências para ponteiros usados em operações de banco de dados.
table Armazenar o conjunto de resultados para processamento posterior.