🚫 NOT NULL no MySQL

Introdução

A constraint NOT NULL é utilizada para impedir que uma coluna receba valores vazios ou nulos.

Ela determina que uma informação é obrigatória no momento do cadastro de um registro.

📌 NOT NULL garante que campos importantes sempre tenham informação.

O que é NULL?

O valor NULL representa ausência de informação.

Ele não significa zero, espaço vazio ou texto vazio. Indica que nenhum valor foi informado.

Valor Significado
NULL Nenhuma informação cadastrada
0 Valor numérico zero
'' Texto vazio

Objetivo do NOT NULL

Sintaxe Básica

CREATE TABLE clientes (
  nome VARCHAR(100) NOT NULL
);

Exemplo Prático

Criando uma tabela de clientes:

CREATE TABLE clientes (

  id INT AUTO_INCREMENT PRIMARY KEY,

  nome VARCHAR(100) NOT NULL,

  email VARCHAR(150) NOT NULL

);

Neste exemplo, nome e email são campos obrigatórios.

Tentativa de Inserir Valor Nulo

INSERT INTO clientes
(nome,email)
VALUES
(NULL,'teste@email.com');
⚠️ O MySQL rejeitará o cadastro porque o campo nome não aceita NULL.

Adicionar NOT NULL em uma Tabela Existente

Podemos alterar uma coluna utilizando ALTER TABLE.

ALTER TABLE clientes
MODIFY nome VARCHAR(100) NOT NULL;

Remover NOT NULL

ALTER TABLE clientes
MODIFY nome VARCHAR(100);

Após a alteração, o campo poderá receber valores NULL.

Exemplos de Campos Obrigatórios

Sistema Campo NOT NULL
Cadastro de Cliente Nome
Login Senha
Produto Descrição
Funcionário CPF

NOT NULL x DEFAULT

NOT NULL DEFAULT
Exige preenchimento Preenche automaticamente
Usuário informa o valor Banco define um valor padrão
Impede NULL Evita ausência de valor

Exemplo com NOT NULL e DEFAULT

CREATE TABLE usuarios (

 id INT AUTO_INCREMENT PRIMARY KEY,

 nome VARCHAR(100) NOT NULL,

 ativo BOOLEAN DEFAULT TRUE

);

O nome é obrigatório e o campo ativo recebe TRUE automaticamente.

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você entende como utilizar NOT NULL para garantir que informações importantes sempre sejam preenchidas no banco de dados MySQL.