SQL - Contrainte NOT NULL

Par défaut, une colonne peut contenir des valeurs NULL. Si vous ne souhaitez pas qu'une colonne ait une valeur NULL, vous devez définir une telle contrainte sur cette colonne en spécifiant que NULL n'est plus autorisé pour cette colonne.

Un NULL n'est pas la même chose qu'aucune donnée, mais représente plutôt des données inconnues.

Exemple

Par exemple, la requête SQL suivante crée une nouvelle table appelée CUSTOMERS et ajoute cinq colonnes, dont trois sont ID NAME et AGE. En cela, nous spécifions de ne pas accepter les 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 la table CUSTOMERS a déjà été créée, pour ajouter une contrainte NOT NULL à la colonne SALARY dans Oracle et MySQL, vous écrirez une requête comme celle qui est affichée dans le bloc de code suivant.

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