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