De forma predeterminada, una columna puede contener valores NULL. Si no desea que una columna tenga un valor NULL, entonces necesita definir tal restricción en esta columna especificando que NULL ahora no está permitido para esa columna.
Un NULL no es lo mismo que sin datos, sino que representa datos desconocidos.
Ejemplo
Por ejemplo, la siguiente consulta SQL crea una nueva tabla llamada CLIENTES y agrega cinco columnas, tres de las cuales son ID NOMBRE y EDAD. En esto especificamos no aceptar NULL -
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)
);
Si ya se ha creado la tabla CUSTOMERS, entonces para agregar una restricción NOT NULL a la columna SALARY en Oracle y MySQL, escribiría una consulta como la que se muestra en el siguiente bloque de código.
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) NOT NULL;
sql-rdbms-conceptos.htm