PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Tutorial für Anfänger – Alles, was Sie über PostgreSQL wissen müssen

PostgreSQL ist ein objektrelationales Open-Source-Datenbanksystem mit mehr als 30 Jahren aktiver Entwicklung in der Branche. In diesem Artikel zum PostgreSQL-Tutorial für Anfänger stelle ich Ihnen die verschiedenen Konzepte von Datenbanken und die in PostgreSQL verwendeten Befehle vor.

Die in diesem Artikel behandelten Themen sind hauptsächlich in 4 Kategorien unterteilt:DDL, DML, DCL und TCL.

  • Die DDL (Data Definition Language)-Befehle werden verwendet, um die Datenbank zu definieren. Beispiel:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • Die DML (Data Manipulation Language)-Befehle befassen sich mit der Manipulation von Daten, die in der Datenbank vorhanden sind. Beispiel:AUSWÄHLEN, EINFÜGEN, AKTUALISIEREN, LÖSCHEN.
  • Die DCL (Data Control Language)-Befehle befassen sich mit den Berechtigungen, Rechten und anderen Kontrollen des Datenbanksystems. Beispiel:GRANT, INVOKE.
  • Der TCL (Transaction Control Language) Befehle befassen sich mit der Transaktion der Datenbank. Beispiel:BEGIN, COMMIT, ROLLBACK.

Neben den Befehlen werden in diesem Artikel die folgenden Themen behandelt:

  • Was ist PostgreSQL?
  • Installieren Sie PostgreSQL unter Windows
  • Verschiedene Arten von Schlüsseln in der Datenbank
  • In der Datenbank verwendete Beschränkungen
  • Operatoren
  • Aggregatfunktionen
  • Operationen festlegen
  • Verschachtelte Abfragen
  • Beitreten
  • Aufrufe
  • Gespeicherte Prozeduren
  • Auslöser
  • UUID-Datentyp

Was ist PostgreSQL? – PostgreSQL-Tutorial

PostgreSQL ist ein objektrelationales Datenbanksystem, das die SQL-Sprache erweitert und verwendet. Es stammt aus dem Jahr 1986 und befindet sich seit mehr als 30 Jahren in aktiver Entwicklung.

Die Merkmale von PostgreSQL sind wie folgt:

  1. Datentypen: PostgreSQL unterstützt verschiedene Arten von Datentypen wie primitive, strukturierte, Dokument-, Geometrie- und Anpassungsdaten. Dies hilft dem Benutzer, Daten in beliebigen Formaten zu speichern.
  2. Datenintegrität: Mit Hilfe verschiedener Einschränkungen und Schlüssel in der Datenbank stellt PostgreSQL sicher, dass die Datenintegrität für einfache bis komplexe Datenbanken erfüllt ist.
  3. Leistung: PostgreSQL bietet Funktionen wie Indizierung, Parallelitätssteuerung für mehrere Versionen, JIT-Komplikation von Ausdrücken, um sicherzustellen, dass Parallelität und Leistung auf dem neuesten Stand sind.
  4. Zuverlässigkeit: Mit Hilfe von Write Ahead Logging (WAL) und Replikation hat sich PostgreSQL über einen längeren Zeitraum als eines der zuverlässigsten Datenbanksysteme erwiesen.
  5. Sicherheit: PostgreSQL bietet leistungsstarke Mechanismen wie Authentifizierung, ein robustes Zugriffskontrollsystem, um sicherzustellen, dass nur autorisierte Benutzer Zugriff auf die Datenbanken haben.
  6. Erweiterbarkeit: PostgreSQL wird mit verschiedenen Erweiterungen geliefert, um zusätzliche Funktionalitäten bereitzustellen. Es hat auch seine Erweiterbarkeitsfunktionen mit gespeicherten Funktionen, prozeduraler Sprache und fremden Datenwrappern skaliert.

Da Sie nun wissen, was PostgreSQL ist, beginnen wir mit der Installation von PostgreSQL unter Windows.

PostgreSQL unter Windows installieren – PostgreSQL-Anleitung

Um PostgreSQL unter Windows zu installieren, müssen Sie die folgenden Schritte ausführen:

Schritt 1: Rufen Sie dieoffizielle Website von PostgreSQL auf und wählen Sie dann das Betriebssystem aus, für das Sie herunterladen möchten. Hier wähle ich Windows.

Schritt 2: Sobald das Betriebssystem ausgewählt ist, werden Sie auf eine Seite weitergeleitet, auf der Sie das Installationsprogramm herunterladen müssen. Klicken Sie dazu auf die Option:Download the installer. Siehe unten.

Schritt 3: Dann werden Sie weiter zu einer Seite weitergeleitet, auf der Sie die Installer-Version basierend auf dem Betriebssystem auswählen müssen . Hier wähle ich die Version 11.4 für Windows 64 Bit. Siehe unten.

Einmal klicken Sie auf Download , sehen Sie automatisch, dass PostgreSQL heruntergeladen wird.

Schritt 4: Sobald die Datei heruntergeladen ist, doppelklicken Sie auf die Datei, um sie zu öffnen, und ein Assistent wird auf Ihrem Bildschirm wie unten angezeigt. Klicken Sie auf Weiter und fahren Sie fort.

Schritt 4.1: Geben Sie nun das Installationsverzeichnis an . Hier belasse ich es so wie es ist und klicke auf Weiter wie unten.

Schritt 4.2: Wählen Sie nun die Komponenten aus, die Sie installieren möchten und klicken Sie dann auf Weiter . Hier wähle ich alle Komponenten aus.

Schritt 4.3: Als nächstes wählen Sie das Verzeichnis aus, in dem Sie Daten speichern möchten . Hier lasse ich es so wie es ist. Klicken Sie dann auf Weiter.

Schritt 4.4: Im nächsten Dialogfenster, das erscheint, müssen Sie das Passwort für den Superuser angeben. Klicken Sie dann auf Weiter.

Schritt 4.5: Als nächstes müssen Sie die Portnummer auswählen auf welchem ​​Server lauschen soll. Hier lasse ich es so wie es ist und klicke dann auf Weiter.

Schritt 4.6: Wählen Sie schließlich das Gebietsschema aus vom neuen Datenbank-Cluster verwendet werden soll. Ich lasse es so wie es ist und klicke dann auf Weiter .

Schritt 4.7: Klicken Sie abschließend auf Weiter in den Assistenten, die kommen, um mit der Installation von PostgreSQL auf Ihrem Computer zu beginnen.

Sobald die Installation abgeschlossen ist, sehen Sie ein Dialogfeld wie unten auf Ihrem Bildschirm. Klicken Sie auf Fertig stellen.

Schritt 5: Jetzt müssen Sie den Server mit einer Datenbank verbinden . Öffnen Sie dazu pgadmin, die offizielle GUI von PostgreSQL . Sobald Sie pgadmin öffnen, sehen Sie ein Dialogfeld, das Sie nach dem Passwort fragt. Nennen Sie also das Passwort und klicken Sie auf OK.

Nun, da Sie PostgreSQL installiert haben müssen, lassen Sie uns mit den in PostgreSQL verwendeten Befehlen beginnen.

In diesem Artikel zum PostgreSQL-Tutorial für Anfänger werde ich die folgende Datenbank als Beispiel betrachten, um Ihnen zu zeigen, wie Sie Befehle schreiben.

Lehrer-ID Lehrername Adresse Stadt Postleitzahl Land Gehalt
01 Saurav Gangnam Street Seoul 06499 Südkorea 42000
02 Preeti Queens Quay Rio Claro 560001 Brasilien 45900
03 Wein Königsstraße London SW6 Vereinigtes Königreich 65000
04 Akanksha Mayo-Straße Kolkata 700069 Indien 23000
05 Zugegeben MG Straße Bengaluru 560001 Indien 30000

Also, fangen wir jetzt an!

Datendefinitionsbefehle (DDL) – PostgreSQL-Tutorial

Dieser Abschnitt des Artikels besteht aus den Befehlen, mit denen Sie Ihre Datenbank definieren können. Die Befehle sind:

  • ERSTELLEN
  • ÄNDERN
  • LÖSCHEN
  • KÜRZEN
  • UMBENENNEN

ERSTELLEN

Diese Anweisung wird verwendet, um entweder ein Schema, Tabellen oder einen Index zu erstellen.

Die „CREATE SCHEMA“-Anweisung

Die CREATE SCHEMA-Anweisung wird verwendet, um eine Datenbank zu erstellen, oder am häufigsten als Schema bekannt.

Syntax:

CREATE SCHEMA Schema_Name; 

Beispiel:

CREATE SCHEMA teachers;

Die 'CREATE TABLE'-Anweisung

Die CREATE TABLE-Anweisung wird verwendet, um eine neue Tabelle in einer Datenbank zu erstellen.

Syntax:

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

Beispiel:


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

ÄNDERN

Diese Anweisung wird verwendet, um Einschränkungen oder Spalten hinzuzufügen, zu ändern oder zu löschen.

Die „ALTER TABLE“-Anweisung

Die ALTER TABLE-Anweisung wird verwendet, um Einschränkungen und Spalten einer Tabelle hinzuzufügen, zu ändern oder zu löschen.

Syntax:

ALTER TABLE table_name
ADD column_name datatype;

Beispiel:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Dieser Befehl wird verwendet, um die Datenbank, Tabellen oder Spalten zu löschen.

Die „DROP SCHEMA“-Anweisung

Die DROP SCHEMA-Anweisung wird verwendet, um das vollständige Schema zu löschen.

Syntax:

DROP SCHEMA schema_name;

Beispiel:

DROP SCHEMA teachers;

Die 'DROP TABLE'-Anweisung

Die DROP TABLE-Anweisung wird verwendet, um die gesamte Tabelle mit all ihren Werten zu löschen.

Syntax:

DROP TABLE table_name;

Beispiel:

DROP TABLE TeachersInfo;

TRUNCATE

Die TRUNCATE-Anweisung wird verwendet, um die Daten zu löschen, die in einer Tabelle vorhanden sind, aber die Tabelle wird nicht gelöscht.

Syntax:

TRUNCATE TABLE table_name;

Beispiel:

TRUNCATE TABLE TeachersInfo;

UMBENENNEN

Die RENAME-Anweisung wird verwendet, um eine oder mehrere Tabellen oder Spalten umzubenennen.

Syntax:

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

Beispiel:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Nun, bevor ich in diesem Artikel zum PostgreSQL-Tutorial für Anfänger fortfahre, lassen Sie mich Ihnen die verschiedenen Arten von Schlüsseln und Beschränkungen erläutern, die Sie beim Bearbeiten der Datenbanken erwähnen müssen. Die Schlüssel und Einschränkungen helfen Ihnen dabei, Tabellen viel besser zu erstellen, da Sie jede Tabelle mit der anderen Tabelle in Beziehung setzen können.

Verschiedene Arten von Schlüsseln in der Datenbank – PostgreSQL-Tutorial

Es gibt hauptsächlich 5 Arten von Schlüsseln, die in der Datenbank erwähnt werden können.

  • Kandidatenschlüssel – Ein Kandidatenschlüssel ist eine Kombination aus einem minimalen Satz von Attributen, die ein Tupel eindeutig identifizieren können. Jede Relation kann mehr als einen Kandidatenschlüssel haben, wobei der Schlüssel ein einfacher oder ein zusammengesetzter Schlüssel sein kann.
  • Superschlüssel – Ein Superschlüssel ist der Satz von Attributen, die ein Tupel eindeutig identifizieren können. Ein Kandidatenschlüssel ist also ein Superschlüssel, aber umgekehrt ist es nicht wahr.
  • Primärschlüssel – Ein Primärschlüssel ist ein Satz von Attributen, die verwendet werden können, um jedes Tupel eindeutig zu identifizieren. Wenn also in einer Beziehung 3-4 Schlüsselkandidaten vorhanden sind, kann einer von diesen als Primärschlüssel ausgewählt werden.
  • Alternativschlüssel – Alle Kandidatenschlüssel außer dem Primärschlüssel werden als Alternativschlüssel. bezeichnet
  • Fremdschlüssel – Ein Attribut, das nur die vorhandenen Werte als Werte eines anderen Attributs annehmen kann, ist der Fremdschlüssel des Attributs, auf das es sich bezieht.

In der Datenbank verwendete Einschränkungen – PostgreSQL-Tutorial

Die Beschränkungen, die Sie in Datenbanken verwenden können, sind wie folgt:

  • NICHT NULL – Die Einschränkung NOT NULL sorgt dafür, dass in einer Spalte kein NULL-Wert gespeichert werden kann
  • EINZIGARTIG – Die UNIQUE-Einschränkung stellt sicher, dass alle Werte in einer Spalte unterschiedlich sind
  • ÜBERPRÜFEN -Die CHECK-Einschränkung stellt sicher, dass alle Werte in einer Spalte eine bestimmte Bedingung erfüllen.
  • STANDARD -Die DEFAULT-Einschränkung besteht aus einer Reihe von Standardwerten für eine Spalte, wenn kein Wert angegeben ist.
  • INDEX – Die INDEX-Einschränkung wird verwendet, um sehr schnell Daten aus der Datenbank zu erstellen und abzurufen

Da Sie nun die Befehle in DDL und die verschiedenen Arten von Schlüsseln und Beschränkungen kennen, fahren wir mit dem nächsten Abschnitt fort, d. h. Datenmanipulationsbefehlen.

Befehle zur Datenmanipulation (DML) – PostgreSQL-Tutorial

Dieser Abschnitt des Artikels besteht aus den Befehlen, mit denen Sie Ihre Datenbank manipulieren können. Die Befehle sind:

  • SET SEARCH_PATH
  • EINFÜGEN
  • AKTUALISIEREN
  • LÖSCHEN
  • AUSWÄHLEN

Neben diesen Befehlen gibt es auch andere manipulative Operatoren/Funktionen wie:

  • Arithmetische, bitweise, zusammengesetzte und Vergleichsoperatoren
  • Logische Operatoren
  • Aggregatfunktionen
  • Spezielle Operatoren
  • Operationen festlegen
  • Begrenzen, Versetzen und Abrufen

SET SEARCH_PATH

Diese Anweisung wird verwendet, um anzugeben, welches Schema verwendet werden muss, um alle Operationen auszuführen.

Syntax:

SET search_path TO schema_name;

Beispiel:

SET search_path TO teachers;

EINFÜGEN

Die INSERT-Anweisung wird verwendet, um neue Datensätze in eine Tabelle einzufügen.

Syntax:

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, ...);

Beispiel:


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');

AKTUALISIEREN

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

Syntax:

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

Beispiel:

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

LÖSCHEN

Die DELETE-Anweisung wird verwendet, um vorhandene Datensätze in einer Tabelle zu löschen.

Syntax:

DELETE FROM table_name WHERE condition;

Beispiel:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

AUSWÄHLEN

Die SELECT-Anweisung wird verwendet, um Daten aus einer Datenbank auszuwählen, und die zurückgegebenen Daten werden in einer Ergebnistabelle gespeichert, die als Ergebnismenge bezeichnet wird .

Im Folgenden finden Sie zwei Möglichkeiten, diese Anweisung zu verwenden:

Syntax:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Beispiel:

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

Neben dem einzelnen SELECT-Schlüsselwort können Sie das SELECT-Schlüsselwort mit folgenden Anweisungen verwenden:

  • DISTINKT
  • BESTELLEN VON
  • GRUPPE NACH
  • HAVING-Klausel

Die „SELECT DISTINCT“-Anweisung

Die Anweisung SELECT DISTINCT wird verwendet, um nur eindeutige oder unterschiedliche Werte zurückzugeben. Wenn Sie also eine Tabelle mit doppelten Werten haben, können Sie diese Anweisung verwenden, um unterschiedliche Werte aufzulisten.

Syntax:

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

Beispiel:

SELECT Country FROM TeachersInfo;

Die „ORDER BY“-Anweisung

Die Anweisung ORDER BY wird verwendet, um die gewünschten Ergebnisse in aufsteigender oder absteigender Reihenfolge zu sortieren. Standardmäßig werden die Ergebnisse in aufsteigender Reihenfolge sortiert. Wenn Sie die Datensätze in absteigender Reihenfolge sortieren möchten, müssen Sie die DESC verwenden Schlüsselwort.

Syntax:

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

Beispiel:

 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;

Die „GROUP BY“-Anweisung

Diese Anweisung wird mit den Aggregatfunktionen verwendet, um die Ergebnismenge nach einer oder mehreren Spalten zu gruppieren.

Syntax:

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

Beispiel:

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

Die Klausel-Anweisung „HAVING“

Seit dem WHERE Schlüsselwort kann nicht mit Aggregatfunktionen verwendet werden, die HAVING-Klausel wurde eingeführt.

Syntax:

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

Beispiel:

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

Arithmetische, bitweise, zusammengesetzte und Vergleichsoperatoren – PostgreSQL-Tutorial

Die arithmetischen, bitweisen, zusammengesetzten und Vergleichsoperatoren lauten wie folgt:

 

LOGISCHE OPERATOREN

Diese Gruppe von Operatoren besteht aus logischen Operatoren wie AND/OR/NOT.

UND OPERATOR

Dieser Operator zeigt die Datensätze an, die alle Bedingungen erfüllen, getrennt durch UND.

Syntax:

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

Beispiel:

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

ODER OPERATOR

Dieser Operator zeigt die Datensätze an, die eine der durch ODER getrennten Bedingungen erfüllen.

Syntax:

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

Beispiel:

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

KEIN OPERATOR

Der NOT-Operator zeigt einen Datensatz an, wenn die Bedingung(en) NICHT WAHR ist.

Syntax:

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

Beispiel:

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');

Aggregatfunktionen – PostgreSQL-Tutorial

Der folgende Abschnitt des Artikels enthält Funktionen wie:

  • MIN()
  • MAX()
  • COUNT()
  • Durchschn.()
  • SUMME()

MIN()-Funktion

Die MIN-Funktion gibt den kleinsten Wert der ausgewählten Spalte in einer Tabelle zurück.

Syntax:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Beispiel:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

MAX()-Funktion

Die MAX-Funktion gibt den größten Wert der ausgewählten Spalte in einer Tabelle zurück.

Syntax:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Beispiel:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

COUNT()-Funktion

Die COUNT-Funktion gibt die Anzahl der Zeilen zurück, die den angegebenen Kriterien entsprechen.

Syntax:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Beispiel:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

AVG()-Funktion

Die AVG-Funktion gibt den Durchschnittswert einer von Ihnen ausgewählten numerischen Spalte zurück.

Syntax:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Beispiel:

SELECT AVG(Salary)
FROM TeachersInfo;

SUM()-Funktion

Die SUM-Funktion gibt die Gesamtsumme einer von Ihnen ausgewählten numerischen Spalte zurück.

Syntax:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Beispiel:

SELECT SUM(Salary)
FROM TeachersInfo;

Spezielle Operatoren – PostgreSQL-Tutorial

Dieser Abschnitt des Artikels enthält die folgenden Operatoren:

  • ZWISCHEN
  • IST NULL
  • Gefällt mir
  • EIN
  • EXISTIERT
  • ALLE
  • JEDES

BETWEEN-Operator

Der BETWEEN-Operator ist ein inklusiver Operator, der Werte (Zahlen, Texte oder Daten) innerhalb eines bestimmten Bereichs auswählt.

Syntax:

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

Beispiel:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

IST-NULL-Operator

Da es nicht möglich ist, mit den Vergleichsoperatoren (=, <,>) auf NULL-Werte zu testen, können wir stattdessen die Operatoren IS NULL und IS NOT NULL verwenden.

Syntax:

--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;

Beispiel:

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

LIKE-Operator

Der LIKE-Operator wird in einer WHERE-Klausel verwendet, um nach einem bestimmten Muster in einer Spalte einer Tabelle zu suchen.

Die unten genannten sind die beiden Platzhalter, die in Verbindung mit dem LIKE-Operator verwendet werden:

  • % – Das Prozentzeichen steht für null, ein oder mehrere Zeichen

  • _ – Der Unterstrich steht für ein einzelnes Zeichen

Syntax:

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

Beispiel:


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

IN-Operator

Der IN-Operator ist ein Kurzschreiboperator und wird für mehrere ODER-Bedingungen verwendet.

Syntax:

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

Beispiel:

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

HINWEIS: Sie können IN auch beim Schreiben von verschachtelten Abfragen verwenden.

EXISTS-Operator

Der EXISTS-Operator wird verwendet, um zu testen, ob ein Datensatz existiert oder nicht.

Syntax:

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

Beispiel:

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

ALL-Operator

Der ALL-Operator wird mit einer WHERE- oder HAVING-Klausel verwendet und gibt wahr zurück, wenn alle Unterabfragewerte die Bedingung erfüllen.

Syntax:

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

Beispiel:

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

JEDER Operator

Ähnlich wie der ALL-Operator wird auch der ANY-Operator mit einer WHERE- oder HAVING-Klausel verwendet und gibt wahr zurück, wenn einer der Unterabfragewerte die Bedingung erfüllt.

Syntax:

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

Beispiel:

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

Set Operations – PostgreSQL Tutorial

There are mainly three set operations:UNION, INTERSECT, MINUS. You can refer to the image below to understand the set operations in SQL. Refer to the below image:

UNION

The UNION operator is used to combine the result-set of two or more SELECT statements.

Syntax

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

INTERSECT

The INTERSECT clause is used to combine two SELECT statements and return the intersection of the data-sets of both the SELECT statements.

Syntax

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

INTERSECT

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

EXCEPT

The EXCEPT operator returns those tuples that are returned by the first SELECT operation, and are not returned by the second SELECT operation.

Syntax

SELECT  column_name
FROM  table_name;

EXCEPT

SELECT column_name
FROM table_name;

Limit, Offset and Fetch – PostgreSQL Tutorial

LIMIT

The LIMIT statement is used to retrieve a portion of the rows out of the complete rows present in the table.

Syntax:

SELECT column_name
FROM table_name LIMIT number;

Example:


SELECT * FROM TeachersInfo LIMIT 5;

OFFSET

The OFFSET statement omits the number of rows you mention and then retrieves the rest portion of the rows.

Syntax:

SELECT column_name

FROM table_name OFFSET number LIMIT number;

Example:


--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

The FETCH keyword is used to fetch records from a table using a cursor. Here the cursors will be the following:

  • NEXT
  • PRIOR
  • FIRST
  • LAST
  • RELATIVE Count
  • ABSOLUTE Count
  • Count
  • ALL
  • BACKWARD
  • BACKWARD Count
  • BACKWARD ALL
  • FORWARD
  • FORWARD Count
  • FORWARD ALL

Syntax:

FETCH cursorname;

Example:


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

Nested Queries – PostgreSQL Tutorial

Nested queries are those queries which have an outer query and inner subquery. So, basically, the subquery is a query which is nested within another query such as SELECT, INSERT, UPDATE or DELETE. Refer to the image below:

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. The following are the types of joins:

  • INNER JOIN: The INNER JOIN returns those records which have matching values in both the tables.
  • LEFT JOIN: 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.
  • FULL JOIN: 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

Syntax:
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 or DELETE Erklärung.

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. The commands are:

  • 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.

Syntax:
ROLLBACK;

Example:

DELETE * FROM TeachersInfo WHERE Salary = 65000;
ROLLBACK;

SAVEPOINT

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

Syntax:
SAVEPOINT savepoint_name; --Syntax for saving the SAVEPOINT
ROLLBACK TO savepoint_name --Syntax for rolling back to the SAVEPOINT
Example:
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.

Syntax:
RELEASE SAVEPOINT savepoint_name;
Example:
RELEASE SAVEPOINT SP2;

SET TRANSACTION

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

Syntax:
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 ” und ich melde mich bei Ihnen.