Em SQL, os tipos de dados especificam o tipo de dados que podem ser armazenados em uma coluna. Escolher o tipo de dados correto é crucial para a integridade dos dados, eficiência de armazenamento e desempenho da consulta. Esta lição aborda os tipos de dados comuns e seus subtipos usados em bancos de dados SQL, juntamente com seus intervalos de valores.
Os tipos de dados numéricos são usados para armazenar valores numéricos.
INT
ou INTEGER
: Tipicamente um inteiro de 4 bytes.SMALLINT
: Tipicamente um inteiro de 2 bytes.BIGINT
: Tipicamente um inteiro de 8 bytes.TINYINT
: Tipicamente um inteiro de 1 byte.TINYINT
: -128 a 127 (com sinal) ou 0 a 255 (sem sinal)SMALLINT
: -32.768 a 32.767INT
: -2.147.483.648 a 2.147.483.647BIGINT
: -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807DECIMAL(10, 2)
pode armazenar números com 10 dígitos totais, 2 dos quais estão após o ponto decimal.FLOAT
: Número de ponto flutuante de precisão simples.DOUBLE
/ DOUBLE PRECISION
: Número de ponto flutuante de precisão dupla.REAL
: Um sinônimo para FLOAT
em alguns bancos de dados.Os tipos de dados de caractere são usados para armazenar texto.
CHAR(10)
armazena strings de exatamente 10 caracteres.VARCHAR(255)
armazena strings de até 255 caracteres.VARCHAR
.Os tipos de dados de data e hora são usados para armazenar valores temporais.
TIMESTAMP
geralmente tem um comportamento especial relacionado a fusos horários e atualizações automáticas.É importante entender o conceito de NULL
em SQL. NULL
representa um valor ausente ou desconhecido. Uma coluna pode ser definida para permitir ou não valores NULL
. Ao contrário de outros tipos de dados, NULL
não é um tipo de dados em si, mas sim uma propriedade de uma coluna. É crucial lidar com valores NULL
corretamente em consultas para evitar resultados inesperados. Comparações com NULL
devem ser feitas usando IS NULL
ou IS NOT NULL
.
VARCHAR
em vez de CHAR
, a menos que precise de strings de comprimento fixo.DECIMAL
para valores numéricos exatos, especialmente ao lidar com moeda.Ao entender os tipos de dados disponíveis e suas características, você pode projetar bancos de dados que sejam eficientes, confiáveis e fáceis de manter.
Principais Conclusões desta Lição:
INTEGER
, DECIMAL
e FLOAT
são usados para armazenar dados numéricos, cada um com diferentes características em relação à precisão e intervalo.CHAR
, VARCHAR
e TEXT
são usados para armazenar dados de texto, com diferentes restrições de comprimento e implicações de armazenamento.DATE
, TIME
e DATETIME
são usados para armazenar dados temporais, com formatos específicos que variam entre os sistemas de banco de dados.BOOLEAN
, BLOB
e JSON
fornecem suporte para armazenar valores booleanos, dados binários e dados semiestruturados, respectivamente.NULL
representa um valor ausente ou desconhecido e não é um tipo de dados em si. É crucial lidar com valores NULL
corretamente em consultas.