sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-zelfstudie voor beginners - Alles wat u moet weten over PostgreSQL

PostgreSQL is een open-source object-relationeel databasesysteem met meer dan 30 jaar actieve ontwikkeling in de industrie. In dit artikel over PostgreSQL-zelfstudie voor beginners, zal ik u kennis laten maken met de verschillende concepten van databases en de opdrachten die in PostgreSQL worden gebruikt.

De onderwerpen die in dit artikel worden behandeld, zijn hoofdzakelijk onderverdeeld in 4 categorieën:DDL, DML, DCL &TCL.

  • De DDL (Data Definition Language)-opdrachten worden gebruikt om de database te definiëren. Voorbeeld:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • De DML (Data Manipulation Language)-commando's hebben betrekking op de manipulatie van gegevens in de database. Voorbeeld:SELECT, INSERT, UPDATE, DELETE.
  • De DCL (Data Control Language)-commando's hebben betrekking op de machtigingen, rechten en andere controles van het databasesysteem. Voorbeeld:SUBSIDIE, INVOKE.
  • De TCL (Transaction Control Language)-opdrachten behandelen de transactie van de database. Voorbeeld:BEGIN, COMMIT, ROLLBACK.

Afgezien van de opdrachten, worden de volgende onderwerpen in dit artikel behandeld:

  • Wat is PostgreSQL?
  • Installeer PostgreSQL op Windows
  • Verschillende soorten sleutels in database
  • Beperkingen gebruikt in database
  • Operators
  • Totale functies
  • Bewerkingen instellen
  • Geneste zoekopdrachten
  • Doe mee
  • Beelden
  • Opgeslagen procedures
  • Triggers
  • UUID-gegevenstype

Wat is PostgreSQL? – PostgreSQL-zelfstudie

PostgreSQL is een object-relationeel databasesysteem dat de SQL-taal uitbreidt en gebruikt. Het stamt uit het jaar 1986 en is al meer dan 30 jaar actief in ontwikkeling.

De kenmerken van PostgreSQL zijn als volgt:

  1. Gegevenstypen: PostgreSQL ondersteunt verschillende soorten gegevenstypen, zoals primitief, gestructureerd, document, geometrie en aanpassingen. Dit helpt de gebruiker om gegevens in elk formaat op te slaan.
  2. Gegevensintegriteit: Met behulp van verschillende beperkingen en sleutels in de database zorgt PostgreSQL ervoor dat aan de gegevensintegriteit wordt voldaan voor eenvoudige tot complexe databases.
  3. Prestaties: PostgreSQL biedt functies zoals indexering, gelijktijdigheidscontrole van meerdere versies, JIT-complicatie van expressies om ervoor te zorgen dat de gelijktijdigheid en de prestaties op peil blijven.
  4. Betrouwbaarheid: Met behulp van Write Ahead Logging (WAL) en replicatie heeft PostgreSQL zich in de loop van de tijd bewezen als een van de meest betrouwbare databasesystemen.
  5. Beveiliging: PostgreSQL biedt krachtige mechanismen zoals authenticatie, een robuust toegangscontrolesysteem om ervoor te zorgen dat alleen geautoriseerde gebruikers toegang hebben tot de databases.
  6. Uitbreidbaarheid: PostgreSQL wordt geleverd met verschillende extensies om extra functionaliteiten te bieden. Het heeft ook zijn uitbreidbaarheidsfuncties geschaald met opgeslagen functies, proceduretaal en buitenlandse gegevenswrappers.

Nu u weet wat PostgreSQL is, laten we beginnen door PostgreSQL op Windows te installeren.

Installeer PostgreSQL op Windows – PostgreSQL-zelfstudie

Om PostgreSQL op Windows te installeren, moet u de onderstaande stappen volgen:

Stap 1: Ga naar de officiële website van PostgreSQL en kies vervolgens het besturingssysteem waarvoor u wilt downloaden. Hier zal ik Windows kiezen.

Stap 2: Zodra het besturingssysteem is gekozen, wordt u doorgestuurd naar een pagina waar u het installatieprogramma moet downloaden. Klik hiervoor op de optie:Download het installatieprogramma. Zie hieronder.

Stap 3: Vervolgens wordt u verder doorgestuurd naar een pagina waar u de installatieversie moet kiezen op basis van het besturingssysteem . Hier zal ik de 11.4-versie voor Windows 64 bit kiezen. Zie hieronder.

Eenmaal klik je op Download , zult u automatisch zien dat PostgreSQL wordt gedownload.

Stap 4: Nu, zodra het bestand is gedownload, dubbelklikt u op het bestand om het te openen en verschijnt er een wizard op uw scherm zoals hieronder. Klik op Volgende en ga verder.

Stap 4.1: Nu, geef de installatiemap op . Hier laat ik het zoals het is en klik ik opVolgende zoals hieronder.

Stap 4.2: Kies nu de componenten die u wilt installeren en klik vervolgens op Volgende . Hier selecteer ik alle componenten.

Stap 4.3: Selecteer vervolgens de map waarin u gegevens wilt opslaan . Hier ga ik het laten zoals het is. Klik vervolgens op Volgende.

Stap 4.4: In het volgende dialoogvenster dat verschijnt, moet u het wachtwoord voor de supergebruiker vermelden. Klik vervolgens op Volgende.

Stap 4.5: Vervolgens moet u het poortnummer selecteren op welke server moet luisteren. Hier laat ik het zoals het is en klik dan op Volgende.

Stap 4.6: selecteer ten slotte de landinstelling te gebruiken door het nieuwe databasecluster. Ik laat het zoals het is en klik dan op Volgende .

Stap 4.7: Klik ten slotte op Volgende in de wizards die komen om de installatie van PostgreSQL op uw computer te starten.

Zodra de installatie is voltooid, ziet u een dialoogvenster zoals hieronder op uw scherm. Klik op Voltooien.

Stap 5: Nu moet je de server verbinden met een database . Open hiervoor pgadmin, de officiële GUI van PostgreSQL . Zodra u pgadmin opent, ziet u een dialoogvenster waarin u om het wachtwoord wordt gevraagd. Vermeld dus het wachtwoord en klik op OK.

Nu u PostgreSQL moet hebben geïnstalleerd, gaan we aan de slag met de opdrachten die in PostgreSQL worden gebruikt.

In dit artikel over PostgreSQL Tutorial For Beginners ga ik de onderstaande database als voorbeeld beschouwen, om je te laten zien hoe je commando's schrijft.

Leraar-ID TeacherName Adres Stad Postcode Land Salaris
01 Saurav Gangnam-straat Seoel 06499 Zuid-Korea 42000
02 Preeti Queens Quay Rio Claro 560001 Brazilië 45900
03 Vinod Kings Road Londen SW6 Verenigd Koninkrijk 65000
04 Akanksha Mayo Road Kolkata 700069 India 23000
05 Amit MG Road Bengaluru 560001 India 30000

Laten we nu beginnen!

Data Definition (DDL)-opdrachten – PostgreSQL-zelfstudie

Dit gedeelte van het artikel bestaat uit die commando's, waarmee je je database kunt definiëren. De commando's zijn:

  • MAKEN
  • VERANDER
  • DROP
  • AFKNOP
  • HERNAME

MAKEN

Deze instructie wordt gebruikt om een ​​schema, tabellen of een index te maken.

De 'CREATE SCHEMA'-verklaring

De CREATE SCHEMA-instructie wordt gebruikt om een ​​database te maken of staat meestal bekend als een schema.

Syntaxis:

CREATE SCHEMA Schema_Name; 

Voorbeeld:

CREATE SCHEMA teachers;

De 'CREATE TABLE'-instructie

De instructie CREATE TABLE wordt gebruikt om een ​​nieuwe tabel in een database te maken.

Syntaxis:

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

Voorbeeld:


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

ALTER

Deze verklaring wordt gebruikt om beperkingen of kolommen toe te voegen, te wijzigen of te verwijderen.

De 'ALTER TABLE'-instructie

De ALTER TABLE-instructie wordt gebruikt om beperkingen en kolommen uit een tabel toe te voegen, te wijzigen of te verwijderen.

Syntaxis:

ALTER TABLE table_name
ADD column_name datatype;

Voorbeeld:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Dit commando wordt gebruikt om de database, tabellen of kolommen te verwijderen.

De 'DROP SCHEMA'-verklaring

De DROP SCHEMA-instructie wordt gebruikt om het volledige schema te verwijderen.

Syntaxis:

DROP SCHEMA schema_name;

Voorbeeld:

DROP SCHEMA teachers;

De 'DROP TABLE'-instructie

De DROP TABLE-instructie wordt gebruikt om de hele tabel met al zijn waarden te verwijderen.

Syntaxis:

DROP TABLE table_name;

Voorbeeld:

DROP TABLE TeachersInfo;

TRUNCATE

De TRUNCATE-instructie wordt gebruikt om de gegevens in een tabel te verwijderen, maar de tabel wordt niet verwijderd.

Syntaxis:

TRUNCATE TABLE table_name;

Voorbeeld:

TRUNCATE TABLE TeachersInfo;

NAAM hernoemen

De RENAME-instructie wordt gebruikt om een ​​of meer tabellen of kolommen te hernoemen.

Syntaxis:

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

Voorbeeld:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Voordat ik verder ga in dit artikel over PostgreSQL-zelfstudie voor beginners, wil ik u eerst de verschillende soorten sleutels en beperkingen vertellen die u moet noemen bij het manipuleren van de databases. De toetsen en beperkingen helpen je om tabellen op een veel betere manier te maken, omdat je elke tabel kunt relateren aan de andere tabel.

Verschillende soorten sleutels in database – PostgreSQL-zelfstudie

Er zijn hoofdzakelijk 5 soorten sleutels die in de database kunnen worden vermeld.

  • Kandidaatsleutel – Een kandidaatsleutel is een combinatie van een minimale set attributen die een tuple op unieke wijze kan identificeren. Elke relatie kan meer dan één kandidaatsleutel hebben, waarbij de sleutel een eenvoudige of een samengestelde sleutel is.
  • Supertoets – Een supersleutel is de set attributen die een tuple op unieke wijze kan identificeren. Een kandidaatsleutel is dus een supersleutel, maar omgekeerd is dat niet waar.
  • Primaire sleutel – Een primaire sleutel is een set attributen die kan worden gebruikt om elke tuple op unieke wijze te identificeren. Dus als er 3-4 kandidaatsleutels in een relatie aanwezig zijn, dan kan er één als primaire sleutel worden gekozen.
  • Alternatieve sleutel – Alle andere kandidaatsleutels dan de primaire sleutel worden een alternatieve sleutel genoemd.
  • Buitenlandse sleutel – Een attribuut dat alleen de aanwezige waarden kan aannemen als de waarden van een ander attribuut, is de refererende sleutel naar het attribuut waarnaar het verwijst.

Beperkingen gebruikt in database – PostgreSQL-zelfstudie

De beperkingen die u in databases kunt gebruiken zijn als volgt:

  • NIET NULL – De beperking NOT NULL zorgt ervoor dat een NULL-waarde niet in een kolom kan worden opgeslagen
  • UNIEK – De UNIQUE-beperking zorgt ervoor dat alle waarden in een kolom verschillend zijn
  • CHECK -De beperking CHECK zorgt ervoor dat alle waarden in een kolom aan een specifieke voorwaarde voldoen.
  • STANDAARD -De DEFAULT-beperking bestaat uit een set standaardwaarden voor een kolom wanneer er geen waarde is opgegeven.
  • INDEX – De INDEX-beperking wordt gebruikt om zeer snel gegevens uit de database te maken en op te halen

Nu u de commando's in DDL en de verschillende soorten toetsen en beperkingen kent, gaan we verder met de volgende sectie, d.w.z. Opdrachten voor gegevensmanipulatie.

Opdrachten voor gegevensmanipulatie (DML) – PostgreSQL-zelfstudie

Dit gedeelte van het artikel bestaat uit de commando's waarmee je je database kunt manipuleren. De commando's zijn:

  • SET SEARCH_PATH
  • INSERT
  • UPDATE
  • VERWIJDEREN
  • SELECTEER

Behalve deze commando's zijn er ook andere manipulatieve operatoren/functies zoals:

  • Rekenkundige, bitsgewijze, samengestelde en vergelijkingsoperatoren
  • Logische operatoren
  • Aggregatiefuncties
  • Speciale operators
  • Bewerkingen instellen
  • Limit, Offset en Fetch

SET SEARCH_PATH

Deze instructie wordt gebruikt om aan te geven welk schema moet worden gebruikt om alle bewerkingen uit te voeren.

Syntaxis:

SET search_path TO schema_name;

Voorbeeld:

SET search_path TO teachers;

INSERT

De INSERT-instructie wordt gebruikt om nieuwe records in een tabel in te voegen.

Syntaxis:

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

Voorbeeld:


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

UPDATE

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

Syntaxis:

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

Voorbeeld:

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

VERWIJDEREN

De DELETE-instructie wordt gebruikt om bestaande records in een tabel te verwijderen.

Syntaxis:

DELETE FROM table_name WHERE condition;

Voorbeeld:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

SELECTEER

De SELECT-instructie wordt gebruikt om gegevens uit een database te selecteren en de geretourneerde gegevens worden opgeslagen in een resultatentabel, de result-set genoemd. .

Dit zijn de volgende twee manieren om deze verklaring te gebruiken:

Syntaxis:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Voorbeeld:

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

Behalve het individuele SELECT-trefwoord, kunt u het SELECT-trefwoord gebruiken met de volgende statements:

  • VERSCHILLEND
  • BESTEL DOOR
  • GROEPEREN OP
  • clausule HEBBEN

De 'SELECT DISTINCT'-instructie

De SELECT DISTINCT-instructie wordt gebruikt om alleen verschillende of verschillende waarden te retourneren. Dus als je een tabel hebt met dubbele waarden, dan kun je deze instructie gebruiken om verschillende waarden weer te geven.

Syntaxis:

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

Voorbeeld:

SELECT Country FROM TeachersInfo;

De 'ORDER BY'-verklaring

Het ORDER BY-statement wordt gebruikt om de gewenste resultaten in oplopende of aflopende volgorde te sorteren. Standaard worden de resultaten in oplopende volgorde gesorteerd. Als u de records in aflopende volgorde wilt sorteren, moet u de DESC gebruiken zoekwoord.

Syntaxis:

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

Voorbeeld:

 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;

De 'GROUP BY'-instructie

Deze instructie wordt gebruikt met de aggregatiefuncties om de resultaatset te groeperen in een of meer kolommen.

Syntaxis:

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

Voorbeeld:

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

De 'HAVING'-clausuleverklaring

Sinds de WHERE trefwoord kan niet worden gebruikt met aggregatiefuncties, de HAVING-clausule is geïntroduceerd.

Syntaxis:

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

Voorbeeld:

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

Rekenkundige, bitsgewijze, samengestelde en vergelijkingsoperatoren – PostgreSQL-zelfstudie

De rekenkundige, bitsgewijze, samengestelde en vergelijkingsoperatoren zijn als volgt:

 

LOGISCHE OPERATORS

Deze reeks operatoren bestaat uit logische operatoren zoals AND/OR/NOT.

EN OPERATOR

Deze operator geeft de records weer die aan alle voorwaarden voldoen, gescheiden door AND.

Syntaxis:

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

Voorbeeld:

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

OF OPERATOR

Deze operator geeft de records weer die voldoen aan een van de voorwaarden, gescheiden door OR.

Syntaxis:

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

Voorbeeld:

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

NIET OPERATOR

De NOT-operator geeft een record weer wanneer de voorwaarde(n) NIET WAAR zijn.

Syntaxis:

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

Voorbeeld:

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

Aggregatiefuncties – PostgreSQL-zelfstudie

Het volgende gedeelte van het artikel bevat functies zoals:

  • MIN()
  • MAX()
  • AANTAL()
  • AVG()
  • SOM()

MIN() Functie

De MIN-functie retourneert de kleinste waarde van de geselecteerde kolom in een tabel.

Syntaxis:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Voorbeeld:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

MAX() Functie

De MAX-functie retourneert de grootste waarde van de geselecteerde kolom in een tabel.

Syntaxis:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Voorbeeld:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

COUNT() Functie

De COUNT-functie retourneert het aantal rijen dat overeenkomt met de opgegeven criteria.

Syntaxis:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Voorbeeld:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

AVG()-functie

De AVG-functie retourneert de gemiddelde waarde van een numerieke kolom die u kiest.

Syntaxis:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Voorbeeld:

SELECT AVG(Salary)
FROM TeachersInfo;

SUM() Functie

De functie SOM retourneert de totale som van een numerieke kolom die u kiest.

Syntaxis:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Voorbeeld:

SELECT SUM(Salary)
FROM TeachersInfo;

Speciale operators – PostgreSQL-zelfstudie

Dit gedeelte van het artikel bevat de volgende operatoren:

  • TUSSEN
  • IS NULL
  • LIKE
  • IN
  • BESTAAT
  • ALLE
  • ELKE

TUSSEN Operator

De BETWEEN-operator is een inclusieve operator die waarden (getallen, teksten of datums) selecteert binnen een bepaald bereik.

Syntaxis:

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

Voorbeeld:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

IS NULL-operator

Aangezien het niet mogelijk is om te testen op NULL-waarden met de vergelijkingsoperatoren(=, <,>), kunnen we in plaats daarvan IS NULL- en IS NOT NULL-operatoren gebruiken.

Syntaxis:

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

Voorbeeld:

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

LIKE-operator

De LIKE-operator wordt gebruikt in een WHERE-component om te zoeken naar een gespecificeerd patroon in een kolom van een tabel.

De onderstaande twee jokertekens worden gebruikt in combinatie met de LIKE-operator:

  • % – Het procentteken staat voor nul, één of meerdere tekens

  • _ – Het onderstrepingsteken vertegenwoordigt een enkel teken

Syntaxis:

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

Voorbeeld:


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

IN-operator

De IN-operator is een verkorte operator en wordt gebruikt voor meerdere OR-voorwaarden.

Syntaxis:

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

Voorbeeld:

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

OPMERKING: U kunt IN ook gebruiken tijdens het schrijven van geneste query's.

BESTAAT Operator

De EXISTS-operator wordt gebruikt om te testen of een record bestaat of niet.

Syntaxis:

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

Voorbeeld:

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

ALL-operator

De operator ALL wordt gebruikt met een WHERE- of HAVING-component en retourneert true als alle subquerywaarden aan de voorwaarde voldoen.

Syntaxis:

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

Voorbeeld:

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

ELKE exploitant

Vergelijkbaar met de ALL-operator, wordt de ANY-operator ook gebruikt met een WHERE- of HAVING-clausule en retourneert deze true als een van de subquerywaarden aan de voorwaarde voldoet.

Syntaxis:

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

Voorbeeld:

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

Bewerkingen instellen – PostgreSQL-zelfstudie

Er zijn hoofdzakelijk drie set-bewerkingen: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 uitspraak.

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 ” en ik zal contact met je opnemen.


  1. Back-ups maken van SQL-databases met de VDP Advanced SQL Agent

  2. Een aangepaste SQL Server Docker-afbeelding maken bovenop de officiële afbeelding

  3. Python en MySQL gebruiken in het ETL-proces:SQLAlchemy

  4. SQL Server 2012 opvragen van Access 2007-gegevens met behulp van OPENROWSET-fout