La contrainte PRIMARY KEY regroupe les deux contraintes not null et unique, on peut la déclarer lors de la création de la colonne (column-level) ou à la fin de la déclaration des colonnes (table-level) mais aussi après la création de la table avec ADD CONSTRAINT. Il est souhaitable de nommer les contraintes de clé primaire en utilisant le préfixe "pk_". La clé primaire peut comporter plus d'une colonne, c'est le cas d'une table de jointure dans une relation many-to-many.