PostgreSQL

Comment configurer la clé primaire à incrémentation automatique de PostgreSQL?

Comment configurer la clé primaire à incrémentation automatique de PostgreSQL?
Il peut arriver que vous construisiez et mainteniez des tables dans PostgreSQL lorsque vous souhaitez des valeurs particulières pour une colonne générée à la demande. Cela serait particulièrement vrai pour les colonnes « id » qui servent de clé primaire de la table. Heureusement, le pseudo-type SERIAL permet de rendre pratique une série entière auto-incrémentée. Une série est un type d'objet de base de données dans PostgreSQL qui produit une série d'index ou d'entiers. Une séquence PostgreSQL produit une chaîne d'entiers distincts, ce qui la rend appropriée pour être utilisée comme clé primaire lors de la génération d'une nouvelle table. Nous vous montrerons ce que menas d'auto-incrémentation dans PostgreSQL et nous utiliserons le pseudo-type SERIAL tout au long de ce guide.

Syntaxe:

La syntaxe générale pour créer la clé primaire à incrémentation automatique est la suivante :

>> CREATE TABLE nom_table ( id SERIAL );

Voyons maintenant plus en détail la déclaration CREATE TABLE :

Pour obtenir le concept d'auto-incrémentation, veuillez vous assurer que PostgreSQL est monté et configuré sur votre système avant de continuer avec les illustrations de ce guide. Ouvrez le shell de ligne de commande PostgreSQL depuis le bureau. Ajoutez votre nom de serveur sur lequel vous souhaitez travailler, sinon laissez-le par défaut. Écrivez le nom de la base de données qui se trouve dans votre serveur sur lequel vous souhaitez travailler. Si vous ne voulez pas le changer, laissez-le par défaut. Nous utiliserons la base de données "test", c'est pourquoi nous l'avons ajoutée. Vous pouvez également travailler sur le port par défaut 5432, mais vous pouvez également le modifier. En fin de compte, vous devez fournir le nom d'utilisateur pour la base de données que vous choisissez. Laissez-le par défaut si vous ne voulez pas le changer. Tapez votre mot de passe pour le nom d'utilisateur sélectionné et appuyez sur "Entrée" à partir du clavier pour commencer à utiliser le shell de commande.

Utilisation du mot-clé SERIAL comme type de données :

Lorsque nous créons une table, nous n'ajoutons généralement pas le mot-clé SERIAL dans le champ de la colonne principale. Cela signifie que nous devons ajouter les valeurs à la colonne de clé primaire tout en utilisant l'instruction INSERT. Mais lorsque nous utilisons le mot-clé SERIAL dans notre requête lors de la création d'une table, nous ne devrions pas avoir besoin d'ajouter des valeurs de colonne primaire lors de l'insertion des valeurs. Jetons-y un coup d'œil.

Exemple 01 :

Créez une table « Test » avec deux colonnes « id » et « nom ». La colonne « id » a été définie comme colonne de clé primaire car son type de données est SERIAL. D'autre part, la colonne "nom" est définie comme le type de données TEXT NOT NULL. Essayez la commande ci-dessous pour créer un tableau et le tableau sera créé efficacement comme le montre l'image ci-dessous.

>> CREATE TABLE Test( id SERIAL PRIMARY KEY, name TEXT NOT NULL);

Insérons quelques valeurs dans la colonne « nom » de la table nouvellement créée « TEST ». Nous n'ajouterons aucune valeur à la colonne « id ». Vous pouvez voir que les valeurs ont été insérées avec succès à l'aide de la commande INSERT comme indiqué ci-dessous.

>> INSÉRER DANS LES VALEURS Test(nom) ('Aqsa'), ('Rimsha'), ('Khan');

Il est temps de vérifier les enregistrements de la table 'Test'. Essayez l'instruction SELECT ci-dessous dans le shell de commande.

>> SÉLECTIONNER * À PARTIR DE Test ;

À partir de la sortie ci-dessous, vous pouvez remarquer que la colonne « id » contient automatiquement des valeurs même si nous n'avons ajouté aucune valeur à partir de la commande INSERT en raison du type de données SERIAL que nous avons spécifié pour la colonne « id ». C'est ainsi que le type de données SERIAL fonctionne tout seul.

Exemple 02 :

Une autre façon de vérifier la valeur de la colonne de type de données SERIAL consiste à utiliser le mot clé RETURNING dans la commande INSERT. La déclaration ci-dessous crée une nouvelle ligne dans la table « Test » et renvoie la valeur du champ « id » :

>> INSERER DANS Test(nom) VALEURS ('Hassam') RETOUR ID;

En vérifiant les enregistrements de la table "Test" à l'aide de la requête SELECT, nous avons obtenu la sortie ci-dessous telle qu'affichée dans l'image. Le cinquième enregistrement a été efficacement ajouté à la table.

>> SELECT * FROM Test;

Exemple 03 :

La version alternative de la requête d'insertion ci-dessus utilise le mot clé DEFAULT. Nous utiliserons le nom de la colonne "id" dans la commande INSERT, et dans la section VALUES, nous lui donnerons le mot clé DEFAULT comme valeur. La requête ci-dessous fonctionnera de la même manière lors de l'exécution.

>> INSERT INTO Test(id, name) VALUES (DEFAULT, 'Raza');

Vérifions à nouveau la table à l'aide de la requête SELECT comme suit :

>> SELECT * FROM Test;

Vous pouvez voir à partir de la sortie ci-dessous, la nouvelle valeur a été ajoutée tandis que la colonne "id" a été incrémentée par défaut.

Exemple 04 :

Le numéro de séquence du champ de la colonne SERIAL peut être trouvé dans une table dans PostgreSQL. La méthode pg_get_serial_sequence() est utilisée pour accomplir cela. Nous devons utiliser la fonction currval() avec la méthode pg_get_serial_sequence(). Dans cette requête, nous fournirons le nom de la table et son nom de colonne SERIAL dans les paramètres de la fonction pg_get_serial_sequence(). Comme vous pouvez le voir, nous avons spécifié le tableau « Test » et la colonne « id ». Cette méthode est utilisée dans l'exemple de requête ci-dessous :

>> SELECT currval(pg_get_serial_sequence('Test', 'id'));

Il convient de noter que notre fonction currval() nous aide à extraire la valeur la plus récente de la séquence, qui est « 5 ». L'image ci-dessous est une illustration de ce à quoi pourrait ressembler la performance.

Conclusion:

Dans ce tutoriel, nous avons montré comment utiliser le pseudo-type SERIAL pour s'auto-incrémenter dans PostgreSQL. En utilisant une série dans PostgreSQL, il est simple de créer un ensemble de nombres à incrémentation automatique. Avec un peu de chance, vous pourrez appliquer le champ SÉRIE aux descriptions de table en utilisant nos illustrations comme référence.

Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...