tutoriais mais recente desenvolvimento web
 

SQL Tipos de dados para vários bancos de dados


Tipos de dados e intervalos para Microsoft Access, MySQL e SQL Server.


Tipos Microsoft Data Access

Tipo de dados Descrição Armazenamento
Text Utilize para texto ou combinações de texto e números. máximo 255 caracteres
Memo Memo é usado para grandes quantidades de texto. Armazena até 65.536 caracteres. Note: Não é possível classificar um campo memorando. No entanto, eles são pesquisáveis
Byte Permite números inteiros de 0 a 255 1 byte
Integer Permite que os números inteiros entre 32.768 e 32.767 2 bytes
Long Permite que os números inteiros entre -2147483648 e 2147483647 4 bytes
Single precisão simples de ponto flutuante. Irá lidar com a maioria das casas decimais 4 bytes
Double de ponto flutuante de precisão dupla. Irá lidar com a maioria das casas decimais 8 bytes
Currency Use para a moeda. Armazena até 15 dígitos de dólares inteiros, além de 4 casas decimais. Tip: Você pode escolher qual país de moeda para usar 8 bytes
AutoNumber campos de numeração automática automaticamente dar cada registro de seu próprio número, geralmente a partir de 1 4 bytes
Date/Time Use para datas e horas 8 bytes
Yes/No Um campo lógico pode ser exibido como Sim / Não, Verdadeiro / Falso, ou On / Off. No código, use as constantes Verdadeiro e Falso (equivalente a -1 e 0). Note: Os valores nulos não são permitidos nos campos Sim / Não um pouco
Ole Object Pode armazenar imagens, áudio, vídeo ou outros BLOBs (objetos binários grandes) até 1GB
Hyperlink Conter links para outros arquivos, incluindo páginas da web
Lookup Wizard Deixe você digitar uma lista de opções, que pode então ser escolhido de uma lista drop-down 4 bytes

Tipos de Dados MySQL

No MySQL, existem três tipos principais: texto, número e data de tipos / Hora.

Text types:

Tipo de dados Descrição
CHAR(size) Detém uma cadeia de comprimento fixo (pode conter letras, números e caracteres especiais). O tamanho fixo é especificado entre parênteses. Pode armazenar até 255 caracteres
VARCHAR(size) Detém uma cadeia de comprimento variável (pode conter letras, números e caracteres especiais). O tamanho máximo é especificado entre parênteses. Pode armazenar até 255 caracteres. Note: Se você colocar um valor maior que 255 será convertido para um tipo de texto
TINYTEXT Detém uma cadeia com um comprimento máximo de 255 caracteres
TEXT Detém uma cadeia com um comprimento máximo de 65.535 caracteres
BLOB Para BLOBs (objetos binários grandes). Armazena até 65.535 bytes de dados
MEDIUMTEXT Detém uma cadeia com um comprimento máximo de 16.777.215 caracteres
MEDIUMBLOB Para BLOBs (objetos binários grandes). Armazena até 16.777.215 bytes de dados
LONGTEXT Detém uma cadeia com um comprimento máximo de 4,294,967,295 caracteres
LONGBLOB Para BLOBs (objetos binários grandes). Armazena até 4,294,967,295 bytes de dados
ENUM(x,y,z,etc.) Deixá-lo entrar em uma lista de possíveis valores. Você pode listar até 65535 valores em uma lista ENUM. Se um valor é inserido que não está na lista, um valor em branco vai ser inserido.

Note: Os valores são classificadas na ordem que você inseri-los.

Você entra os valores possíveis neste formato: ENUM ( 'X', 'Y', 'Z')

SET Semelhante ao ENUM exceto que SET pode conter até 64 itens da lista e pode armazenar mais de uma opção

Number types:

Tipo de dados Descrição
TINYINT(size) -128 A 127 normal. 0 a 255 UNSIGNED *. O número máximo de dígitos pode ser especificado entre parênteses
SMALLINT(size) -32.768-32.767 Normal. 0 a 65535 UNSIGNED *. O número máximo de dígitos pode ser especificado entre parênteses
MEDIUMINT(size) -8388608 8388607 para o normal. 0-16.777.215 UNSIGNED *. O número máximo de dígitos pode ser especificado entre parênteses
INT(size) -2147483648 A 2147483647 normal. 0-4294967295 UNSIGNED *. O número máximo de dígitos pode ser especificado entre parênteses
BIGINT(size) -9223372036854775808 Para 9223372036854775807 normal. 0-18446744073709551615 UNSIGNED *. O número máximo de dígitos pode ser especificado entre parênteses
FLOAT(size,d) Um pequeno número com um ponto decimal flutuante. O número máximo de dígitos pode ser especificado no parâmetro de tamanho. O número máximo de dígitos à direita do ponto decimal é especificado no parâmetro d
DOUBLE(size,d) Um grande número com um ponto decimal flutuante. O número máximo de dígitos pode ser especificado no parâmetro de tamanho. O número máximo de dígitos à direita do ponto decimal é especificado no parâmetro d
DECIMAL(size,d) Um duplo armazenada como uma cadeia, permitindo um ponto decimal fixo. O número máximo de dígitos pode ser especificado no parâmetro de tamanho. O número máximo de dígitos à direita do ponto decimal é especificado no parâmetro d

* Os tipos inteiros tem uma opção extra chamado UNSIGNED. Normalmente, o número inteiro vai de um negativo para um valor positivo. Adicionando o UNSIGNED atributo irá mover esse intervalo para que ele começa em zero, em vez de um número negativo.

Date types:

Tipo de dados Descrição
DATE() Um encontro. Formato: AAAA-MM-DD

Note: O intervalo suportado é de '1000/01/01' para '9999-12-31'

DATETIME() * A data e combinação de tempo. Formato: AAAA-MM-DD HH: MI: SS

Note: O intervalo suportado é de "1000/01/01 00:00:00 'para' 9999-12-31 23:59:59 '

TIMESTAMP() * Um timestamp. TIMESTAMP são armazenadas como o número de segundos desde a época Unix ( '1970-01-01 00:00:00' UTC). Formato: AAAA-MM-DD HH: MI: SS

Note: O intervalo suportado é de '1970-01-01 00:00:01' UTC para "2038/01/09 03:14:07 'UTC

TIME() Um tempo. Formato: HH: MI: SS

Note: O intervalo suportado é de "-838: 59: 59" para "838: 59: 59 '

YEAR() Um ano de dois dígitos ou formato de quatro dígitos.

Note: Os valores permitidos em formato de quatro dígitos: 1901 a 2155. Os valores permitidos em formato de dois dígitos: 70 a 69, representando anos 1970-2069

* Mesmo se DATETIME e TIMESTAMP devolver o mesmo formato, eles funcionam de forma muito diferente. Em uma consulta INSERT ou UPDATE, o TIMESTAMP fixou-se automaticamente para a data e hora atual. TIMESTAMP também aceita vários formatos, como YYYYMMDDHHMISS, YYMMDDHHMISS, AAAAMMDD, ou YYMMDD.


Tipos de dados do SQL Server

String types:

Tipo de dados Descrição Armazenamento
char(n) Fixa uma série de caracteres de largura. Máximo 8.000 caracteres largura definida
varchar(n) cadeia de caracteres de largura variável. Máximo 8.000 caracteres 2 bytes + número de caracteres
varchar(max) cadeia de caracteres de largura variável. Máximo 1,073,741,824 caracteres 2 bytes + número de caracteres
text cadeia de caracteres de largura variável. Máximo 2 GB de dados de texto 4 bytes + número de caracteres
nchar Fixo seqüência de caracteres Unicode de largura. Máximo 4.000 caracteres largura definida X 2
nvarchar cadeia de largura Unicode variável. Máximo 4.000 caracteres
nvarchar(max) cadeia de largura Unicode variável. Máximo 536,870,912 caracteres
ntext cadeia de largura Unicode variável. Máximo 2 GB de dados de texto
bit Permite a 0, 1, ou NULL
binary(n) Corrigido cadeia binária largura. Máximo de 8.000 bytes
varbinary largura variável string binária. Máximo de 8.000 bytes
varbinary(max) largura variável string binária. 2GB máximo
image largura variável string binária. 2GB máximo

Number types:

Tipo de dados Descrição Armazenamento
tinyint Permite números inteiros de 0 a 255 1 byte
smallint Permite que os números inteiros entre 32.768 e 32.767 2 bytes
int Permite que os números inteiros entre -2147483648 e 2147483647 4 bytes
bigint Permite que os números inteiros entre -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807 8 bytes
decimal(p,s) precisão fixo e números de escala.

Permite números de -10 ^ 38 um a 10 ^ 38 -1.

O parâmetro p indica o número total máximo de dígitos que pode ser armazenado (tanto para a esquerda e para a direita do ponto decimal). p deve ser um valor de 1 a 38. O padrão é 18.

O parâmetro S indica o número máximo de dígitos armazenados para a direita do ponto decimal. s deve ser um valor de 0 a p. O valor padrão é 0

5-17 bytes
numeric(p,s) precisão fixo e números de escala.

Permite números de -10 ^ 38 um a 10 ^ 38 -1.

O parâmetro p indica o número total máximo de dígitos que pode ser armazenado (tanto para a esquerda e para a direita do ponto decimal). p deve ser um valor de 1 a 38. O padrão é 18.

O parâmetro S indica o número máximo de dígitos armazenados para a direita do ponto decimal. s deve ser um valor de 0 a p. O valor padrão é 0

5-17 bytes
smallmoney Os dados monetários de -214,748.3648 para 214,748.3647 4 bytes
money Os dados monetários de -922,337,203,685,477.5808 para 922,337,203,685,477.5807 8 bytes
float(n) Flutuante dados de números de precisão de -1.79E + 308 para 1.79E + 308.

O parâmetro n indica se o campo deve conter 4 ou 8 bytes. float (24) tem um campo de 4 bytes e float (53) tem um campo de 8 bytes. valor padrão de n é de 53.

4 ou 8 bytes
real Flutuante dados de números de precisão de -3.40E + 38 a 3.40E + 38 4 bytes

Date types:

Tipo de dados Descrição Armazenamento
datetime A partir de 01 de janeiro de 1753 a 31 de Dezembro de 9999, com uma precisão de 3,33 milissegundos 8 bytes
datetime2 De 1 de Janeiro de 0001 a 31 de Dezembro de 9999 com uma precisão de 100 nanosegundos 6-8 bytes
smalldatetime A partir de 01 de janeiro de 1900 para 06 de junho de 2079, com uma precisão de 1 minuto 4 bytes
date Armazenar uma data única. De 1 de Janeiro de 0001 a 31 de Dezembro de 9999 3 bytes
time Armazenar uma vez apenas com uma precisão de 100 nanosegundos 3-5 bytes
datetimeoffset O mesmo que DateTime2 com a adição de um deslocamento de fuso horário 8-10 bytes
timestamp Armazena um número exclusivo que é atualizado sempre que uma linha é criado ou modificado. O valor timestamp é baseada em um relógio interno e não corresponde ao tempo real. Cada tabela pode ter apenas uma variável timestamp

Other data types:

Tipo de dados Descrição
sql_variant Armazena até 8.000 bytes de dados de vários tipos de dados, exceto text, ntext, e timestamp
uniqueidentifier Armazena um identificador exclusivo global (GUID)
xml Armazena dados XML formatado. 2GB máximo
cursor Armazena uma referência a um cursor utilizado para operações de bases de dados
table Armazena um result-set para processamento posterior