sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL výukový program pro začátečníky – vše, co potřebujete vědět o PostgreSQL

PostgreSQL je open source objektově relační databázový systém s více než 30 lety aktivního vývoje v oboru. V tomto článku o PostgreSQL Tutorial For Beginners vám představím různé koncepty databází a příkazy používané v PostgreSQL.

Témata obsažená v tomto článku jsou rozdělena hlavně do 4 kategorií:DDL, DML, DCL &TCL.

  • DDL K definici databáze se používají příkazy (Data Definition Language). Příklad:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • DML Příkazy (Data Manipulation Language) se zabývají manipulací s daty přítomnými v databázi. Příklad:SELECT, INSERT, UPDATE, DELETE.
  • DCL Příkazy (Data Control Language) se zabývají oprávněními, právy a dalšími ovládacími prvky databázového systému. Příklad:GRANT, INVOKE.
  • TCL Příkazy (Transaction Control Language) se zabývají transakcí databáze. Příklad:BEGIN, COMMIT, ROLLBACK.

Kromě příkazů budou v tomto článku popsána následující témata:

  • Co je PostgreSQL?
  • Nainstalujte PostgreSQL na Windows
  • Různé typy klíčů v databázi
  • Omezení použitá v databázi
  • Operátoři
  • Agregační funkce
  • Nastavení operací
  • Vnořené dotazy
  • Připojí se
  • Zobrazení
  • Uložené procedury
  • Spouštěče
  • Typ dat UUID

Co je PostgreSQL? – Výukový program PostgreSQL

PostgreSQL je objektově relační databázový systém, který rozšiřuje a používá jazyk SQL. Vzniká v roce 1986 a aktivně se vyvíjí již více než 30 let.

Funkce PostgreSQL jsou následující:

  1. Typy dat: PostgreSQL podporuje různé typy datových typů, jako jsou primitivní, strukturované, dokumentové, geometrie a přizpůsobení. To pomáhá uživateli ukládat data v jakémkoli formátu.
  2. Integrita dat: S pomocí různých omezení a klíčů v databázi PostgreSQL zajišťuje, aby byla zajištěna integrita dat pro jednoduché až složité databáze.
  3. Výkon: PostgreSQL poskytuje funkce, jako je indexování, řízení souběžnosti ve více verzích, JIT komplikace výrazů, aby se zajistilo, že souběžnost a výkon budou na úrovni.
  4. Spolehlivost: S pomocí Write Ahead Logging (WAL) a replikace se PostgreSQL po dlouhou dobu osvědčil jako jeden z nejspolehlivějších databázových systémů.
  5. Zabezpečení: PostgreSQL poskytuje výkonné mechanismy, jako je autentizace, robustní systém řízení přístupu, který zajišťuje, že k databázím mají přístup pouze oprávnění uživatelé.
  6. Rozšiřitelnost: PostgreSQL přichází s různými rozšířeními, které poskytují další funkce. Také rozšířil své funkce rozšiřitelnosti o uložené funkce, procedurální jazyk a cizí datové obaly.

Nyní, když víte, co je PostgreSQL, začněme instalací PostgreSQL na Windows.

Instalace PostgreSQL na Windows – výukový program PostgreSQL

Chcete-li nainstalovat PostgreSQL na Windows, musíte postupovat podle následujících kroků:

Krok 1: Přejděte naoficiální web PostgreSQL a poté vyberte operační systém, pro který chcete stáhnout. Zde vyberu Windows.

Krok 2: Po výběru operačního systému budete přesměrováni na stránku, kde si musíte stáhnout instalační program. Chcete-li to provést, klikněte na možnost:Stáhnout instalační program. Viz níže.

Krok 3: Poté budete dále přesměrováni na stránku, kde musíte vybrat verzi instalačního programu podle operačního systému . Zde vyberu verzi 11.4 pro Windows 64 bit. Viz níže.

Jakmile kliknete na Stáhnout , automaticky uvidíte, že se PostgreSQL stahuje.

Krok 4: Nyní, jakmile je soubor stažen, dvojitým kliknutím na soubor jej otevřete a na obrazovce se objeví průvodce, jak je uvedeno níže. Klikněte na Další a pokračujte dále.

Krok 4.1: Nyní určete instalační adresář . Zde to nechám tak, jak to je, a kliknu naDalší jak je uvedeno níže.

Krok 4.2: Nyní vyberte součásti, které chcete nainstalovat a poté klikněte na Další . Zde vybírám všechny komponenty.

Krok 4.3: Dále vyberte adresář, kam chcete data uložit . Tady to nechám tak, jak to je. Poté klikněte na Další.

Krok 4.4: V dalším dialogovém okně, které se objeví, musíte zmínit heslo pro superuživatele. Poté klikněte na Další.

Krok 4.5: Dále musíte vybrat číslo portu na kterém serveru má naslouchat. Zde to nechám být, jak to je, a poté kliknu na Další.

Krok 4.6: Nakonec vyberte národní prostředí který má být použit novým databázovým clusterem. Nechám to být, jak to je, a pak kliknu na Další .

Krok 4.7: Nakonec klikněte na Další v průvodcích, kteří přijdou a zahájí instalaci PostgreSQL na váš počítač.

Po dokončení instalace se na obrazovce zobrazí dialogové okno jako níže. Klikněte na Dokončit.

Krok 5: Nyní musíte připojit server k databázi . Chcete-li to provést, otevřete pgadmin, což je oficiální GUI PostgreSQL . Jakmile otevřete pgadmin, uvidíte dialogové okno, které vás požádá o heslo. Uveďte tedy heslo a klikněte na OK.

Nyní, když musíte mít nainstalovaný PostgreSQL, pojďme začít s příkazy používanými v PostgreSQL.

V tomto článku o PostgreSQL Tutoriálu pro začátečníky uvažuji níže uvedenou databázi jako příklad, abych vám ukázal, jak psát příkazy.

ID učitele Jméno učitele Adresa Město PSČ Země Plat
01 Saurav Gangnam Street Soul 06499 Jižní Korea 42 000
02 Preeti Queens Quay Rio Claro 560001 Brazílie 45900
03 Vinod King Road Londýn SW6 Spojené království 65000
04 Akanksha Mayo Road Kalkata 700069 Indie 23 000
05 Amit Silnice MG Bengalúrsko 560001 Indie 30 000

Takže, začněme hned!

Příkazy pro definici dat (DDL) – Výukový program PostgreSQL

Tato část článku obsahuje příkazy, kterými můžete definovat svou databázi. Příkazy jsou:

  • VYTVOŘIT
  • ALTER
  • DROP
  • ZKRÁTIT
  • PŘEJMENOVAT

VYTVOŘIT

Tento příkaz se používá buď k vytvoření schématu, tabulek nebo indexu.

Prohlášení „CREATE SCHEMA“

Příkaz CREATE SCHEMA se používá k vytvoření databáze nebo nejčastěji známý jako schéma.

Syntaxe:

CREATE SCHEMA Schema_Name; 

Příklad:

CREATE SCHEMA teachers;

Prohlášení „CREATE TABLE“

Příkaz CREATE TABLE se používá k vytvoření nové tabulky v databázi.

Syntaxe:

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

Příklad:


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

ALTER

Tento příkaz se používá k přidání, úpravě nebo odstranění omezení nebo sloupců.

Prohlášení „ALTER TABLE“

Příkaz ALTER TABLE se používá k přidání, úpravě nebo odstranění omezení a sloupců z tabulky.

Syntaxe:

ALTER TABLE table_name
ADD column_name datatype;

Příklad:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Tento příkaz se používá k odstranění databáze, tabulek nebo sloupců.

Prohlášení „DROP SCHEMA“

Příkaz DROP SCHEMA se používá k odstranění celého schématu.

Syntaxe:

DROP SCHEMA schema_name;

Příklad:

DROP SCHEMA teachers;

Prohlášení „DROP TABLE“

Příkaz DROP TABLE se používá k odstranění celé tabulky se všemi jejími hodnotami.

Syntaxe:

DROP TABLE table_name;

Příklad:

DROP TABLE TeachersInfo;

ZKRÁTIT

Příkaz TRUNCATE se používá k odstranění dat, která jsou přítomna v tabulce, ale tabulka se nesmaže.

Syntaxe:

TRUNCATE TABLE table_name;

Příklad:

TRUNCATE TABLE TeachersInfo;

PŘEJMENOVAT

Příkaz RENAME se používá k přejmenování jedné nebo více tabulek nebo sloupců.

Syntaxe:

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

Příklad:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Nyní, než přejdu dále v tomto článku o PostgreSQL Tutorial for Beginners, dovolte mi říct vám různé typy klíčů a omezení, které musíte zmínit při manipulaci s databázemi. Klíče a omezení vám pomohou vytvářet tabulky mnohem lépe, protože můžete každou tabulku propojit s druhou tabulkou.

Různé typy klíčů v databázi – Výukový program PostgreSQL

Existuje hlavně 5 typů klíčů, které lze zmínit v databázi.

  • Klíč kandidáta – Kandidátský klíč je kombinací minimální sady atributů, které mohou jednoznačně identifikovat n-tici. Jakýkoli vztah může mít více než jeden klíč kandidáta, přičemž klíčem je jednoduchý nebo složený klíč.
  • Super klíč – Super klíč je sada atributů, které mohou jednoznačně identifikovat n-tici. Kandidátský klíč je tedy super klíč, ale naopak to neplatí.
  • Primární klíč – Primární klíč je sada atributů, které lze použít k jedinečné identifikaci každé n-tice. Pokud jsou tedy ve vztahu přítomny 3–4 kandidátní klíče, pak z nich lze jeden vybrat jako primární klíč.
  • Alternativní klíč – Všechny kandidátské klíče kromě primárního klíče se nazývají alternativní klíč.
  • Zahraniční klíč – Atribut, který může pouze převzít přítomné hodnoty jako hodnoty nějakého jiného atributu, je cizí klíč k atributu, na který odkazuje.

Omezení použitá v databázi – Výukový program PostgreSQL

Omezení, která můžete v databázích použít, jsou následující:

  • NENÍ NULL – Omezení NOT NULL zajišťuje, že hodnotu NULL nelze uložit do sloupce
  • JEDINEČNÉ – Omezení UNIQUE zajišťuje, že všechny hodnoty ve sloupci jsou různé
  • ZKONTROLUJTE -Omezení CHECK zajišťuje, že všechny hodnoty ve sloupci splňují určitou podmínku.
  • VÝCHOZÍ -Omezení DEFAULT sestává ze sady výchozích hodnot pro sloupec, pokud není zadána žádná hodnota.
  • INDEX – Omezení INDEX se používá k velmi rychlému vytvoření a načtení dat z databáze

Nyní, když znáte příkazy v DDL a různé typy klíčů a omezení, přejděme k další části, tj. Příkazy pro manipulaci s daty.

Příkazy pro manipulaci s daty (DML) – Výukový program PostgreSQL

Tato část článku obsahuje příkazy, pomocí kterých můžete manipulovat s databází. Příkazy jsou:

  • NASTAVIT SEARCH_PATH
  • VLOŽIT
  • AKTUALIZOVAT
  • SMAZAT
  • VYBRAT

Kromě těchto příkazů existují také další manipulativní operátory/funkce jako:

  • Aritmetické, bitové, složené a porovnávací operátory
  • Logické operátory
  • Agregační funkce
  • Speciální operátoři
  • Nastavení operací
  • Limit, Offset a Fetch

NASTAVTE SEARCH_PATH

Tento příkaz se používá ke zmínce, které schéma musí být použito k provedení všech operací.

Syntaxe:

SET search_path TO schema_name;

Příklad:

SET search_path TO teachers;

INSERT

Příkaz INSERT se používá k vložení nových záznamů do tabulky.

Syntaxe:

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

--You need not mention the column names

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

Příklad:


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

AKTUALIZACE

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

Syntaxe:

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

Příklad:

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

DELETE

Příkaz DELETE se používá k odstranění existujících záznamů v tabulce.

Syntaxe:

DELETE FROM table_name WHERE condition;

Příklad:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

VYBRAT

Příkaz SELECT se používá k výběru dat z databáze a vrácená data jsou uložena ve výsledkové tabulce zvané sada výsledků .

Následují dva způsoby použití tohoto prohlášení:

Syntaxe:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Příklad:

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

Kromě jednotlivých klíčových slov SELECT můžete klíčové slovo SELECT použít s následujícími výroky:

  • DISTINCT
  • OBJEDNEJTE PODLE
  • GROUP BY
  • Doložka MÍT

Prohlášení „SELECT DISTINCT“

Příkaz SELECT DISTINCT se používá k vrácení pouze odlišných nebo odlišných hodnot. Pokud tedy máte tabulku s duplicitními hodnotami, můžete tento příkaz použít k vypsání různých hodnot.

Syntaxe:

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

Příklad:

SELECT Country FROM TeachersInfo;

Prohlášení „ORDER BY“

Příkaz ORDER BY se používá k řazení požadovaných výsledků ve vzestupném nebo sestupném pořadí. Ve výchozím nastavení budou výsledky seřazeny ve vzestupném pořadí. Pokud chcete záznamy seřadit sestupně, musíte použít DESC klíčové slovo.

Syntaxe:

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

Příklad:

 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;

Prohlášení „GROUP BY“

Tento příkaz se používá s agregačními funkcemi k seskupení sady výsledků podle jednoho nebo více sloupců.

Syntaxe:

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

Příklad:

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

Prohlášení o doložce „HAVING“

Od KDE klíčové slovo nelze použít s agregačními funkcemi, byla zavedena klauzule HAVING.

Syntaxe:

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

Příklad:

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

Aritmetické, bitové, složené a porovnávací operátory – Výukový program PostgreSQL

Aritmetické, bitové, složené a porovnávací operátory jsou následující:

 

LOGICKÉ OPERÁTORY

Tato sada operátorů se skládá z logických operátorů, jako je AND/OR/NOT.

A OPERÁTOR

Tento operátor zobrazí záznamy, které splňují všechny podmínky oddělené A.

Syntaxe:

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

Příklad:

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

NEBO OPERÁTOR

Tento operátor zobrazí záznamy, které splňují kteroukoli z podmínek oddělených OR.

Syntaxe:

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

Příklad:

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

NEPROVOZOVATEL

Operátor NOT zobrazí záznam, když podmínka (podmínky) NENÍ PRAVDA.

Syntaxe:

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

Příklad:

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

Agregační funkce – Výukový program PostgreSQL

Následující část článku bude obsahovat funkce jako:

  • MIN()
  • MAX()
  • POČET()
  • AVG()
  • SUM()

Funkce MIN()

Funkce MIN vrací nejmenší hodnotu vybraného sloupce v tabulce.

Syntaxe:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Příklad:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Funkce MAX()

Funkce MAX vrací největší hodnotu vybraného sloupce v tabulce.

Syntaxe:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Příklad:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Funkce COUNT()

Funkce COUNT vrací počet řádků, které odpovídají zadaným kritériím.

Syntaxe:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Příklad:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Funkce AVG()

Funkce AVG vrací průměrnou hodnotu číselného sloupce, který zvolíte.

Syntaxe:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Příklad:

SELECT AVG(Salary)
FROM TeachersInfo;

Funkce SUM()

Funkce SUM vrací celkový součet číselného sloupce, který zvolíte.

Syntaxe:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Příklad:

SELECT SUM(Salary)
FROM TeachersInfo;

Speciální operátoři – Výukový program PostgreSQL

Tato část článku bude obsahovat následující operátory:

  • MEZI
  • JE NULL
  • LIKE
  • IN
  • EXISTUJE
  • VŠECHNY
  • JAKÉKOLI

MEZI Operátorem

Operátor BETWEEN je inkluzivní operátor, který vybírá hodnoty (čísla, texty nebo data) v daném rozsahu.

Syntaxe:

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

Příklad:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Operátor JE NULL

Vzhledem k tomu, že není možné testovat hodnoty NULL pomocí operátorů porovnání (=, <,>), můžeme místo toho použít operátory IS NULL a IS NOT NULL.

Syntaxe:

--Syntax for IS NULL

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

--Syntax for IS NOT NULL

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

Příklad:

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

LIKE operátor

Operátor LIKE se používá v klauzuli WHERE k vyhledání zadaného vzoru ve sloupci tabulky.

Níže uvedené jsou dva zástupné znaky, které se používají ve spojení s operátorem LIKE:

  • % – Znak procenta představuje nulu, jeden nebo více znaků

  • _ – Podtržítko představuje jeden znak

Syntaxe:

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

Příklad:


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

Operátor IN

Operátor IN je zkrácený operátor a používá se pro více podmínek OR.

Syntaxe:

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

Příklad:

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

POZNÁMKA: IN můžete také použít při psaní vnořených dotazů.

EXISTUJE Operátor

Operátor EXISTS se používá k testování, zda záznam existuje nebo ne.

Syntaxe:

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

Příklad:

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

VŠECHNY operátor

Operátor ALL se používá s klauzulí WHERE nebo HAVING a vrací hodnotu true, pokud všechny hodnoty dílčího dotazu splňují podmínku.

Syntaxe:

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

Příklad:

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

JAKÝKOLI Operátor

Podobně jako operátor ALL se operátor ANY používá také s klauzulí WHERE nebo HAVING a vrací hodnotu true, pokud některá z hodnot dílčího dotazu splňuje podmínku.

Syntaxe:

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

Příklad:

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

Nastavit operace – Výukový program PostgreSQL

Existují hlavně tři množiny operací: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 prohlášení.

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 ” and I will get back to you.


  1. Vložení a aktualizace na základě záznamu v Oracle

  2. Co dělá DELIMITER // ve spouštěči?

  3. Standardní řetězce formátu data/času Podporovány FORMAT() na serveru SQL Server

  4. Je možné použít `SqlDbType.Structured` k předání parametrů s hodnotou tabulky v NHibernate?