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.