PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Tutoriel PostgreSQL pour les débutants - Tout ce que vous devez savoir sur PostgreSQL

PostgreSQL est un système de base de données relationnelle objet open source avec plus de 30 ans de développement actif dans l'industrie. Dans cet article sur le tutoriel PostgreSQL pour les débutants, je vais vous présenter les différents concepts de bases de données et les commandes utilisées dans PostgreSQL.

Les sujets abordés dans cet article sont principalement divisés en 4 catégories :DDL, DML, DCL et TCL.

  • Le LDD (Data Definition Language) sont utilisées pour définir la base de données. Exemple :CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • Le LMD (Data Manipulation Language) commandes traitent de la manipulation des données présentes dans la base de données. Exemple :SÉLECTIONNER, INSÉRER, METTRE À JOUR, SUPPRIMER.
  • Le LCD Les commandes (Data Control Language) traitent des autorisations, des droits et des autres contrôles du système de base de données. Exemple :GRANT, INVOKE.
  • Le TCL Les commandes (Transaction Control Language) traitent de la transaction de la base de données. Exemple :BEGIN, COMMIT, ROLLBACK.

Outre les commandes, les sujets suivants seront abordés dans cet article :

  • Qu'est-ce que PostgreSQL ?
  • Installer PostgreSQL sur Windows
  • Différents types de clés dans la base de données
  • Contraintes utilisées dans la base de données
  • Opérateurs
  • Fonctions d'agrégation
  • Définir les opérations
  • Requêtes imbriquées
  • Joints
  • Vues
  • Procédures stockées
  • Déclencheurs
  • Type de données UUID

Qu'est-ce que PostgreSQL ? – Tutoriel PostgreSQL

PostgreSQL est un système de base de données relationnelle objet qui étend et utilise le langage SQL. Il est né en 1986 et est en développement actif depuis plus de 30 ans.

Les fonctionnalités de PostgreSQL sont les suivantes :

  1. Types de données : PostgreSQL prend en charge divers types de types de données tels que primitifs, structurés, document, géométrie et personnalisations. Cela permet à l'utilisateur de stocker des données dans n'importe quel format.
  2. Intégrité des données : À l'aide de diverses contraintes et clés dans la base de données, PostgreSQL s'assure que l'intégrité des données est satisfaite pour les bases de données simples à complexes.
  3. Performance : PostgreSQL fournit des fonctionnalités telles que l'indexation, le contrôle de la concurrence multi-versions, la complication JIT des expressions pour s'assurer que la concurrence et les performances sont maintenues à la hauteur.
  4. Fiabilité : Avec l'aide de Write Ahead Logging (WAL) et de la réplication, PostgreSQL s'est avéré être l'un des systèmes de base de données les plus fiables sur une période de temps.
  5. Sécurité : PostgreSQL fournit des mécanismes puissants tels que l'authentification, un système de contrôle d'accès robuste pour garantir que seuls les utilisateurs autorisés ont accès aux bases de données.
  6. Extensibilité : PostgreSQL est livré avec diverses extensions pour fournir des fonctionnalités supplémentaires. Il a également étendu ses fonctionnalités d'extensibilité avec des fonctions stockées, un langage procédural et des wrappers de données étrangères.

Maintenant que vous savez ce qu'est PostgreSQL, commençons par installer PostgreSQL sur Windows.

Installer PostgreSQL sur Windows – Tutoriel PostgreSQL

Pour installer PostgreSQL sur Windows, vous devez suivre les étapes ci-dessous :

Étape 1 : Allez sur le site officiel de PostgreSQL puis choisissez le système d'exploitation pour lequel vous souhaitez télécharger. Ici, je vais choisir Windows.

Étape 2 : Une fois le système d'exploitation choisi, vous serez redirigé vers une page où vous devrez télécharger le programme d'installation. Pour ce faire, cliquez sur l'option :Télécharger le programme d'installation. Reportez-vous ci-dessous.

Étape 3 : Ensuite, vous serez redirigé vers une page où vous devrez choisir la version du programme d'installation en fonction du système d'exploitation . Ici, je choisirai la version 11.4 pour Windows 64 bits. Reportez-vous ci-dessous.

Une fois, vous appuyez sur Télécharger , vous verrez automatiquement que PostgreSQL est téléchargé.

Étape 4 : Maintenant, une fois le fichier téléchargé, double-cliquez dessus pour l'ouvrir et un assistant apparaîtra sur votre écran comme ci-dessous. Cliquez sur Suivant et continuez.

Étape 4.1 : Maintenant, spécifiez le répertoire d'installation . Ici, je vais le laisser tel quel, et cliquer sur Suivant comme ci-dessous.

Étape 4.2 : Maintenant, choisissez les composants que vous souhaitez installer puis cliquez sur Suivant . Ici, je sélectionne tous les composants.

Étape 4.3 : Ensuite, sélectionnez le répertoire dans lequel vous souhaitez stocker les données . Ici, je vais le laisser tel quel. Ensuite, cliquez sur Suivant.

Étape 4.4 : Dans la boîte de dialogue suivante, qui s'affiche, vous devez mentionner le mot de passe du super utilisateur. Ensuite, cliquez sur Suivant.

Étape 4.5 : Ensuite, vous devez sélectionner le numéro de port sur quel serveur doit écouter. Ici, je vais laisser les choses telles quelles, puis cliquer sur Suivant.

Étape 4.6 : Enfin, sélectionnez les paramètres régionaux à utiliser par le nouveau cluster de bases de données. Je vais le laisser tel quel, puis cliquer sur Suivant .

Étape 4.7 : Cliquez enfin sur Suivant dans les assistants qui viennent lancer l'installation de PostgreSQL sur votre ordinateur.

Une fois l'installation terminée, vous verrez une boîte de dialogue comme ci-dessous sur votre écran. Cliquez sur Terminer.

Étape 5 : Maintenant, vous devez connecter le serveur à une base de données . Pour ce faire, ouvrez pgadmin qui est l'interface graphique officielle de PostgreSQL . Une fois que vous avez ouvert pgadmin, vous verrez une boîte de dialogue vous demandant le mot de passe. Alors, mentionnez le mot de passe et cliquez sur OK.

Maintenant que vous devez avoir installé PostgreSQL, commençons par les commandes utilisées dans PostgreSQL.

Dans cet article sur le didacticiel PostgreSQL pour les débutants, je vais considérer la base de données ci-dessous comme exemple, pour vous montrer comment écrire des commandes.

ID de l'enseignant NomEnseignant Adresse Ville Code postal Pays Salaire
01 Saurav Rue Gangnam Séoul 06499 Corée du Sud 42000
02 Preeti Queens Quay Rio Claro 560001 Brésil 45900
03 Vinod Kings Road Londres SW6 Royaume-Uni 65000
04 Akanksha Chemin Mayo Calcutta 700069 Inde 23000
05 Amit MG Road Bengale 560001 Inde 30000

Alors, commençons maintenant !

Commandes de définition de données (DDL) – Tutoriel PostgreSQL

Cette section de l'article se compose de ces commandes, que vous pouvez définir votre base de données. Les commandes sont :

  • CRÉER
  • ALTER
  • DÉPOSER
  • TRUNCATE
  • RENOMMER

CRÉER

Cette instruction est utilisée pour créer un schéma, des tables ou un index.

La déclaration "CREATE SCHEMA"

L'instruction CREATE SCHEMA est utilisée pour créer une base de données ou plus communément appelée schéma.

Syntaxe :

CREATE SCHEMA Schema_Name; 

Exemple :

CREATE SCHEMA teachers;

L'instruction "CREATE TABLE"

L'instruction CREATE TABLE est utilisée pour créer une nouvelle table dans une base de données.

Syntaxe :

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);

Exemple :


CREATE TABLE TeachersInfo
(
TeacherID int,
TeacherName varchar(255),
Address varchar(255),
City varchar(255),
PostalCode int,
Country varchar(255),
Salary int
);

ALTER

Cette instruction est utilisée pour ajouter, modifier ou supprimer des contraintes ou des colonnes.

L'instruction "ALTER TABLE"

L'instruction ALTER TABLE est utilisée pour ajouter, modifier ou supprimer des contraintes et des colonnes d'une table.

Syntaxe :

ALTER TABLE table_name
ADD column_name datatype;

Exemple :

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DÉPOSER

Cette commande est utilisée pour supprimer la base de données, les tables ou les colonnes.

La déclaration "DROP SCHEMA"

L'instruction DROP SCHEMA est utilisée pour supprimer le schéma complet.

Syntaxe :

DROP SCHEMA schema_name;

Exemple :

DROP SCHEMA teachers;

L'instruction "DROP TABLE"

L'instruction DROP TABLE est utilisée pour supprimer la table entière avec toutes ses valeurs.

Syntaxe :

DROP TABLE table_name;

Exemple :

DROP TABLE TeachersInfo;

TRUNCATE

L'instruction TRUNCATE est utilisée pour supprimer les données présentes dans une table, mais la table n'est pas supprimée.

Syntaxe :

TRUNCATE TABLE table_name;

Exemple :

TRUNCATE TABLE TeachersInfo;

RENOMMER

L'instruction RENAME est utilisée pour renommer une ou plusieurs tables ou colonnes.

Syntaxe :

ALTER TABLE table_name RENAME TO new_table_name;  --Rename Table name
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name; -- Rename Column name

Exemple :

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Maintenant, avant d'aller plus loin dans cet article sur le didacticiel PostgreSQL pour les débutants, laissez-moi vous indiquer les différents types de clés et de contraintes que vous devez mentionner lors de la manipulation des bases de données. Les clés et les contraintes vous aideront à mieux créer des tables, car vous pouvez relier chaque table à l'autre table.

Différents types de clés dans la base de données – Tutoriel PostgreSQL

Il existe principalement 5 types de Clés, qui peuvent être mentionnés dans la base de données.

  • Clé du candidat – Une clé candidate est une combinaison d'un ensemble minimal d'attributs qui peuvent identifier de manière unique un tuple. Toute relation peut avoir plus d'une seule clé candidate, la clé étant une clé simple ou composée.
  • Super Clé – Une super clé est l'ensemble d'attributs qui peuvent identifier de manière unique un tuple. Ainsi, une clé candidate est une super clé, mais l'inverse n'est pas vrai.
  • Clé primaire – Une clé primaire est un ensemble d'attributs qui peuvent être utilisés pour identifier de manière unique chaque tuple. Donc, s'il y a 3-4 clés candidates présentes dans une relation, alors parmi celles-ci, une peut être choisie comme clé primaire.
  • Clé alternative – Toutes les clés candidates autres que la clé primaire sont appelées clé alternative.
  • Clé étrangère – Un attribut qui ne peut prendre que les valeurs présentes comme valeurs d'un autre attribut, est la clé étrangère de l'attribut auquel il se réfère.

Contraintes utilisées dans la base de données – Tutoriel PostgreSQL

Les contraintes que vous pouvez utiliser dans les bases de données sont les suivantes :

  • PAS NULL – La contrainte NOT NULL garantit qu'une valeur NULL ne peut pas être stockée dans une colonne
  • UNIQUE – La contrainte UNIQUE garantit que toutes les valeurs d'une colonne sont différentes
  • VÉRIFIER -La contrainte CHECK garantit que toutes les valeurs d'une colonne satisfont à une condition spécifique.
  • PAR DÉFAUT -La contrainte DEFAULT consiste en un ensemble de valeurs par défaut pour une colonne lorsqu'aucune valeur n'est spécifiée.
  • INDEX – La contrainte INDEX est utilisée pour créer et récupérer des données de la base de données très rapidement

Maintenant que vous connaissez les commandes dans DDL et les différents types de clés et de contraintes, passons à la section suivante, c'est-à-dire les commandes de manipulation de données.

Commandes de manipulation de données (DML) – Tutoriel PostgreSQL

Cette section de l'article comprend les commandes grâce auxquelles vous pouvez manipuler votre base de données. Les commandes sont :

  • DÉFINIR SEARCH_PATH
  • INSÉRER
  • MISE À JOUR
  • SUPPRIMER
  • SÉLECTIONNER

Outre ces commandes, il existe également d'autres opérateurs/fonctions de manipulation tels que :

  • Opérateurs arithmétiques, binaires, composés et de comparaison
  • Opérateurs logiques
  • Fonctions d'agrégation
  • Opérateurs spéciaux
  • Définir les opérations
  • Limiter, Décaler et Récupérer

DÉFINIR SEARCH_PATH

Cette déclaration est utilisée pour mentionner quel schéma doit être utilisé pour effectuer toutes les opérations.

Syntaxe :

SET search_path TO schema_name;

Exemple :

SET search_path TO teachers;

INSÉRER

L'instruction INSERT est utilisée pour insérer de nouveaux enregistrements dans une table.

Syntaxe :

The INSERT INTO statement can be written in the following two ways:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

--You need not mention the column names

INSERT INTO table_name VALUES (value1, value2, value3, ...);

Exemple :


INSERT INTO TeachersInfo(TeacherID, TeacherName, Address, City, PostalCode, Country, Salary) VALUES ('01', 'Saurav','Gangnam Street', 'Seoul', '06499', 'South Korea', '42000'); 

INSERT INTO TeachersInfo VALUES ('02', 'Preeti','Queens Quay', 'Rio Claro', '13500', 'Brazil', '45900');

MISE À JOUR

The UPDATE statement is used to modify the existing records in a table.

Syntaxe :

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Exemple :

UPDATE TeachersInfo
SET TeacherName = 'Alfred', City= 'Frankfurt'
WHERE TeacherID = '01';

SUPPRIMER

L'instruction DELETE est utilisée pour supprimer des enregistrements existants dans une table.

Syntaxe :

DELETE FROM table_name WHERE condition;

Exemple :


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

SELECT

L'instruction SELECT est utilisée pour sélectionner des données dans une base de données et les données renvoyées sont stockées dans une table de résultats, appelée result-set .

Voici les deux manières d'utiliser cette instruction :

Syntaxe :

SELECT column1, column2, ...
FROM table_name;

--(*) is used to select all from the table

SELECT * FROM table_name;

Exemple :

SELECT Teachername, City FROM TeachersInfo; SELECT * FROM TeachersInfo;

Outre le mot-clé SELECT individuel, vous pouvez utiliser le mot-clé SELECT avec les déclarations suivantes :

  • DISTINCT
  • COMMANDER PAR
  • GROUPER PAR
  • Clause HAVING

L'instruction "SELECT DISTINCT"

L'instruction SELECT DISTINCT est utilisée pour renvoyer uniquement des valeurs distinctes ou différentes. Ainsi, si vous avez une table avec des valeurs en double, vous pouvez utiliser cette instruction pour répertorier des valeurs distinctes.

Syntaxe :

SELECT DISTINCT column1, column2, ...
FROM table_name;

Exemple :

SELECT Country FROM TeachersInfo;

L'instruction "ORDER BY"

L'instruction ORDER BY est utilisée pour trier les résultats souhaités dans l'ordre croissant ou décroissant. Par défaut, les résultats seraient triés par ordre croissant. Si vous souhaitez trier les enregistrements par ordre décroissant, vous devez utiliser le DESC mot-clé.

Syntaxe :

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ...ASC|DESC;

Exemple :

 SELECT * FROM TeachersInfo
ORDER BY Country; 

SELECT * FROM TeachersInfo
ORDER BY Country DESC;

SELECT * FROM TeachersInfo
ORDER BY Country, TeachersName;

SELECT * FROM TeachersInfo
ORDER BY Country ASC, TeachersName DESC;

La déclaration "GROUP BY"

Cette instruction est utilisée avec les fonctions d'agrégation pour regrouper le jeu de résultats par une ou plusieurs colonnes.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Exemple :

SELECT COUNT(TeacherID), Country
FROM TeachersInfo
GROUP BY Country
ORDER BY COUNT(TeacherID) DESC;

L'énoncé de la clause "HAVING"

Depuis le mot-clé ne peut pas être utilisé avec les fonctions d'agrégation, la clause HAVING a été introduite.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

Exemple :

SELECT COUNT(TeacherID), Country
FROM TeachersInfo
GROUP BY Country
HAVING COUNT(Salary) > 40000;

Opérateurs arithmétiques, binaires, composés et de comparaison – Tutoriel PostgreSQL

Les opérateurs arithmétiques, binaires, composés et de comparaison sont les suivants :

 

OPÉRATEURS LOGIQUES

Cet ensemble d'opérateurs se compose d'opérateurs logiques tels que ET/OU/NON.

ET OPÉRATEUR

Cet opérateur affiche les enregistrements qui satisfont à toutes les conditions séparées par ET.

Syntaxe :

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

Exemple :

SELECT * FROM TeachersInfo
WHERE Country='India' AND City='South Korea';

OU OPÉRATEUR

Cet opérateur affiche les enregistrements qui satisfont à l'une des conditions séparées par OR.

Syntaxe :

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

Exemple :

SELECT * FROM TeachersInfo
WHERE Country='India' OR City='South Korea';

PAS OPÉRATEUR

L'opérateur NON affiche un enregistrement lorsque la ou les conditions ne sont PAS VRAIES.

Syntaxe :

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

Exemple :

SELECT * FROM TeachersInfo
WHERE NOT Country='India';

--You can also combine all the above three operators and write a query like this:

SELECT * FROM TeachersInfo
WHERE NOT Country='India' AND (City='Bengaluru' OR City='Kolkata');

Fonctions d'agrégation – Tutoriel PostgreSQL

La section suivante de l'article comprendra des fonctions telles que :

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SOMME()

Fonction MIN()

La fonction MIN renvoie la plus petite valeur de la colonne sélectionnée dans un tableau.

Syntaxe :

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Exemple :


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Fonction MAX()

La fonction MAX renvoie la plus grande valeur de la colonne sélectionnée dans un tableau.

Syntaxe :

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Exemple :

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Fonction COUNT()

La fonction COUNT renvoie le nombre de lignes qui correspondent aux critères spécifiés.

Syntaxe :

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Exemple :

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Fonction AVG()

La fonction AVG renvoie la valeur moyenne d'une colonne numérique que vous choisissez.

Syntaxe :

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Exemple :

SELECT AVG(Salary)
FROM TeachersInfo;

Fonction SOMME()

La fonction SOMME renvoie la somme totale d'une colonne numérique que vous choisissez.

Syntaxe :

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Exemple :

SELECT SUM(Salary)
FROM TeachersInfo;

Opérateurs spéciaux – Tutoriel PostgreSQL

Cette section de l'article inclura les opérateurs suivants :

  • ENTRE
  • EST NULL
  • J'AIME
  • EN
  • EXISTE
  • TOUS
  • TOUT

Opérateur ENTRE

L'opérateur BETWEEN est un opérateur inclusif qui sélectionne des valeurs (nombres, textes ou dates) dans une plage donnée.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Exemple :

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Opérateur IS NULL

Étant donné qu'il n'est pas possible de tester les valeurs NULL avec les opérateurs de comparaison (=, <,>), nous pouvons utiliser les opérateurs IS NULL et IS NOT NULL à la place.

Syntaxe :

--Syntax for IS NULL

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

--Syntax for IS NOT NULL

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

Exemple :

SELECT TeacherName FROM TeachersInfo
WHERE Address IS NULL;
SELECT TeacherName FROM TeachersInfo
WHERE Address IS NOT NULL;

Opérateur LIKE

L'opérateur LIKE est utilisé dans une clause WHERE pour rechercher un modèle spécifié dans une colonne d'une table.

Les deux caractères génériques mentionnés ci-dessous sont utilisés conjointement avec l'opérateur LIKE :

  •  % :le signe de pourcentage représente zéro, un ou plusieurs caractères

  • _ – le trait de soulignement représente un seul caractère

Syntaxe :

SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;

Exemple :


SELECT * FROM TeachersInfo
WHERE TeacherName LIKE 'S%';

Opérateur IN

L'opérateur IN est un opérateur abrégé et est utilisé pour plusieurs conditions OU.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

Exemple :

SELECT * FROM TeachersInfo
WHERE Country IN ('South Korea', 'India', 'Brazil');

REMARQUE : Vous pouvez également utiliser IN lors de l'écriture de requêtes imbriquées.

Opérateur EXISTS

L'opérateur EXISTS est utilisé pour tester si un enregistrement existe ou non.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

Exemple :

SELECT TeacherName
FROM TeachersInfo
WHERE EXISTS (SELECT * FROM TeachersInfo WHERE TeacherID = 05 AND Salary &amp;amp;amp;amp;gt; 25000);

Opérateur ALL

L'opérateur ALL est utilisé avec une clause WHERE ou HAVING et renvoie true si toutes les valeurs de la sous-requête remplissent la condition.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
(SELECT column_name FROM table_name WHERE condition);

Exemple :

SELECT TeacherName
FROM TeachersInfo
WHERE TeacherID = ALL (SELECT TeacherID FROM TeachersInfo WHERE Salary &amp;amp;amp;amp;gt; 25000);

N'IMPORTE QUEL Opérateur

Similaire à l'opérateur ALL, l'opérateur ANY est également utilisé avec une clause WHERE ou HAVING et renvoie true si l'une des valeurs de la sous-requête satisfait à la condition.

Syntaxe :

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);

Exemple :

SELECT TeacherName
FROM TeachersInfo
WHERE TeacherID = ANY (SELECT TeacherID FROM TeachersInfo WHERE Salary BETWEEN 32000 AND 45000);

Définir les opérations – Tutoriel PostgreSQL

Il existe principalement trois opérations d'ensemble :UNION, INTERSECT, MINUS. Vous pouvez vous référer à l'image ci-dessous pour comprendre les opérations d'ensemble en SQL. Reportez-vous à l'image ci-dessous :

UNION

L'opérateur UNION est utilisé pour combiner le jeu de résultats de deux ou plusieurs instructions SELECT.

Syntaxe

SELECT  column_name(s) FROM table1
UNION
SELECT  column_name(s )FROM table2;

INTERSECT

La clause INTERSECT est utilisée pour combiner deux instructions SELECT et renvoyer l'intersection des ensembles de données des deux instructions SELECT.

Syntaxe

SELECT Column1 , Column2 ....
FROM  table_name;
WHERE condition

INTERSECT

SELECT Column1 , Column2 ....
FROM  table_name;
WHERE condition

SAUF

L'opérateur EXCEPT renvoie les tuples qui sont renvoyés par la première opération SELECT et qui ne sont pas renvoyés par la deuxième opération SELECT.

Syntaxe

SELECT  column_name
FROM  table_name;

EXCEPT

SELECT column_name
FROM table_name;

Limiter, décaler et récupérer – Tutoriel PostgreSQL

LIMITER

L'instruction LIMIT est utilisée pour récupérer une partie des lignes parmi les lignes complètes présentes dans le tableau.

Syntaxe :

SELECT column_name
FROM table_name LIMIT number;

Exemple :


SELECT * FROM TeachersInfo LIMIT 5;

COMPENSER

L'instruction OFFSET omet le nombre de lignes que vous mentionnez, puis récupère la partie restante des lignes.

Syntaxe :

SELECT nom_colonne

FROM nom_table OFFSET nombre LIMIT nombre ;

Exemple :


--Select 3 rows from TeachersInfo after the 5th row
SELECT * FROM TeachersInfo OFFSET 5 LIMIT 3;

--Select all rows from TeachersInfo
SELECT * FROM TeachersInfo OFFSET 2;

FETCH

Le mot-clé FETCH est utilisé pour extraire des enregistrements d'une table à l'aide d'un curseur. Ici les curseurs seront les suivants :

  • SUIVANT
  • AVANT
  • PREMIER
  • DERNIER
  • Nombre RELATIF
  • Compte ABSOLU
  • Compter
  • TOUS
  • EN ARRIÈRE
  • Comptage ARRIÈRE
  • TOUT RECULER
  • AVANCER
  • Compte AVANT
  • TOUT TRANSFÉRER

Syntax:

FETCH cursorname;

Example:


SELECT * FROM TeachersInfo OFFSET 5 FETCH FIRST 5 ROWS ONLY;

Nested Queries – PostgreSQL Tutorial

Requêtes imbriquées sont les requêtes qui ont une requête externe et une sous-requête interne. Donc, fondamentalement, la sous-requête est une requête imbriquée dans une autre requête telle que SELECT, INSERT, UPDATE ou DELETE. Reportez-vous à l'image ci-dessous :

So, when you execute this query, you will see the name of the teacher who is from Brazil.

Joins – PostgreSQL Tutorial

JOINS in PostgreSQL are used to combine rows from two or more tables, based on a related column between those tables. Voici les types de jointures :

  • JOINTURE INTERNE : The INNER JOIN returns those records which have matching values in both the tables.
  • JOINTURE GAUCHE : The LEFT JOIN returns records from the left table, and also those records which satisfy the condition from the right table.
  • RIGHT JOIN: The RIGHT JOIN returns records from the right table, and also those records which satisfy the condition from the left table.
  • JOINTURE COMPLÈTE : The FULL JOIN returns all those records which either have a match in the left or the right table.

Let’s consider the below table apart from the TeachersInfo table, to understand the syntax of joins.

SubjectID TeacherID SubjectName
1 10 Maths
2 11 Physics
3 12 Chemistry

INNER JOIN

Syntax:

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT Subjects.SubjectID, TeachersInfo.TeacherName
FROM Subjects
INNER JOIN TeachersInfo ON Subjects.TeacherID = TeachersInfo.TeacherID;

LEFT JOIN

Syntax:

SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT TeachersInfo.TeacherName, Subjects.SubjectID
FROM TeachersInfo
LEFT JOIN Subjects ON TeachersInfo.TeacherID = Subjects.TeacherID
ORDER BY TeachersInfo.TeacherName;

RIGHT JOIN

Syntaxe :
SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT Subjects.SubjectID
FROM Subjects
RIGHT JOIN TeachersInfo ON Subjects.SubjectID = TeachersInfo.TeacherID
ORDER BY Subjects.SubjectID;

FULL JOIN

Syntax:

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

Example:


SELECT TeachersInfo.TeacherName, Subjects.SubjectID
FROM TeachersInfo
FULL OUTER JOIN Subjects ON TeachersInfo.TeacherID = Subjects.SubjectID
ORDER BY TeachersInfo.TeacherName;

Now, next in this article, I will discuss Views, Stored Procedures, and Triggers.

Views – PostgreSQL Tutorial

A view is a single table, which is derived from other tables. So, a view contains rows and columns similar to a real table and has fields from one or more table.

The ‘CREATE VIEW’ statement

The CREATE VIEW statement is used to create a view from an existing table.

Syntax

CREATE VIEW view_name AS
SELECT column1, column2, ..., columnN
FROM table_name
WHERE condition;

Example


CREATE VIEW teachers_view AS
SELECT TeacherName, TeacherID
FROM TeachersInfo
WHERE City = 'Bengaluru';

The ‘DROP VIEW’ statement

The DROP VIEW statement is used to delete a view.

Syntax

DROP VIEW view_name;

Example


DROP VIEW teachers_view;

PostgreSQL Tutorial For Beginners: Stored Procedures

Stored Procedures are snippets of codes which can be saved and re-used.

Syntax

CREATE PROCEDURE procedure_name
LANGUAGE lang_name;

Example

--Create two tables

CREATE TABLE tbl1(tb1id int);
CREATE TABLE tbl2(tb2id int);

--Create Procedure
CREATE PROCEDURE insert_data (a1 integer, b1 integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl1 VALUES (a1);
INSERT INTO tbl2 VALUES (b1);
$$;

CALL insert_data(4, 5);

T riggers – PostgreSQL Tutorial

Triggers are a set of SQL statements which are stored in the database catalog. These statements are executed whenever an event associated with a table occurs. So, a trigger can be invoked either BEFORE or AFTER the data is changed by INSERT , UPDATE ou SUPPRIMER déclaration.

Syntax

CREATE TRIGGER trigger_name [BEFORE|AFTER|INSTEAD OF] event_name
ON table_name
[
--Mention Logic Here
];

Example


--CREATE TRIGGER
CREATE TRIGGER example_trigger AFTER INSERT ON TeachersInfo;

Data Control (DCL) Commands – PostgreSQL Tutorial

This section consists of those commands which are used to control privileges in the database. Les commandes sont :

  • GRANT
  • REVOKE

GRANT

The GRANT command is used to provide user access privileges or other privileges for the schema.

Syntax:

GRANT privileges ON object TO user;

Example:

GRANT INSERT ON TeachersInfo TO PUBLIC;

REVOKE

The REVOKE command is used to withdraw user’s access privileges given by using the GRANT command.

Syntax:

REVOKE privileges ON object FROM user;

Example:

REVOKE INSERT ON TeachersInfo FROM PUBLIC;

Now, let’s move on to the last section of this article i.e. the TCL Commands.

Transaction Control (TCL) Commands – PostgreSQL Tutorial

  • BEGIN
  • COMMIT
  • ROLLBACK
  • SAVEPOINT
    • RELEASE SAVEPOINT
  • SET TRANSACTION

BEGIN

The BEGIN TRANSACTION command is used to start the transaction.

Syntax:

BEGIN;

BEGIN TRANSACTION;

Example:


BEGIN;
DELETE * FROM TeachersInfo WHERE Salary = 65000;

COMMIT

The COMMIT command saves all the transactions to the database since the last COMMIT or ROLLBACK command.

Syntax:

COMMIT;

Example:

DELETE * FROM TeachersInfo WHERE Salary = 65000;
COMMIT;

ROLLBACK

The ROLLBACK command is used to undo transactions since the last COMMIT or ROLLBACK command was issued.

Syntaxe :
ROLLBACK;

Example:

DELETE * FROM TeachersInfo WHERE Salary = 65000;
ROLLBACK;

SAVEPOINT

The SAVEPOINT command defines a new savepoint within the current transaction.

Syntaxe :
SAVEPOINT savepoint_name; --Syntax for saving the SAVEPOINT
ROLLBACK TO savepoint_name --Syntax for rolling back to the SAVEPOINT
Exemple :
SAVEPOINT SP1;
DELETE FROM TeachersInfo WHERE Fees = 65000;
SAVEPOINT SP2;

RELEASE SAVEPOINT

The RELEASE SAVEPOINT command is used to remove a SAVEPOINT that you have created.

Syntaxe :
RELEASE SAVEPOINT savepoint_name;
Exemple :
RELEASE SAVEPOINT SP2;

SET TRANSACTION

The SET TRANSACTION command sets the characteristics of the current transaction.

Syntaxe :
SET TRANSACTION transaction_mode;

UUID Data Type – PostgreSQL Tutorial

UUID data type stores Universally Unique Identifiers (UUID) with a 128 byte length. It is written as a sequence of lower-case hexadecimal digits and is generated by an algorithm. This algorithm is designed to make sure that the same UUID is not generated by any other person in the universe.

Example:

--Generate a a unique UUID
SELECT uuid_generate_v4(); 

With this, we come to the end of this article on PostgreSQL Tutorial For Beginners. I hope you enjoyed reading this article on PostgreSQL Tutorial For Beginners. We have seen the different commands that will help you write queries and play around with your databases. If you wish to learn more about SQL and get to know this open source relational database, then check out our SQL Essentials Training. This training will help you understand SQL in depth and help you achieve mastery over the subject.

Got a question for us? Please mention it in the comments section of ”PostgreSQL Tutorial For Beginners ” and I will get back to you.