SQL: restricción NOT NULL

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