sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL Tutorial for begyndere – Alt du behøver at vide om PostgreSQL

PostgreSQL er et open source objektrelationelt databasesystem med mere end 30 års aktiv udvikling i branchen. I denne artikel om PostgreSQL-tutorial for begyndere vil jeg introducere dig til de forskellige begreber i databaser og de kommandoer, der bruges i PostgreSQL.

Emnerne i denne artikel er hovedsageligt opdelt i 4 kategorier:DDL, DML, DCL og TCL.

  • DDL (Data Definition Language) kommandoer bruges til at definere databasen. Eksempel:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • DML (Data Manipulation Language) kommandoer omhandler manipulation af data, der findes i databasen. Eksempel:SELECT, INSERT, UPDATE, DELETE.
  • DCL (Data Control Language) kommandoer omhandler tilladelser, rettigheder og andre kontroller af databasesystemet. Eksempel:GRANT, INVOKE.
  • TCL (Transaction Control Language) kommandoer omhandler transaktionen af ​​databasen. Eksempel:BEGIN, COMMIT, ROLLBACK.

Udover kommandoerne vil følgende emner blive dækket i denne artikel:

  • Hvad er PostgreSQL?
  • Installer PostgreSQL på Windows
  • Forskellige typer nøgler i databasen
  • Begrænsninger brugt i databasen
  • Operatører
  • Aggregerede funktioner
  • Indstil handlinger
  • Indlejrede forespørgsler
  • Deltager
  • Visninger
  • Lagrede procedurer
  • Udløsere
  • UUID-datatype

Hvad er PostgreSQL? – PostgreSQL-vejledning

PostgreSQL er et objektrelationelt databasesystem, som udvider og bruger SQL-sproget. Det stammer fra år 1986 og har været under aktiv udvikling i mere end 30 år.

Funktioner i PostgreSQL er som følger:

  1. Datatyper: PostgreSQL understøtter forskellige typer datatyper såsom primitive, strukturerede, dokumenter, geometri og tilpasninger. Dette hjælper brugeren med at gemme data i ethvert format.
  2. Dataintegritet: Ved hjælp af forskellige begrænsninger og nøgler i databasen sørger PostgreSQL for, at dataintegriteten er opfyldt for simple til komplekse databaser.
  3. Ydeevne: PostgreSQL tilbyder funktioner såsom indeksering, samtidighedskontrol i flere versioner, JIT-komplikation af udtryk for at sikre, at samtidigheden og ydeevnen holdes op til markeringen.
  4. Plidelighed: Ved hjælp af Write Ahead Logging (WAL) og replikering har PostgreSQL vist sig at være et af de mest pålidelige databasesystemer over en periode.
  5. Sikkerhed: PostgreSQL leverer kraftfulde mekanismer såsom godkendelse, et robust adgangskontrolsystem for at sikre, at kun autoriserede brugere har adgang til databaserne.
  6. Udvidelsesmuligheder: PostgreSQL kommer med forskellige udvidelser for at give yderligere funktionaliteter. Den har også skaleret sine udvidelsesmuligheder med lagrede funktioner, proceduresprog og udenlandske dataindpakninger.

Nu, hvor du ved, hvad PostgreSQL er, så lad os komme i gang med at installere PostgreSQL på Windows.

Installer PostgreSQL på Windows – PostgreSQL Tutorial

For at installere PostgreSQL på Windows, skal du følge nedenstående trin:

Trin 1: Gå til denofficielle hjemmeside for PostgreSQL og vælg derefter det operativsystem, du ønsker at downloade til. Her vil jeg vælge Windows.

Trin 2: Når operativsystemet er valgt, bliver du omdirigeret til en side, hvor du skal downloade installationsprogrammet. For at gøre det skal du klikke på muligheden:Download installationsprogrammet. Se nedenfor.

Trin 3: Derefter vil du blive viderestillet til en side, hvor du skal vælge installationsversionen baseret på operativsystemet . Her vil jeg vælge 11.4 version til Windows 64 bit. Se nedenfor.

En gang klikker du på Download , vil du automatisk se, at PostgreSQL bliver downloadet.

Trin 4: Nu, når filen er downloadet, skal du dobbeltklikke på filen for at åbne den, og en guide vises på din skærm som nedenfor. Klik på Næste og fortsæt videre.

Trin 4.1: Angiv nu installationsmappen . Her vil jeg lade det være, som det er, og klikke påNæste som nedenfor.

Trin 4.2: Vælg nu de komponenter, du ønsker at installere og klik derefter på Næste . Her vælger jeg alle komponenterne.

Trin 4.3: Dernæst vælg den mappe, hvor du vil gemme data . Her vil jeg lade det være som det er. Klik derefter på Næste.

Trin 4.4: I den næste dialogboks, som kommer, skal du nævne adgangskoden til superbrugeren. Klik derefter på Næste.

Trin 4.5: Dernæst skal du vælge portnummeret på hvilken server der skal lytte. Her vil jeg lade det være, som det er, og derefter klikke på Næste.

Trin 4.6: Til sidst skal du vælge landestandarden skal bruges af den nye databaseklynge. Jeg vil lade det være, som det er og derefter klikke på Næste .

Trin 4.7: Klik til sidst på Næste i de guider, der kommer til at begynde installationen af ​​PostgreSQL på din computer.

Når installationen er færdig, vil du se en dialogboks som nedenfor på din skærm. Klik på Udfør.

Trin 5: Nu skal du tilslutte serveren til en database . For at gøre det skal du åbne pgadmin, som er den officielle GUI for PostgreSQL . Når du åbner pgadmin, vil du se en dialogboks, som beder dig om adgangskoden. Så nævn adgangskoden, og klik på OK.

Nu, hvor du skal have installeret PostgreSQL, så lad os komme i gang med kommandoer brugt i PostgreSQL.

I denne artikel om PostgreSQL-tutorial for begyndere vil jeg overveje nedenstående database som et eksempel for at vise dig, hvordan du skriver kommandoer.

Lærer-id Lærernavn Adresse By Postnummer Land Løn
01 Saurav Gangnam Street Seoul 06499 Sydkorea 42000
02 Preeti Queens Quay Rio Claro 560001 Brasilien 45900
03 Vinod Kingsvej London SW6 Storbritannien 65000
04 Akanksha Mayo Road Kolkata 700069 Indien 23000
05 Amit MG Road Bengaluru 560001 Indien 30000

Så lad os komme i gang nu!

Data Definition (DDL) kommandoer – PostgreSQL-vejledning

Dette afsnit af artiklen består af de kommandoer, som du kan definere din database. Kommandoerne er:

  • OPRET
  • ÆNDRING
  • SLIP
  • TRUNCATE
  • OMDÆND

OPRET

Denne erklæring bruges til enten at oprette et skema, tabeller eller et indeks.

'CREATE SCHEMA'-erklæringen

CREATE SCHEMA-sætningen bruges til at oprette en database eller mest kendt som et skema.

Syntaks:

CREATE SCHEMA Schema_Name; 

Eksempel:

CREATE SCHEMA teachers;

'CREATE TABLE'-erklæringen

CREATE TABLE-sætningen bruges til at oprette en ny tabel i en database.

Syntaks:

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

Eksempel:


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

ALTER

Denne erklæring bruges til at tilføje, ændre eller slette begrænsninger eller kolonner.

'ÆNDRINGSTABEL'-erklæringen

ALTER TABLE-sætningen bruges til enten at tilføje, ændre eller slette begrænsninger og kolonner fra en tabel.

Syntaks:

ALTER TABLE table_name
ADD column_name datatype;

Eksempel:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Denne kommando bruges til at slette databasen, tabellerne eller kolonnerne.

'DROP SCHEMA'-erklæringen

DROP SCHEMA-sætningen bruges til at slette hele skemaet.

Syntaks:

DROP SCHEMA schema_name;

Eksempel:

DROP SCHEMA teachers;

'DROP TABLE'-erklæringen

DROP TABLE-sætningen bruges til at slette hele tabellen med alle dens værdier.

Syntaks:

DROP TABLE table_name;

Eksempel:

DROP TABLE TeachersInfo;

TRUNCATE

TRUNCATE-sætningen bruges til at slette de data, der er til stede i en tabel, men tabellen bliver ikke slettet.

Syntaks:

TRUNCATE TABLE table_name;

Eksempel:

TRUNCATE TABLE TeachersInfo;

RENAME

RENAME-sætningen bruges til at omdøbe en eller flere tabeller eller kolonner.

Syntaks:

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

Eksempel:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Nu, før jeg går videre i denne artikel om PostgreSQL Tutorial for begyndere, lad mig fortælle dig de forskellige typer nøgler og begrænsninger, som du skal nævne, mens du manipulerer databaserne. Nøglerne og begrænsningerne vil hjælpe dig med at oprette tabeller på en meget bedre måde, da du kan relatere hver tabel med den anden tabel.

Forskellige typer nøgler i databasen – PostgreSQL-vejledning

Der er hovedsageligt 5 typer nøgler, der kan nævnes i databasen.

  • Kandidatnøgle – En kandidatnøgle er en kombination af et minimalt sæt attributter, som unikt kan identificere en tupel. Enhver relation kan have mere end en enkelt kandidatnøgle, hvor nøglen er en simpel eller en sammensat nøgle.
  • Supernøgle – En supernøgle er det sæt af attributter, der unikt kan identificere en tupel. Så en kandidatnøgle er en supernøgle, men omvendt er det ikke sandt.
  • Primær nøgle – En primærnøgle er et sæt attributter, der kan bruges til unikt at identificere hver tupel. Så hvis der er 3-4 kandidatnøgler til stede i et forhold, så kan en af ​​dem vælges som en primærnøgle.
  • Alternativ nøgle – Alle kandidatnøglerne bortset fra den primære nøgle kaldes som en alternativ nøgle.
  • Udenlandsk nøgle – En attribut, der kun kan tage de tilstedeværende værdier som værdierne af en anden attribut, er fremmednøglen til den attribut, som den refererer til.

Begrænsninger brugt i databasen – PostgreSQL-vejledning

De begrænsninger, som du kan bruge i databaser, er som følger:

  • IKKE NULL – NOT NULL-begrænsningen sikrer, at en NULL-værdi ikke kan gemmes i en kolonne
  • UNIKK – Den UNIKKE begrænsning sikrer, at alle værdierne i en kolonne er forskellige
  • TJEK - CHECK-begrænsningen sikrer, at alle værdierne i en kolonne opfylder en bestemt betingelse.
  • STANDARD -DEFAULT-begrænsningen består af et sæt standardværdier for en kolonne, når der ikke er angivet nogen værdi.
  • INDEKS – INDEX-begrænsningen bruges til at oprette og hente data fra databasen meget hurtigt

Nu, hvor du kender kommandoerne i DDL og de forskellige typer nøgler og begrænsninger, lad os gå videre til næste afsnit, dvs. datamanipulationskommandoer.

Data Manipulation (DML) kommandoer – PostgreSQL-vejledning

Dette afsnit af artiklen består af de kommandoer, som du kan manipulere din database med. Kommandoerne er:

  • INDSTIL SEARCH_PATH
  • INDSÆT
  • OPDATERING
  • SLET
  • VÆLG

Ud over disse kommandoer er der også andre manipulerende operatorer/funktioner såsom:

  • Aritmetiske, bitvise, sammensatte og sammenligningsoperatorer
  • Logiske operatører
  • Aggregerede funktioner
  • Særlige operatører
  • Indstil handlinger
  • Begræns, forskyd og hent

INDSTIL SEARCH_PATH

Denne erklæring bruges til at nævne, hvilket skema der skal bruges til at udføre alle operationerne.

Syntaks:

SET search_path TO schema_name;

Eksempel:

SET search_path TO teachers;

INDSÆT

INSERT-sætningen bruges til at indsætte nye poster i en tabel.

Syntaks:

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

Eksempel:


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

OPDATERING

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

Syntaks:

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

Eksempel:

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

SLET

DELETE-sætningen bruges til at slette eksisterende poster i en tabel.

Syntaks:

DELETE FROM table_name WHERE condition;

Eksempel:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

VÆLG

SELECT-sætningen bruges til at vælge data fra en database, og de returnerede data gemmes i en resultattabel, kaldet resultatsættet .

Følgende er de to måder at bruge denne erklæring på:

Syntaks:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Eksempel:

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

Ud over det individuelle SELECT søgeord kan du bruge SELECT søgeordet med følgende udsagn:

  • DISTINK
  • BEstil efter
  • GRUPPER EFTER
  • HAR Klausul

'SELECT DISTINCT'-erklæringen

SELECT DISTINCT-sætningen bruges kun til at returnere distinkte eller forskellige værdier. Så hvis du har en tabel med duplikerede værdier, kan du bruge denne erklæring til at angive forskellige værdier.

Syntaks:

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

Eksempel:

SELECT Country FROM TeachersInfo;

'ORDER BY'-erklæringen

ORDER BY-sætningen bruges til at sortere de ønskede resultater i stigende eller faldende rækkefølge. Som standard vil resultaterne blive sorteret i stigende rækkefølge. Hvis du vil sortere posterne i faldende rækkefølge, skal du bruge DESC søgeord.

Syntaks:

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

Eksempel:

 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;

'GROUP BY'-erklæringen

Denne erklæring bruges sammen med de samlede funktioner til at gruppere resultatsættet efter en eller flere kolonner.

Syntaks:

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

Eksempel:

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

Erklæringen om "HAVING"

Siden Hvor nøgleordet kan ikke bruges med aggregerede funktioner, HAVING-sætningen blev introduceret.

Syntaks:

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

Eksempel:

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

Aritmetiske, bitvise, sammensatte og sammenligningsoperatorer – PostgreSQL-vejledning

De aritmetiske, bitvise, sammensatte og sammenligningsoperatorer er som følger:

 

LOGISKE OPERATØRER

Dette sæt af operatorer består af logiske operatorer såsom AND/OR/NOT.

OG OPERATØR

Denne operator viser posterne, som opfylder alle betingelser adskilt af OG.

Syntaks:

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

Eksempel:

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

ELLER OPERATØR

Denne operator viser de poster, der opfylder nogen af ​​betingelserne adskilt af ELLER.

Syntaks:

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

Eksempel:

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

IKKE OPERATØR

NOT-operatoren viser en post, når betingelsen(erne) IKKE er SAND.

Syntaks:

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

Eksempel:

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

Aggregerede funktioner – PostgreSQL-vejledning

Det følgende afsnit af artiklen vil indeholde funktioner som:

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SUM()

MIN() Funktion

MIN-funktionen returnerer den mindste værdi af den valgte kolonne i en tabel.

Syntaks:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Eksempel:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

MAX()-funktion

MAX-funktionen returnerer den største værdi af den valgte kolonne i en tabel.

Syntaks:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Eksempel:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

COUNT() funktion

TÆL-funktionen returnerer antallet af rækker, der matcher de angivne kriterier.

Syntaks:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Eksempel:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

AVG()-funktion

AVG-funktionen returnerer gennemsnitsværdien af ​​en numerisk kolonne, som du vælger.

Syntaks:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Eksempel:

SELECT AVG(Salary)
FROM TeachersInfo;

SUM()-funktion

SUM-funktionen returnerer den samlede sum af en numerisk kolonne, som du vælger.

Syntaks:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Eksempel:

SELECT SUM(Salary)
FROM TeachersInfo;

Særlige operatører – PostgreSQL-vejledning

Dette afsnit af artiklen vil indeholde følgende operatorer:

  • MELLEM
  • ER NULL
  • LIKE
  • IN
  • FINDER
  • ALLE
  • ENHVER

MELLEM operatør

BETWEEN-operatoren er en inkluderende operator, som vælger værdier (tal, tekst eller datoer) inden for et givet interval.

Syntaks:

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

Eksempel:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

ER NULL-operatør

Da det ikke er muligt at teste for NULL-værdier med sammenligningsoperatorerne(=, <,>), kan vi bruge IS NULL og IS NOT NULL-operatorerne i stedet.

Syntaks:

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

Eksempel:

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

LIKE-operatør

LIKE-operatoren bruges i en WHERE-sætning til at søge efter et specificeret mønster i en kolonne i en tabel.

De nævnte nedenfor er de to jokertegn, der bruges i forbindelse med LIKE-operatoren:

  • % – Procenttegnet repræsenterer nul, ét eller flere tegn

  • _ – Understregningen repræsenterer et enkelt tegn

Syntaks:

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

Eksempel:


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

IN-operatør

IN-operatoren er en stenografioperator og bruges til flere OR-betingelser.

Syntaks:

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

Eksempel:

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

BEMÆRK: Du kan også bruge IN, mens du skriver indlejrede forespørgsler.

FINDER operatør

Operatoren EXISTS bruges til at teste, om der findes en post eller ej.

Syntaks:

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

Eksempel:

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

ALLE operatør

ALL-operatoren bruges med en WHERE- eller HAVING-sætning og returnerer sand, hvis alle underforespørgselsværdierne opfylder betingelsen.

Syntaks:

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

Eksempel:

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

ENHVER operatør

I lighed med ALL-operatoren bruges ANY-operatoren også med en WHERE- eller HAVING-sætning og returnerer sand, hvis nogen af ​​underforespørgselsværdierne opfylder betingelsen.

Syntaks:

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

Eksempel:

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

Indstil handlinger – PostgreSQL-vejledning

Der er hovedsageligt tre sæt operationer: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 udmelding.

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 ” og jeg vender tilbage til dig.


  1. Sådan starter parallelle planer - del 4

  2. Opsætning og konfiguration af SQL Server-replikering

  3. Slut dig til mig på PAUG Database Designer Conference

  4. Hvad betyder det, når MySQL er i tilstanden Sender data?