15/01/2024
Esta é uma referência prática de como escolher o correto tipo de dado no MySQL.
Vamos supor que você precise armazenar dados de um usuário em uma tabela. Abaixo um exemplo de registro desta tabela:
A seguir, vamos detalhar os tipos de dados para cada campo e explicar as razões para as escolhas:
INT
, ideal para identificação única do usuário.VARCHAR(32)
, para armazenar nomes de usuário, permitindo até 32 caracteres.VARCHAR(32)
, para armazenar senhas, também permitindo até 32 caracteres.VARCHAR(100)
, flexível para acomodar nomes de diferentes comprimentos.CHAR(2)
, adequado para siglas de estados de tamanho fixo.VARCHAR(100)
, para acomodar nomes de cidades de diferentes tamanhos.VARCHAR(255)
, um padrão comum para endereços de email.DATE
, eficiente para armazenar apenas datas.DATETIME
, ideal para registrar informações temporais precisas.DECIMAL(10,2)
, preciso para valores monetários.TEXT
, apropriado para armazenar grandes quantidades de texto.ENUM('Ativo', 'Inativo')
, eficiente para campos com um conjunto limitado de valores.Para criar esta tabela no MySQL, usaremos o seguinte o comando SQL:
CREATE TABLE Usuarios (
Id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Usuario VARCHAR(32) UNIQUE,
Senha VARCHAR(32),
Nome VARCHAR(100),
Estado CHAR(2),
Cidade VARCHAR(100),
Email VARCHAR(255),
Nascimento DATE,
Ultimo_Acesso DATETIME,
Saldo DECIMAL(10,2),
Biografia TEXT,
Status ENUM('Ativo', 'Inativo')
);
Observações importante sobre os camops Id e Usuario:
INT UNSIGNED AUTO_INCREMENT PRIMARY KEY
. Um número inteiro positivo que se autoincrementa e é chave primária, ideal para identificação única de cada usuário. Este campo pode ser usado para conectar dados com outras tabelas.VARCHAR(32) UNIQUE
. Armazena o nome do usuário em até 32 caracteres e previne que dois usuários tenham o mesmo nome de usuário.A escolha de cada tipo de dado é fundamentada na natureza dos dados a serem armazenados e nas melhores práticas de otimização e eficiência do banco de dados.