Como realizar atualizações e inserções de NULL no SQL

É importante tratar corretamente os valores NULL nas operações com bancos de dados SQL. O NULL indica que os dados estão ausentes, desconhecidos ou não se aplicam. Neste artigo, vamos explicar os procedimentos específicos para inserções e atualizações de valores NULL no SQL, além de destacar pontos de atenção e armadilhas comuns.

Índice

Conceito básico de NULL

O NULL no SQL indica a ausência ou desconhecimento de um valor. Diferente de outros tipos de dados, o NULL representa um estado onde “não há valor”. Por exemplo, quando uma coluna de uma tabela não possui dados inseridos, o valor dessa coluna será NULL. O NULL exige tratamento especial, especialmente em operações como comparações e funções.

Como inserir NULL

Inserir um valor NULL em um banco de dados usando o comando INSERT é muito simples. Basta especificar NULL para a coluna na qual deseja inserir o valor. Veja um exemplo a seguir.

Comando INSERT básico

No exemplo abaixo, um novo registro é inserido na tabela employees. Neste caso, o valor NULL será inserido na coluna middle_name.

INSERT INTO employees (first_name, last_name, middle_name)
VALUES ('John', 'Doe', NULL);

Inserir NULL em uma coluna específica

Também é possível inserir valores apenas em colunas específicas e deixar as demais com valores NULL.

INSERT INTO employees (first_name, last_name)
VALUES ('Jane', 'Smith');

Neste caso, o valor da coluna middle_name será automaticamente NULL.

Como atualizar valores para NULL

O comando UPDATE pode ser utilizado para atualizar dados existentes para valores NULL. Quando você quer atualizar uma coluna específica de um registro para NULL, basta usar a cláusula SET e atribuir o valor NULL à coluna desejada.

Comando UPDATE básico

No exemplo abaixo, a coluna middle_name da tabela employees será atualizada para NULL.

UPDATE employees
SET middle_name = NULL
WHERE employee_id = 1;

Este comando define a coluna middle_name do registro cujo employee_id é igual a 1 como NULL.

Atualizar várias colunas para NULL

Também é possível atualizar várias colunas para NULL ao mesmo tempo.

UPDATE employees
SET middle_name = NULL, last_name = NULL
WHERE employee_id = 2;

Neste caso, as colunas middle_name e last_name do registro com employee_id igual a 2 serão atualizadas para NULL.

Cuidados ao lidar com NULL

Há alguns pontos importantes a serem considerados ao trabalhar com valores NULL. A falta de entendimento adequado sobre o NULL pode levar a bugs inesperados ou inconsistências nos dados.

Comparação com NULL

O NULL é um valor especial, por isso não pode ser comparado usando operadores comuns (como = ou !=). Para comparar com valores NULL, é necessário utilizar IS NULL ou IS NOT NULL.

SELECT * FROM employees
WHERE middle_name IS NULL;

Funções e operações com NULL

Qualquer cálculo que inclua um valor NULL terá como resultado NULL. Por exemplo, NULL + 5 resultará em NULL. Para evitar o NULL, você pode usar a função COALESCE e definir um valor padrão.

SELECT COALESCE(middle_name, 'N/A') AS middle_name
FROM employees;

Valor padrão para NULL

Quando uma coluna não tem um valor padrão definido, essa coluna será NULL ao inserir um novo registro. No entanto, é possível definir um valor padrão para evitar NULL.

ALTER TABLE employees
ALTER COLUMN middle_name SET DEFAULT 'Unknown';

Como verificar valores NULL

A seguir, mostraremos como verificar valores NULL em uma tabela usando o comando SELECT. Monitorar valores NULL de forma eficaz ajuda a manter a integridade dos dados.

Verificação básica de NULL

Para buscar registros onde uma coluna específica contém NULL, utilize IS NULL.

SELECT * FROM employees
WHERE middle_name IS NULL;

Esta consulta retorna todos os registros onde a coluna middle_name é NULL.

Verificação de valores que não são NULL

Por outro lado, para buscar registros onde uma coluna não contém NULL, utilize IS NOT NULL.

SELECT * FROM employees
WHERE middle_name IS NOT NULL;

Esta consulta retorna todos os registros onde a coluna middle_name não é NULL.

Consulta complexa incluindo NULL

Também é possível combinar várias condições para buscar dados que incluam valores NULL.

SELECT * FROM employees
WHERE department_id = 3 AND middle_name IS NULL;

Essa consulta retorna os registros onde o department_id é igual a 3 e o middle_name é NULL.

Conclusão

A inserção e atualização de valores NULL no SQL são operações importantes no gerenciamento de bancos de dados. O NULL representa o estado “sem valor” e pode ser tratado facilmente com os comandos INSERT e UPDATE. No entanto, comparações e operações envolvendo NULL exigem cuidados especiais. Gerenciando NULL de forma adequada, você pode manter a integridade e a qualidade dos dados. Use os métodos apresentados neste artigo para realizar operações de SQL de forma mais eficaz.

Índice