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

Tutorial PostgreSQL per principianti:tutto ciò che devi sapere su PostgreSQL

PostgreSQL è un sistema di database relazionale a oggetti open source con oltre 30 anni di sviluppo attivo nel settore. In questo articolo su PostgreSQL Tutorial per principianti, ti introdurrò ai diversi concetti dei database e ai comandi utilizzati in PostgreSQL.

Gli argomenti trattati in questo articolo sono principalmente divisi in 4 categorie:DDL, DML, DCL e TCL.

  • Il DDL I comandi (Data Definition Language) vengono utilizzati per definire il database. Esempio:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • Il DML I comandi (Data Manipulation Language) si occupano della manipolazione dei dati presenti nel database. Esempio:SELEZIONA, INSERIRE, AGGIORNA, ELIMINA.
  • La DCL I comandi (Data Control Language) riguardano i permessi, i diritti e altri controlli del sistema di database. Esempio:GRANT, INVOKE.
  • Il TCL I comandi (Transaction Control Language) si occupano della transazione del database. Esempio:BEGIN, COMMIT, ROLLBACK.

Oltre ai comandi, in questo articolo verranno trattati i seguenti argomenti:

  • Cos'è PostgreSQL?
  • Installa PostgreSQL su Windows
  • Diversi tipi di chiavi nel database
  • Vincoli utilizzati nel database
  • Operatori
  • Funzioni aggregate
  • Operazioni di impostazione
  • Query nidificate
  • Unisciti
  • Viste
  • Procedure archiviate
  • Trigger
  • Tipo di dati UUID

Cos'è PostgreSQL? – Esercitazione su PostgreSQL

PostgreSQL è un sistema di database relazionale a oggetti che estende e utilizza il linguaggio SQL. Nasce nell'anno 1986 ed è in sviluppo attivo da oltre 30 anni.

Le caratteristiche di PostgreSQL sono le seguenti:

  1. Tipi di dati: PostgreSQL supporta vari tipi di tipi di dati come primitivi, strutturati, documenti, geometrie e personalizzazioni. Questo aiuta l'utente a memorizzare i dati in qualsiasi formato.
  2. Integrità dei dati: Con l'aiuto di vari vincoli e chiavi nel database, PostgreSQL si assicura che l'integrità dei dati sia soddisfatta per database semplici o complessi.
  3. Prestazioni: PostgreSQL fornisce funzionalità come l'indicizzazione, il controllo della concorrenza multi-versione, la complicazione JIT delle espressioni per assicurarsi che la concorrenza e le prestazioni siano mantenute all'altezza.
  4. Affidabilità: Con l'aiuto di Write Ahead Logging (WAL) e Replica, PostgreSQL ha dimostrato di essere uno dei sistemi di database più affidabili per un periodo di tempo.
  5. Sicurezza: PostgreSQL fornisce potenti meccanismi come l'autenticazione, un solido sistema di controllo degli accessi per garantire che solo gli utenti autorizzati abbiano accesso ai database.
  6. Estensibilità: PostgreSQL viene fornito con varie estensioni per fornire funzionalità aggiuntive. Ha anche ridimensionato le sue funzionalità di estensibilità con funzioni archiviate, linguaggio procedurale e wrapper di dati esterni.

Ora che sai cos'è PostgreSQL, iniziamo installando PostgreSQL su Windows.

Installa PostgreSQL su Windows – Tutorial PostgreSQL

Per installare PostgreSQL su Windows, devi seguire i passaggi seguenti:

Passaggio 1: Vai al sito ufficiale di PostgreSQL e quindi scegli il sistema operativo per il quale desideri scaricare. Qui sceglierò Windows.

Passaggio 2: Una volta scelto il sistema operativo, verrai reindirizzato a una pagina, dove devi scaricare il programma di installazione. Per farlo, fai clic sull'opzione:Scarica il programma di installazione. Fare riferimento di seguito.

Passaggio 3: Quindi, verrai ulteriormente reindirizzato a una pagina, in cui devi scegliere la versione del programma di installazione in base al sistema operativo . Qui, sceglierò la versione 11.4 per Windows 64 bit. Fare riferimento di seguito.

Una volta, hai premi su Download , vedrai automaticamente che PostgreSQL viene scaricato.

Passaggio 4: Ora, una volta scaricato il file, fai doppio clic sul file per aprirlo e sullo schermo apparirà una procedura guidata come di seguito. Fare clic su Avanti e procedi oltre.

Passaggio 4.1: Ora, specifica la directory di installazione . Qui lo lascerò così com'è e cliccherò su Avanti come di seguito.

Passaggio 4.2: Ora scegli i componenti che desideri installare e quindi fare clic su Avanti . Qui sto selezionando tutti i componenti.

Passaggio 4.3: Successivamente, seleziona la directory in cui desideri archiviare i dati . Qui lo lascio così com'è. Quindi, fai clic su Avanti.

Passaggio 4.4: Nella finestra di dialogo successiva, che viene visualizzata, devi menzionare la password per il super utente. Quindi, fai clic su Avanti.

Passaggio 4.5: Successivamente, devi selezionare il numero di porta su quale server dovrebbe essere in ascolto. Qui, lascerò che sia così com'è e quindi fare clic su Avanti.

Passaggio 4.6: Infine, seleziona la lingua essere utilizzato dal nuovo cluster di database. Lascerò che sia così com'è e quindi fare clic su Avanti .

Passaggio 4.7: Infine, fai clic su Avanti nelle procedure guidate che iniziano l'installazione di PostgreSQL sul tuo computer.

Una volta completata l'installazione, vedrai una finestra di dialogo come quella di seguito sullo schermo. Fai clic su Fine.

Passaggio 5: Ora devi connettere il server a un database . Per farlo, apri pgadmin che è la GUI ufficiale di PostgreSQL . Una volta aperto pgadmin, vedrai una finestra di dialogo, che ti chiede la password. Quindi, menziona la password e fai clic su OK.

Ora, che devi aver installato PostgreSQL, iniziamo con i comandi usati in PostgreSQL.

In questo articolo su PostgreSQL Tutorial per principianti, considererò il database seguente come esempio, per mostrarti come scrivere comandi.

ID insegnante Nome dell'insegnante Indirizzo Città Codice postale Paese Stipendio
01 Saurav Via Gangnam Seoul 06499 Corea del Sud 42000
02 Preeti Queens Quay Rio Claro 560001 Brasile 45900
03 Vino Kings Road Londra SW6 Regno Unito 65000
04 Akanksha Mayo Road Calcutta 700069 India 23000
05 Amit MG Road Bengaluru 560001 India 30000

Allora, iniziamo ora!

Comandi di definizione dei dati (DDL) – Esercitazione su PostgreSQL

Questa sezione dell'articolo è composta da quei comandi, che puoi definire il tuo database. I comandi sono:

  • CREA
  • ALTER
  • CADUTA
  • TRONCA
  • RINOMINA

CREA

Questa istruzione viene utilizzata per creare uno schema, tabelle o un indice.

La dichiarazione "CREA SCHEMA"

L'istruzione CREATE SCHEMA viene utilizzata per creare un database o più comunemente noto come schema.

Sintassi:

CREATE SCHEMA Schema_Name; 

Esempio:

CREATE SCHEMA teachers;

La dichiarazione "CREATE TABLE"

L'istruzione CREATE TABLE viene utilizzata per creare una nuova tabella in un database.

Sintassi:

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

Esempio:


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

ALTER

Questa istruzione viene utilizzata per aggiungere, modificare o eliminare vincoli o colonne.

La dichiarazione "ALTER TABLE"

L'istruzione ALTER TABLE viene utilizzata per aggiungere, modificare o eliminare vincoli e colonne da una tabella.

Sintassi:

ALTER TABLE table_name
ADD column_name datatype;

Esempio:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Questo comando viene utilizzato per eliminare il database, le tabelle o le colonne.

La dichiarazione "DROP SCHEMA"

L'istruzione DROP SCHEMA viene utilizzata per eliminare lo schema completo.

Sintassi:

DROP SCHEMA schema_name;

Esempio:

DROP SCHEMA teachers;

La dichiarazione "DROP TABLE"

L'istruzione DROP TABLE viene utilizzata per eliminare l'intera tabella con tutti i suoi valori.

Sintassi:

DROP TABLE table_name;

Esempio:

DROP TABLE TeachersInfo;

TRUNCATE

L'istruzione TRUNCATE viene utilizzata per eliminare i dati presenti all'interno di una tabella, ma la tabella non viene eliminata.

Sintassi:

TRUNCATE TABLE table_name;

Esempio:

TRUNCATE TABLE TeachersInfo;

RINOMINA

L'istruzione RENAME viene utilizzata per rinominare una o più tabelle o colonne.

Sintassi:

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

Esempio:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Ora, prima di andare oltre in questo articolo su PostgreSQL Tutorial per principianti, lascia che ti dica i vari tipi di chiavi e vincoli che devi menzionare durante la manipolazione dei database. Le chiavi e i vincoli ti aiuteranno a creare tabelle in un modo molto migliore, poiché puoi mettere in relazione ogni tabella con l'altra tabella.

Diversi tipi di chiavi nel database – Esercitazione su PostgreSQL

Ci sono principalmente 5 tipi di chiavi che possono essere menzionate nel database.

  • Chiave candidato – Una chiave candidata è una combinazione di un insieme minimo di attributi che possono identificare in modo univoco una tupla. Qualsiasi relazione può avere più di una singola Chiave Candidata, essendo la chiave una chiave semplice o composita.
  • Super tasto – Una Super Key è l'insieme di attributi che possono identificare in modo univoco una tupla. Quindi, una Candidate Key è una Super Key, ma viceversa non è vero.
  • Chiave primaria – Una chiave primaria è un insieme di attributi che possono essere utilizzati per identificare in modo univoco ogni tupla. Quindi, se ci sono 3-4 chiavi candidate presenti in una relazione, fuori quelle, una può essere scelta come Chiave Primaria.
  • Chiave alternativa – Tutte le chiavi candidate diverse dalla chiave primaria vengono chiamate come chiave alternativa.
  • Chiave straniera – Un attributo che può assumere solo i valori presenti come valori di qualche altro attributo, è la chiave esterna dell'attributo a cui si riferisce.

Vincoli utilizzati nel database – Esercitazione su PostgreSQL

I vincoli che puoi utilizzare nei database sono i seguenti:

  • NON NULL – Il vincolo NOT NULL garantisce che un valore NULL non possa essere memorizzato in una colonna
  • UNICO – Il vincolo UNIQUE assicura che tutti i valori in una colonna siano diversi
  • CONTROLLA -Il vincolo CHECK garantisce che tutti i valori in una colonna soddisfino una condizione specifica.
  • DEFAULT -Il vincolo DEFAULT consiste in un insieme di valori predefiniti per una colonna quando non viene specificato alcun valore.
  • INDICE – Il vincolo INDEX viene utilizzato per creare e recuperare i dati dal database molto rapidamente

Ora che conosci i comandi in DDL e i vari tipi di chiavi e vincoli, passiamo alla sezione successiva, ovvero Comandi di manipolazione dei dati.

Comandi di manipolazione dei dati (DML) – Esercitazione su PostgreSQL

Questa sezione dell'articolo è composta dai comandi con cui puoi manipolare il tuo database. I comandi sono:

  • IMPOSTA PERCORSO_RICERCA
  • INSERIRE
  • AGGIORNAMENTO
  • ELIMINA
  • SELEZIONA

Oltre a questi comandi, ci sono anche altri operatori/funzioni manipolative come:

  • Operatori aritmetici, bit per bit, composti e di confronto
  • Operatori logici
  • Funzioni di aggregazione
  • Operatori speciali
  • Imposta operazioni
  • Limite, offset e recupero

SET SEARCH_PATH

Questa istruzione viene utilizzata per menzionare quale schema deve essere utilizzato per eseguire tutte le operazioni.

Sintassi:

SET search_path TO schema_name;

Esempio:

SET search_path TO teachers;

INSERTI

L'istruzione INSERT viene utilizzata per inserire nuovi record in una tabella.

Sintassi:

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

Esempio:


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

AGGIORNAMENTO

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

Sintassi:

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

Esempio:

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

CANCELLA

L'istruzione DELETE viene utilizzata per eliminare i record esistenti in una tabella.

Sintassi:

DELETE FROM table_name WHERE condition;

Esempio:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

SELEZIONARE

L'istruzione SELECT viene utilizzata per selezionare i dati da un database e i dati restituiti vengono archiviati in una tabella dei risultati, chiamata result-set .

I seguenti sono i due modi di utilizzare questa affermazione:

Sintassi:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Esempio:

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

Oltre alla singola parola chiave SELECT, puoi utilizzare la parola chiave SELECT con le seguenti affermazioni:

  • DISTINTA
  • ORDINA PER
  • GRUPPO PER
  • Clausola HAVING

La dichiarazione "SELECT DISTINCT"

L'istruzione SELECT DISTINCT viene utilizzata per restituire solo valori distinti o diversi. Quindi, se hai una tabella con valori duplicati, puoi usare questa istruzione per elencare valori distinti.

Sintassi:

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

Esempio:

SELECT Country FROM TeachersInfo;

La dichiarazione "ORDINA PER"

L'istruzione ORDER BY viene utilizzata per ordinare i risultati desiderati in ordine crescente o decrescente. Per impostazione predefinita, i risultati vengono ordinati in ordine crescente. Se desideri ordinare i record in ordine decrescente, devi utilizzare il DESC parola chiave.

Sintassi:

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

Esempio:

 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 dichiarazione "GRUPPO PER"

Questa istruzione viene utilizzata con le funzioni di aggregazione per raggruppare il set di risultati in base a una o più colonne.

Sintassi:

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

Esempio:

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

La dichiarazione sulla clausola "HAVING"

Dal momento che DOVE parola chiave non utilizzabile con funzioni aggregate, è stata introdotta la clausola HAVING.

Sintassi:

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

Esempio:

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

Operatori aritmetici, bit per bit, composti e di confronto – Esercitazione su PostgreSQL

Gli operatori aritmetici, bit per bit, composti e di confronto sono i seguenti:

 

OPERATORI LOGICI

Questo insieme di operatori è costituito da operatori logici come AND/OR/NOT.

E OPERATORE

Questo operatore visualizza i record, che soddisfano tutte le condizioni separate da AND.

Sintassi:

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

Esempio:

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

O OPERATORE

Questo operatore visualizza i record che soddisfano una qualsiasi delle condizioni separate da OR.

Sintassi:

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

Esempio:

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

NON OPERATORE

L'operatore NOT visualizza un record quando la condizione (s) NON è VERO.

Sintassi:

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

Esempio:

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

Funzioni aggregate – Esercitazione su PostgreSQL

La seguente sezione dell'articolo includerà funzioni come:

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SOMMA()

Funzione MIN()

La funzione MIN restituisce il valore più piccolo della colonna selezionata in una tabella.

Sintassi:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Esempio:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Funzione MAX()

La funzione MAX restituisce il valore più grande della colonna selezionata in una tabella.

Sintassi:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Esempio:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Funzione COUNT()

La funzione COUNT restituisce il numero di righe che corrispondono ai criteri specificati.

Sintassi:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Esempio:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Funzione AVG()

La funzione AVG restituisce il valore medio di una colonna numerica scelta.

Sintassi:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Esempio:

SELECT AVG(Salary)
FROM TeachersInfo;

Funzione SOMMA()

La funzione SOMMA restituisce la somma totale di una colonna numerica scelta.

Sintassi:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Esempio:

SELECT SUM(Salary)
FROM TeachersInfo;

Operatori speciali – Esercitazione su PostgreSQL

Questa sezione dell'articolo includerà i seguenti operatori:

  • TRA
  • È NULLO
  • MI PIACE
  • IN
  • ESISTE
  • TUTTI
  • QUALSIASI

TRA Operatore

L'operatore BETWEEN è un operatore inclusivo che seleziona valori (numeri, testi o date) all'interno di un determinato intervallo.

Sintassi:

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

Esempio:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Operatore IS NULL

Poiché non è possibile verificare i valori NULL con gli operatori di confronto (=, <,>), possiamo invece utilizzare gli operatori IS NULL e IS NOT NULL.

Sintassi:

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

Esempio:

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

LIKE Operatore

L'operatore LIKE viene utilizzato in una clausola WHERE per cercare un modello specificato in una colonna di una tabella.

I seguenti sono i due caratteri jolly utilizzati insieme all'operatore LIKE:

  • % – Il segno di percentuale rappresenta zero, uno o più caratteri

  • _ – Il trattino basso rappresenta un singolo carattere

Sintassi:

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

Esempio:


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

Operatore IN

L'operatore IN è un operatore abbreviato e viene utilizzato per più condizioni OR.

Sintassi:

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

Esempio:

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

NOTA: Puoi anche usare IN mentre scrivi Query nidificate.

Operatore EXISTS

L'operatore EXISTS viene utilizzato per verificare se un record esiste o meno.

Sintassi:

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

Esempio:

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

TUTTI gli operatori

L'operatore ALL viene utilizzato con una clausola WHERE o HAVING e restituisce true se tutti i valori della sottoquery soddisfano la condizione.

Sintassi:

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

Esempio:

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

QUALSIASI operatore

Simile all'operatore ALL, anche l'operatore ANY viene utilizzato con una clausola WHERE o HAVING e restituisce true se uno qualsiasi dei valori della sottoquery soddisfa la condizione.

Sintassi:

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

Esempio:

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

Operazioni sugli insiemi – Esercitazione su PostgreSQL

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

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 ” e ti ricontatterò.