CLÉ PRIMAIRE SQL : Créer et ajouter à une table existante

⚡ Résumé intelligent

Dans SQL Server, une clé primaire est une colonne (ou un ensemble de colonnes) dont les valeurs identifient de manière unique chaque ligne d'une table. Chaque table possède une seule clé primaire, et ses colonnes ne doivent jamais contenir de valeurs NULL.

  • (I.e. Qu'est-ce qu'une clé primaire ? Une clé primaire est une ou plusieurs colonnes dont les valeurs sont uniques et identifient chaque ligne d'une table.
  • 🚫 Règles fondamentales : Une table n'autorise qu'une seule clé primaire, chaque valeur doit être unique et aucune colonne clé ne peut contenir de valeur NULL.
  • 🇧🇷 Deux méthodes de création : SQL Server Management Studio Table Designer et l'instruction T-SQL CREATE TABLE définissent tous deux une clé primaire.
  • 🧱 Clause de contrainte : Dans l'instruction CREATE TABLE, la clause CONSTRAINT … PRIMARY KEY nomme la clé et liste sa ou ses colonnes.
  • Ajouter à un tableau existant : La commande ALTER TABLE … ADD CONSTRAINT ajoute une clé primaire aux colonnes NOT NULL d'une table existante.
  • 🧩 Clé composite : Une clé primaire peut combiner jusqu'à 16 colonnes, formant une clé composite unique pour l'ensemble des données.

Clé primaire SQL Server : Comment créer et ajouter des données à une table existante

Qu'est-ce que la clé primaire en SQL ?

Une clé primaire dans SQL Server Une clé primaire est un champ, ou une combinaison de champs, qui identifie un enregistrement de manière unique. Il s'agit d'une colonne, ou d'un ensemble de colonnes, dont chaque valeur est unique. Autrement dit, deux lignes ne peuvent pas partager la même valeur de clé primaire.

Règles pour la clé primaire

  • Chaque table ne peut avoir qu'une seule clé primaire.
  • Toutes les valeurs sont uniques, et la valeur de la clé primaire permet d'identifier chaque ligne de manière unique.
  • Le système n'autorisera pas l'insertion d'une ligne dont la valeur de clé primaire existe déjà dans la table.
  • Une clé primaire ne peut pas être NULL.

Le diagramme ci-dessous résume tous les points ci-dessus concernant la clé primaire SQL.

Diagramme récapitulatif des règles de clé primaire SQL : valeurs uniques, une par table, et aucune valeur NULL

Comment créer une clé primaire dans SQL Server

Vous pouvez créer une clé primaire de deux manières :

Étudions chaque méthode en détail.

SQL Server Management Studio

Étape 1) Cliquez avec le bouton droit sur le nom du tableau et cliquez sur Design.

Cliquez avec le bouton droit sur la table et choisissez « Conception » dans SQL Server Management Studio.

Étape 2) Cliquez avec le bouton droit sur le nom de la colonne et cliquez sur Définir la clé primaire.

Cliquez avec le bouton droit sur la colonne et choisissez « Définir la clé primaire dans le concepteur de tables ».

Résultat : Course_Id est désormais une clé primaire, comme l’indique l’icône de clé à côté de la colonne.

La colonne Course_Id, marquée d'une icône de clé, est la clé primaire.

T-SQL : Créer une clé primaire lors de la création d'une nouvelle table

Voici la syntaxe pour créer un tableau avec une clé primaire issue de T-SQL.

syntaxe:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

Ici, CONSTRAINT désigne la clé, PRIMARY KEY indique la colonne qui doit rester unique, et chaque colonne a également besoin d'une Type de données.

Créons une table avec une seule colonne comme clé primaire SQL.

requête:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

Étape 1) Exécutez la requête en cliquant sur Exécution.

Exécution de la requête CREATE TABLE qui définit la clé primaire Course_ID

Résultat : Course_Id est désormais une clé primaire de la table COURSE_TSQL_PK.

La table COURSE_TSQL_PK affiche Course_ID comme clé primaire

Exemple : Voyons s’il est possible de saisir plusieurs enregistrements avec le même identifiant de cours.

Étape 1) Insérez quatre lignes avec des valeurs Course_ID différentes.

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

Étape 2) Vérifiez que toutes les données ont été insérées avec succès en exécutant la requête SELECT.

Résultat de la requête SELECT affichant quatre lignes avec des valeurs Course_ID distinctes

Remarque : Vous pouvez insérer des valeurs en double dans une colonne qui n'est pas une clé primaire.

Étape 3) Essayons maintenant d'insérer un nouvel enregistrement avec un Course_ID existant, qui est la clé primaire.

Insert into COURSE_TSQL_PK values (4,'JAVA');

Résultat : Le système n'autorise pas l'insertion de la nouvelle valeur, car la valeur 4 existe déjà dans la colonne Course_ID, qui est une clé primaire.

Message d'erreur : valeur de clé primaire dupliquée pour Course_ID refusée

Comment ajouter une clé primaire à une table existante dans SQL ?

Nous allons maintenant voir comment ajouter une clé primaire à une table existante en SQL.

Vous pouvez utiliser l'instruction ALTER pour créer une clé primaire. Cependant, une clé primaire ne peut être créée que sur des colonnes définies comme NOT NULL. Vous ne pouvez pas créer de clé primaire sur une colonne autorisant les valeurs NULL ; si une colonne autorise actuellement les valeurs NULL, vous devez d'abord la modifier pour qu'elle soit NOT NULL, ou supprimer puis recréer la table.

Voici la syntaxe :

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

Par exemple :

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

L'instruction ALTER TABLE ajoute une contrainte de clé primaire nommée students_pk

Nous avons ajouté une contrainte de clé primaire à une table déjà existante. La contrainte a été ajoutée sur la colonne d'admission et a reçu le nom Students_pk.

Faits intéressants!

  • Une clé primaire peut être une combinaison de plusieurs colonnes. Cette combinaison est appelée clé primaire composite.
  • Une clé primaire peut comporter un maximum de 16 colonnes.

FAQ

Les deux garantissent l'unicité. Une table ne peut contenir qu'une seule clé primaire, et ses colonnes ne peuvent pas être NULL. Une table peut contenir plusieurs clés uniques, et une colonne unique peut accepter une valeur NULL. Les clés primaires définissent généralement l'identifiant principal de la ligne.

Oui. SQL Server crée automatiquement un index unique pour appliquer la clé primaire. Par défaut, cet index est cluster, ce qui trie physiquement les lignes. Vous pouvez spécifier NONCLUSTERED à la place lorsqu'une autre colonne contient déjà l'index cluster.

Une clé primaire composite associe deux colonnes ou plus afin que leurs valeurs soient uniques, même si chaque colonne contient des valeurs répétées. SQL Server autorise une clé primaire comportant jusqu'à 16 colonnes et une longueur totale de 900 octets.

Une clé primaire identifie de manière unique chaque ligne au sein de sa propre table et n'autorise jamais les valeurs NULL. clé étrangère stocke les valeurs qui doivent correspondre à une clé primaire ou unique dans une autre table, créant ainsi une relation entre les deux tables.

Exécutez la commande ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte. Vous devez connaître le nom de la contrainte, que vous trouverez dans sys.key_constraints. Supprimez-la.ping La clé primaire supprime également son index unique associé et toute clé étrangère qui y fait référence.

Une colonne IDENTITY générant automatiquement des nombres est une clé primaire de substitution courante car elle reste concise, stable et ne contient jamais de valeurs NULL. Privilégiez une clé naturelle uniquement lorsqu'une colonne existante, comme un code produit, est déjà garantie unique.

Oui. Copilote GitHub Il est possible de générer des instructions CREATE TABLE et des contraintes PRIMARY KEY à partir d'invites en langage naturel, avec des suggestions de colonnes clés appropriées. Il est impératif de vérifier systématiquement les clés générées, les types de données et la gestion des valeurs NULL, puis de tester le script avant sa mise en production.

Les outils d'IA et d'apprentissage automatique analysent des exemples de données et des modèles de requêtes afin de recommander la ou les colonnes à utiliser comme clé primaire, de signaler les clés candidates contenant des doublons ou des valeurs NULL, et de suggérer des clés de substitution. Le développeur valide chaque recommandation avant son application.

Résumez cet article avec :