PostgreSQL

Insérer une ligne si les valeurs n'existent pas déjà dans Postgresl

Insérer une ligne si les valeurs n'existent pas déjà dans Postgresl

Connaître et manipuler les systèmes de gestion de bases de données nous a familiarisés avec les modifications apportées aux bases de données. Ce qui implique généralement la création, l'insertion, la mise à jour et la suppression de fonctions appliquées sur des tables spécifiques. Dans le présent article, nous verrons comment les données sont gérées par la méthode d'insertion. Nous devons avoir à créer une table dans laquelle nous voulons l'insertion. L'instruction Insert est utilisée pour l'ajout de nouvelles données dans les lignes de tableaux. L'instruction PostgreSQL inserts couvre certaines règles pour l'exécution réussie d'une requête. Tout d'abord, nous devons mentionner le nom de la table suivi des noms de colonnes (attributs) où nous voulons insérer des lignes. Deuxièmement, nous devons entrer les valeurs, séparées par une virgule après la clause VALUE. Enfin, chaque valeur doit être dans le même ordre que la séquence de listes d'attributs est fournie lors de la création d'une table particulière.

Syntaxe

>> INSERT INTO TABLENAME (colonne1, colonne) VALUES ('value1', 'value2');

Ici, une colonne est les attributs de la table. Le mot-clé VALUE est utilisé pour saisir des valeurs. 'Valeur' ​​est les données des tables à saisir.

Insertion de fonctions de ligne dans le shell PostgreSQL (psql)

Après l'installation réussie de postgresql, nous entrerons le nom de la base de données, le numéro de port et le mot de passe. Psql sera lancé. Nous effectuerons ensuite des requêtes respectivement.

Exemple 1 : Utiliser INSERT pour ajouter de nouveaux enregistrements aux tables
En suivant la syntaxe, nous allons créer la requête suivante. Pour insérer une ligne dans le tableau, nous allons créer un tableau nommé « client ». Le tableau respectif contient 3 colonnes. Le type de données de colonnes particulières doit être mentionné pour saisir des données dans cette colonne et éviter la redondance. La requête pour créer une table est :

>> créer une table client (id int, nom varchar (40), pays varchar (40));

Après avoir créé le tableau, nous allons maintenant saisir les données en insérant des lignes manuellement dans des requêtes distinctes. Tout d'abord, nous mentionnons le nom de la colonne pour maintenir l'exactitude des données dans des colonnes particulières concernant les attributs. Et puis, les valeurs seront saisies. Les valeurs sont codées par des virgules simples, car elles doivent être insérées sans aucune modification.

>> insérer dans le client (id, nom, pays) des valeurs ('1','Alia','Pakistan');

Après chaque insertion réussie, le résultat sera "0   1", ce qui signifie qu'une ligne est insérée à la fois. Dans la requête comme mentionné précédemment, nous avons inséré des données 4 fois. Pour visualiser les résultats, nous utiliserons la requête suivante :

>> sélectionnez * du client ;

Exemple 2 : utilisation de l'instruction INSERT pour ajouter plusieurs lignes dans une seule requête
La même approche est utilisée pour insérer des données mais pas plusieurs fois pour introduire des instructions d'insertion. Nous entrerons les données immédiatement en utilisant une certaine requête ; toutes les valeurs d'une ligne sont séparées par « En utilisant la requête suivante, nous atteindrons la sortie requise

Exemple 3 : INSÉRER plusieurs lignes dans une table en fonction des nombres d'une autre table
Cet exemple concerne l'insertion de données d'une table à une autre. Considérez deux tableaux, « a » et « b ». Le tableau "a" a 2 attributs, i.e., nom et classe. En appliquant une requête CREATE, nous allons introduire une table. Après la création de la table, les données seront saisies à l'aide d'une requête d'insertion.

>> créer une table (nom varchar (30), classe varchar (40));
>> Insérer dans un valeurs ('amna', 1), ('bisma','2'), ('javed','3'), ('maha','4');

Quatre valeurs sont insérées dans le tableau en utilisant la théorie du dépassement.  Nous pouvons vérifier en utilisant des instructions select.

De même, nous allons créer une table « b », ayant les attributs de tous les noms et sujets. Les 2 mêmes requêtes seront appliquées pour insérer et récupérer l'enregistrement de la table correspondante.

>> créer la table b(allnames varchar(30), sujet varchar(70));

Récupérez le record en sélectionnant la théorie.

>> sélectionnez * à partir de b;

Pour insérer des valeurs de table b dans le tableau, nous utiliserons la requête suivante. Cette requête fonctionnera de telle manière que tous les noms de la table b sera inséré dans le tableau une avec le comptage des nombres qui montrent le nombre d'occurrences d'un nombre particulier dans la colonne respective du tableau b. "b.allnames" représente la fonction objet pour spécifier la table. Compte (b.allnames) fonctionne pour compter le nombre total d'occurrences. Comme chaque nom se produit en même temps, la colonne résultante aura 1 nombre.

>> Insérer dans a (nom, classe) sélectionner b.tous les noms, compte (b.allnames) du groupe b par b.tous les noms ;

Exemple 4 : INSÉRER les données dans les lignes si elles n'existent pas
Cette requête permet de saisir des lignes si elle n'est pas présente. Tout d'abord, la requête fournie vérifie si la ligne est déjà présente ou non. S'il existe déjà, les données ne sont pas ajoutées. Et si les données ne sont pas présentes dans une ligne, la nouvelle insertion sera maintenue. Ici, tmp est une variable temporaire utilisée pour stocker des données pendant un certain temps.

>> insérer dans b (allnames, subject) select * from (select 'Kinza' as allnames, 'islamiat' as subject) as tmp là où il n'existe pas ( sélectionner allnames de b où allnames ='sundus' limite 1);

Exemple 5 : PostgreSQL Upsert utilisant l'instruction INSERT
Cette fonction a deux variétés :

Initialement, nous allons former un tableau avec quelques exemples de données.

>> CREATE TABLE tbl2 (ID INT PRIMARY KEY, Name CHARACTER VARYING);

Après avoir créé la table, nous insérerons des données dans tbl2 en utilisant la requête :

>> INSÉRER DANS LES VALEURS tbl2 (1,'uzma'), (2,'abdul'), (3,'Hamna'), (4,'fatima'), (5,'shiza'), (6,' javéria');

Si un conflit survient, mettez à jour :

>>INSERT INTO tbl2 VALUES (8,'Rida') ON CONFLICT (ID) DO UPDATE SET Name=Exclus.Nom;

Dans un premier temps, nous entrerons les données en utilisant la requête de conflit de l'identifiant 8 et le nom Rida. La même requête sera utilisée après le même identifiant ; le nom sera changé. Maintenant, vous remarquerez comment les noms seront modifiés sur le même identifiant dans la table.

>> INSÉRER DANS LES VALEURS tbl2 (8,'Mahi') ON CONFLICT (ID) DO UPDATE SET Nom = Exclu.Nom;

Nous avons trouvé qu'il y avait un conflit sur l'ID "8", donc la ligne spécifiée est mise à jour.

Si un conflit survient, ne faites rien

>> INSÉRER DANS LES VALEURS tbl2 (9,'Hira') SUR LE CONFLIT (ID) NE RIEN FAIRE ;

En utilisant cette requête, une nouvelle ligne est insérée. Après cela, nous utiliserons si la même requête pour voir le conflit qui s'est produit.

>>INSÉRER DANS LES VALEURS tbl2 (9,'Hira') SUR LE CONFLIT (ID) NE RIEN FAIRE ;

Selon l'image ci-dessus, vous verrez qu'après l'exécution de la requête "INSERT 0 0" aucune donnée n'est saisie.

Conclusion

Nous avons jeté un coup d'œil au concept d'insertion de lignes dans des tableaux où les données ne sont pas présentes ou l'insertion n'est pas terminée, si un enregistrement est trouvé, afin de réduire la redondance dans les relations de base de données.

Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...
Comment inverser le sens de défilement de la souris et des pavés tactiles dans Windows 10
Souris et Pavé tactiles rendent non seulement l'informatique facile, mais plus efficace et moins chronophage. Nous ne pouvons pas imaginer une vie san...