SQL - Restrição NOT NULL

Por padrão, uma coluna pode conter valores NULL. Se você não deseja que uma coluna tenha um valor NULL, então você precisa definir tal restrição nesta coluna especificando que NULL agora não é permitido para aquela coluna.

Um NULL não é o mesmo que nenhum dado, mas representa dados desconhecidos.

Exemplo

Por exemplo, a consulta SQL a seguir cria uma nova tabela chamada CUSTOMERS e adiciona cinco colunas, três das quais, são ID NAME e AGE. Neste especificamos não aceitar NULLs -

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

Se a tabela CUSTOMERS já foi criada, para adicionar uma restrição NOT NULL à coluna SALARY no Oracle e no MySQL, você escreveria uma consulta como a que é mostrada no bloco de código a seguir.

ALTER TABLE CUSTOMERS
   MODIFY SALARY  DECIMAL (18, 2) NOT NULL;
sql-rdbms-concepts.htm