PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Samouczek PostgreSQL dla początkujących – wszystko, co musisz wiedzieć o PostgreSQL

PostgreSQL to obiektowo-relacyjny system baz danych typu open source z ponad 30-letnim aktywnym rozwojem w branży. W tym artykule samouczka PostgreSQL dla początkujących przedstawię różne koncepcje baz danych i polecenia używane w PostgreSQL.

Tematy poruszane w tym artykule są podzielone głównie na 4 kategorie:DDL, DML, DCL i TCL.

  • DDL Polecenia (język definicji danych) służą do definiowania bazy danych. Przykład:UTWÓRZ, UPUŚĆ, ZMIEŃ, OBCIĄŻ, KOMENTARZ, ZMIEŃ NAZWĘ.
  • DML Polecenia (Data Manipulation Language) zajmują się manipulacją danymi znajdującymi się w bazie danych. Przykład:WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ.
  • DCL Polecenia (Data Control Language) dotyczą uprawnień, praw i innych kontroli systemu bazy danych. Przykład:GRANT, INVOKE.
  • TCL Polecenia (Transaction Control Language) zajmują się transakcją bazy danych. Przykład:BEGIN, COMMIT, ROLLBACK.

Oprócz poleceń, w tym artykule zostaną omówione następujące tematy:

  • Co to jest PostgreSQL?
  • Zainstaluj PostgreSQL w systemie Windows
  • Różne typy kluczy w bazie danych
  • Ograniczenia używane w bazie danych
  • Operatorzy
  • Funkcje agregujące
  • Ustaw operacje
  • Zagnieżdżone zapytania
  • Połączenia
  • Widoki
  • Procedury przechowywane
  • Wyzwalacze
  • Typ danych UUID

Co to jest PostgreSQL? – Samouczek PostgreSQL

PostgreSQL to obiektowo-relacyjny system baz danych, który rozszerza i wykorzystuje język SQL. Powstała w 1986 roku i aktywnie rozwija się od ponad 30 lat.

Funkcje PostgreSQL są następujące:

  1. Typy danych: PostgreSQL obsługuje różne typy danych, takie jak prymitywne, ustrukturyzowane, dokumentowe, geometryczne i dostosowywane. Pomaga to użytkownikowi przechowywać dane w dowolnym formacie.
  2. Integralność danych: Za pomocą różnych ograniczeń i kluczy w bazie danych PostgreSQL zapewnia, że ​​integralność danych jest spełniony zarówno w przypadku prostych, jak i złożonych baz danych.
  3. Skuteczność: PostgreSQL zapewnia funkcje, takie jak indeksowanie, kontrola współbieżności wielu wersji, komplikacja wyrażeń JIT, aby upewnić się, że współbieżność i wydajność są utrzymywane na właściwym poziomie.
  4. Niezawodność: Z pomocą Write Ahead Logging (WAL) i replikacji, PostgreSQL okazał się przez pewien czas jednym z najbardziej niezawodnych systemów baz danych.
  5. Zabezpieczenia: PostgreSQL zapewnia potężne mechanizmy, takie jak uwierzytelnianie, solidny system kontroli dostępu zapewniający, że tylko autoryzowani użytkownicy mają dostęp do baz danych.
  6. Rozszerzalność: PostgreSQL jest dostarczany z różnymi rozszerzeniami zapewniającymi dodatkowe funkcje. Skaluje również swoje funkcje rozszerzalności za pomocą przechowywanych funkcji, języka proceduralnego i zewnętrznych opakowań danych.

Teraz, gdy już wiesz, czym jest PostgreSQL, zacznijmy od zainstalowania PostgreSQL w systemie Windows.

Zainstaluj PostgreSQL w systemie Windows — samouczek PostgreSQL

Aby zainstalować PostgreSQL w systemie Windows, wykonaj następujące czynności:

Krok 1: Wejdź naoficjalną stronę PostgreSQL a następnie wybierz system operacyjny, dla którego chcesz pobrać. Tutaj wybiorę Windows.

Krok 2: Po wybraniu systemu operacyjnego zostaniesz przekierowany na stronę, na której musisz pobrać instalator. Aby to zrobić, kliknij opcję:Pobierz instalator. Patrz poniżej.

Krok 3: Następnie zostaniesz przekierowany na stronę, na której musisz wybrać wersję instalatora w oparciu o system operacyjny . Tutaj wybiorę wersję 11.4 dla Windows 64 bit. Patrz poniżej.

Kiedyś naciskasz Pobierz , automatycznie zobaczysz, że pobierany jest PostgreSQL.

Krok 4: Teraz, gdy plik zostanie pobrany, kliknij dwukrotnie plik, aby go otworzyć, a na ekranie pojawi się kreator, jak poniżej. Kliknij Dalej i przejdź dalej.

Krok 4.1: Teraz określ katalog instalacyjny . Tutaj zostawię to bez zmian i kliknę Dalej jak poniżej.

Krok 4.2: Teraz wybierz komponenty, które chcesz zainstalować a następnie kliknij Dalej . Tutaj wybieram wszystkie komponenty.

Krok 4.3: Następnie wybierz katalog, w którym chcesz przechowywać dane . Tutaj zostawię to tak, jak jest. Następnie kliknij Dalej

Krok 4.4: W następnym oknie dialogowym, które się pojawi, musisz wskazać hasło dla superużytkownika. Następnie kliknij Dalej

Krok 4.5: Następnie musisz wybrać numer portu na którym serwerze powinien nasłuchiwać. Tutaj pozwolę, aby było tak, jak jest, a następnie kliknij Dalej.

Krok 4.6: Na koniec wybierz lokalizację do wykorzystania przez nowy klaster baz danych. Pozwolę, żeby było tak, jak jest, a następnie kliknij Dalej .

Krok 4.7: Na koniec kliknij Dalej w kreatorach, które rozpoczynają instalację PostgreSQL na twoim komputerze.

Po zakończeniu instalacji na ekranie pojawi się poniższe okno dialogowe. Kliknij Zakończ.

Krok 5: Teraz musisz połączyć serwer z bazą danych . Aby to zrobić, otwórz pgadmin, który jest oficjalnym graficznym interfejsem użytkownika PostgreSQL . Po otwarciu pgadmin zobaczysz okno dialogowe z prośbą o podanie hasła. Wspomnij więc hasło i kliknij OK.

Teraz, gdy musisz mieć zainstalowany PostgreSQL, zacznijmy od poleceń używanych w PostgreSQL.

W tym artykule Samouczek PostgreSQL dla początkujących rozważę poniższą bazę danych jako przykład, aby pokazać, jak pisać polecenia.

Identyfikator nauczyciela Nazwa nauczyciela Adres Miasto Kod pocztowy Kraj Wynagrodzenie
01 Sauraw Ulica Gangnam Seul 06499 Korea Południowa 42000
02 Preeti Nabrzeże Królowej Rio Claro 560001 Brazylia 45900
03 Vinod Droga Królów Londyn SW6 Wielka Brytania 65000
04 Akanksha Mayo Road Kalkuta 700069 Indie 23000
05 Amit MG Droga Bengaluru 560001 Indie 30000

Zacznijmy więc teraz!

Polecenia definicji danych (DDL) – Samouczek PostgreSQL

Ta część artykułu zawiera polecenia, którymi możesz zdefiniować swoją bazę danych. Polecenia to:

  • UTWÓRZ
  • ZMIANA
  • UPUŚĆ
  • OBCIĘĆ
  • ZMIEŃ NAZWĘ

UTWÓRZ

Ta instrukcja służy do tworzenia schematu, tabel lub indeksu.

Oświadczenie „CREATE SCHEMA”

Instrukcja CREATE SCHEMA służy do tworzenia bazy danych lub jest najczęściej znana jako schemat.

Składnia:

CREATE SCHEMA Schema_Name; 

Przykład:

CREATE SCHEMA teachers;

Oświadczenie „CREATE TABLE”

Instrukcja CREATE TABLE służy do tworzenia nowej tabeli w bazie danych.

Składnia:

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

Przykład:


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

ZMIEŃ

Ta instrukcja służy do dodawania, modyfikowania lub usuwania ograniczeń lub kolumn.

Oświadczenie „ALTER TABLE”

Instrukcja ALTER TABLE służy do dodawania, modyfikowania lub usuwania ograniczeń i kolumn z tabeli.

Składnia:

ALTER TABLE table_name
ADD column_name datatype;

Przykład:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

To polecenie służy do usuwania bazy danych, tabel lub kolumn.

Oświadczenie „DROP SCHEMA”

Instrukcja DROP SCHEMA służy do usuwania całego schematu.

Składnia:

DROP SCHEMA schema_name;

Przykład:

DROP SCHEMA teachers;

Oświadczenie „DROP TABLE”

Instrukcja DROP TABLE służy do usuwania całej tabeli ze wszystkimi jej wartościami.

Składnia:

DROP TABLE table_name;

Przykład:

DROP TABLE TeachersInfo;

OBCIĄGNIJ

Instrukcja TRUNCATE służy do usuwania danych znajdujących się w tabeli, ale tabela nie jest usuwana.

Składnia:

TRUNCATE TABLE table_name;

Przykład:

TRUNCATE TABLE TeachersInfo;

ZMIEŃ NAZWĘ

Instrukcja RENAME służy do zmiany nazwy jednej lub więcej tabel lub kolumn.

Składnia:

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

Przykład:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Teraz, zanim przejdę dalej w tym artykule Samouczek PostgreSQL dla początkujących, pozwól, że opowiem Ci różne typy kluczy i ograniczeń, o których musisz wspomnieć podczas manipulowania bazami danych. Klucze i ograniczenia pomogą Ci tworzyć tabele w znacznie lepszy sposób, ponieważ możesz powiązać każdą tabelę z inną tabelą.

Różne typy kluczy w bazie danych – Samouczek PostgreSQL

W bazie danych można wymienić głównie 5 typów kluczy.

  • Klucz kandydata – Klucz kandydata to połączenie minimalnego zestawu atrybutów, które mogą jednoznacznie identyfikować krotkę. Każda relacja może mieć więcej niż jeden klucz kandydata, przy czym kluczem jest klucz prosty lub złożony.
  • Superklawisz – Super klucz to zestaw atrybutów, które mogą jednoznacznie identyfikować krotkę. Tak więc klucz kandydata to super klucz, ale na odwrót to nieprawda.
  • Klucz podstawowy – Klucz podstawowy to zestaw atrybutów, których można użyć do jednoznacznej identyfikacji każdej krotki. Tak więc, jeśli w relacji są 3-4 klucze kandydujące, to poza nimi jeden może zostać wybrany jako klucz podstawowy.
  • Alternatywny klucz – Wszystkie klucze kandydujące inne niż klucz podstawowy są nazywane kluczami alternatywnymi.
  • Klucz obcy – Atrybut, który może przyjmować tylko wartości obecne jako wartości jakiegoś innego atrybutu, jest kluczem obcym atrybutu, do którego się odnosi.

Ograniczenia używane w bazie danych – Samouczek PostgreSQL

Ograniczenia, których można używać w bazach danych, są następujące:

  • NIE NULL – Ograniczenie NOT NULL zapewnia, że ​​wartość NULL nie może być przechowywana w kolumnie
  • UNIKALNE – Ograniczenie UNIQUE zapewnia, że ​​wszystkie wartości w kolumnie są różne
  • SPRAWDŹ -Ograniczenie CHECK zapewnia, że ​​wszystkie wartości w kolumnie spełniają określony warunek.
  • DOMYŚLNE -Ograniczenie DOMYŚLNE składa się z zestawu wartości domyślnych dla kolumny, gdy nie określono żadnej wartości.
  • INDEKS – Ograniczenie INDEX służy do bardzo szybkiego tworzenia i pobierania danych z bazy danych

Teraz, gdy znasz już polecenia w DDL oraz różne typy kluczy i ograniczeń, przejdźmy do następnej sekcji, tj. Polecenia manipulacji danymi.

Polecenia manipulacji danymi (DML) – Samouczek PostgreSQL

Ta część artykułu zawiera polecenia, za pomocą których możesz manipulować bazą danych. Polecenia to:

  • USTAW ŚCIEŻKĘ WYSZUKIWANIA
  • WSTAW
  • AKTUALIZUJ
  • USUŃ
  • WYBIERZ

Oprócz tych poleceń istnieją również inne operatory/funkcje manipulacyjne, takie jak:

  • Operatory arytmetyczne, bitowe, złożone i porównania
  • Operatory logiczne
  • Funkcje agregujące
  • Operatory specjalne
  • Ustaw operacje
  • Limit, przesunięcie i pobieranie

USTAW SEARCH_PATH

Stwierdzenie to służy do określenia, który schemat ma być użyty do wykonania wszystkich operacji.

Składnia:

SET search_path TO schema_name;

Przykład:

SET search_path TO teachers;

WSTAW

Instrukcja INSERT służy do wstawiania nowych rekordów do tabeli.

Składnia:

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

Przykład:


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

AKTUALIZACJA

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

Składnia:

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

Przykład:

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

USUŃ

Instrukcja DELETE służy do usuwania istniejących rekordów w tabeli.

Składnia:

DELETE FROM table_name WHERE condition;

Przykład:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

WYBIERZ

Wyrażenie SELECT służy do wybierania danych z bazy danych, a zwrócone dane są przechowywane w tabeli wynikowej, zwanej zestawem wyników .

Oto dwa sposoby użycia tego stwierdzenia:

Składnia:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Przykład:

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

Oprócz pojedynczego słowa kluczowego SELECT, możesz użyć słowa kluczowego SELECT z następującymi stwierdzeniami:

  • ODRÓŻNE
  • ZAMÓW PRZEZ
  • GRUPUJ WG
  • Klauzula MIEĆ

Oświadczenie „SELECT DISTINCT”

Instrukcja SELECT DISTINCT służy do zwracania tylko odrębnych lub różnych wartości. Tak więc, jeśli masz tabelę ze zduplikowanymi wartościami, możesz użyć tej instrukcji, aby wyświetlić różne wartości.

Składnia:

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

Przykład:

SELECT Country FROM TeachersInfo;

Oświadczenie „ORDER BY”

Instrukcja ORDER BY służy do sortowania żądanych wyników w kolejności rosnącej lub malejącej. Domyślnie wyniki byłyby sortowane w porządku rosnącym. Jeśli chcesz posortować rekordy w kolejności malejącej, musisz użyć DESC słowo kluczowe.

Składnia:

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

Przykład:

 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;

Oświadczenie „GROUP BY”

Ta instrukcja jest używana z funkcjami agregacji do grupowania zestawu wyników według jednej lub więcej kolumn.

Składnia:

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

Przykład:

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

Oświadczenie klauzuli „HAVING”

Od GDZIE słowo kluczowe nie może być używane z funkcjami agregującymi, wprowadzono klauzulę HAVING.

Składnia:

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

Przykład:

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

Operatory arytmetyczne, bitowe, złożone i porównania – Samouczek PostgreSQL

Operatory arytmetyczne, bitowe, złożone i porównania są następujące:

 

OPERATORZY LOGICZNI

Ten zestaw operatorów składa się z operatorów logicznych, takich jak AND/LUB/NOT.

I OPERATOR

Ten operator wyświetla rekordy, które spełniają wszystkie warunki oddzielone operatorem AND.

Składnia:

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

Przykład:

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

LUB OPERATOR

Ten operator wyświetla te rekordy, które spełniają którykolwiek z warunków rozdzielonych operatorem OR.

Składnia:

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

Przykład:

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

NIE OPERATOR

Operator NOT wyświetla rekord, gdy warunek (warunki) NIE jest PRAWDZIWY.

Składnia:

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

Przykład:

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

Funkcje agregujące – Samouczek PostgreSQL

Poniższa sekcja artykułu będzie zawierała takie funkcje, jak:

  • MIN()
  • MAX()
  • LICZBA()
  • ŚREDN()
  • SUM()

Funkcja MIN()

Funkcja MIN zwraca najmniejszą wartość z wybranej kolumny w tabeli.

Składnia:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Przykład:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Funkcja MAX()

Funkcja MAX zwraca największą wartość z wybranej kolumny w tabeli.

Składnia:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Przykład:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Funkcja COUNT()

Funkcja ILE.LICZB zwraca liczbę wierszy spełniających określone kryteria.

Składnia:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Przykład:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Funkcja AVG()

Funkcja AVG zwraca średnią wartość wybranej kolumny liczbowej.

Składnia:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Przykład:

SELECT AVG(Salary)
FROM TeachersInfo;

Funkcja SUMA()

Funkcja SUMA zwraca całkowitą sumę wybranej kolumny liczbowej.

Składnia:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Przykład:

SELECT SUM(Salary)
FROM TeachersInfo;

Operatorzy specjalni – Samouczek PostgreSQL

Ta sekcja artykułu będzie zawierać następujące operatory:

  • POMIĘDZY
  • JEST NULL
  • LUBIĘ
  • W
  • ISTNIEJE
  • WSZYSTKIE
  • DOWOLNE

BETWEEN Operator

Operator BETWEEN to operator włączający, który wybiera wartości (liczby, teksty lub daty) z danego zakresu.

Składnia:

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

Przykład:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Operator IS NULL

Ponieważ nie jest możliwe testowanie wartości NULL za pomocą operatorów porównania (=, <,>), możemy zamiast tego użyć operatorów IS NULL i IS NOT NULL.

Składnia:

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

Przykład:

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

Operator LIKE

Operator LIKE jest używany w klauzuli WHERE do wyszukiwania określonego wzorca w kolumnie tabeli.

Wspomniane poniżej dwa symbole wieloznaczne są używane w połączeniu z operatorem LIKE:

  • % – znak procentu oznacza zero, jeden lub wiele znaków

  • _ – podkreślenie reprezentuje pojedynczy znak

Składnia:

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

Przykład:


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

Operator IN

Operator IN jest skróconym operatorem i jest używany dla wielu warunków OR.

Składnia:

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

Przykład:

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

UWAGA: Możesz również użyć IN podczas pisania zapytań zagnieżdżonych.

OPERATOR ISTNIEJE

Operator EXISTS służy do sprawdzania, czy rekord istnieje, czy nie.

Składnia:

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

Przykład:

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

WSZYSCY operator

Operator ALL jest używany z klauzulą ​​WHERE lub HAVING i zwraca prawdę, jeśli wszystkie wartości podzapytania spełniają warunek.

Składnia:

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

Przykład:

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

DOWOLNY operator

Podobnie do operatora ALL, operator ANY jest również używany z klauzulą ​​WHERE lub HAVING i zwraca wartość true, jeśli którakolwiek z wartości podzapytania spełnia warunek.

Składnia:

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

Przykład:

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

Ustaw operacje – PostgreSQL Tutorial

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

UNION

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

Syntax

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

INTERSECT

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

Syntax

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

INTERSECT

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

EXCEPT

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

Syntax

SELECT  column_name
FROM  table_name;

EXCEPT

SELECT column_name
FROM table_name;

Limit, Offset and Fetch – PostgreSQL Tutorial

LIMIT

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

Syntax:

SELECT column_name
FROM table_name LIMIT number;

Example:


SELECT * FROM TeachersInfo LIMIT 5;

OFFSET

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

Syntax:

SELECT column_name

FROM table_name OFFSET number LIMIT number;

Example:


--Select 3 rows from TeachersInfo after the 5th row
SELECT * FROM TeachersInfo OFFSET 5 LIMIT 3;

--Select all rows from TeachersInfo
SELECT * FROM TeachersInfo OFFSET 2;

FETCH

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

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

Syntax:

FETCH cursorname;

Example:


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

Nested Queries – PostgreSQL Tutorial

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

So, when you execute this query, you will see the name of the teacher who is from Brazil.

Joins – PostgreSQL Tutorial

JOINS in PostgreSQL are used to combine rows from two or more tables, based on a related column between those tables. The following are the types of joins:

  • INNER JOIN: The INNER JOIN returns those records which have matching values in both the tables.
  • LEFT JOIN: The LEFT JOIN returns records from the left table, and also those records which satisfy the condition from the right table.
  • RIGHT JOIN: The RIGHT JOIN returns records from the right table, and also those records which satisfy the condition from the left table.
  • FULL JOIN: The FULL JOIN returns all those records which either have a match in the left or the right table.

Let’s consider the below table apart from the TeachersInfo table, to understand the syntax of joins.

SubjectID TeacherID SubjectName
1 10 Maths
2 11 Physics
3 12 Chemistry

INNER JOIN

Syntax:

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT Subjects.SubjectID, TeachersInfo.TeacherName
FROM Subjects
INNER JOIN TeachersInfo ON Subjects.TeacherID = TeachersInfo.TeacherID;

LEFT JOIN

Syntax:

SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT TeachersInfo.TeacherName, Subjects.SubjectID
FROM TeachersInfo
LEFT JOIN Subjects ON TeachersInfo.TeacherID = Subjects.TeacherID
ORDER BY TeachersInfo.TeacherName;

RIGHT JOIN

Syntax:
SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;

Example:

SELECT Subjects.SubjectID
FROM Subjects
RIGHT JOIN TeachersInfo ON Subjects.SubjectID = TeachersInfo.TeacherID
ORDER BY Subjects.SubjectID;

FULL JOIN

Syntax:

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

Example:


SELECT TeachersInfo.TeacherName, Subjects.SubjectID
FROM TeachersInfo
FULL OUTER JOIN Subjects ON TeachersInfo.TeacherID = Subjects.SubjectID
ORDER BY TeachersInfo.TeacherName;

Now, next in this article, I will discuss Views, Stored Procedures, and Triggers.

Views – PostgreSQL Tutorial

A view is a single table, which is derived from other tables. So, a view contains rows and columns similar to a real table and has fields from one or more table.

The ‘CREATE VIEW’ statement

The CREATE VIEW statement is used to create a view from an existing table.

Syntax

CREATE VIEW view_name AS
SELECT column1, column2, ..., columnN
FROM table_name
WHERE condition;

Example


CREATE VIEW teachers_view AS
SELECT TeacherName, TeacherID
FROM TeachersInfo
WHERE City = 'Bengaluru';

The ‘DROP VIEW’ statement

The DROP VIEW statement is used to delete a view.

Syntax

DROP VIEW view_name;

Example


DROP VIEW teachers_view;

PostgreSQL Tutorial For Beginners: Stored Procedures

Stored Procedures are snippets of codes which can be saved and re-used.

Syntax

CREATE PROCEDURE procedure_name
LANGUAGE lang_name;

Example

--Create two tables

CREATE TABLE tbl1(tb1id int);
CREATE TABLE tbl2(tb2id int);

--Create Procedure
CREATE PROCEDURE insert_data (a1 integer, b1 integer)
LANGUAGE SQL
AS $$
INSERT INTO tbl1 VALUES (a1);
INSERT INTO tbl2 VALUES (b1);
$$;

CALL insert_data(4, 5);

T riggers – PostgreSQL Tutorial

Triggers are a set of SQL statements which are stored in the database catalog. These statements are executed whenever an event associated with a table occurs. So, a trigger can be invoked either BEFORE or AFTER the data is changed by INSERT , UPDATE or DELETE oświadczenie.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawić, przy zduplikowanej aktualizacji w PostgreSQL?

  2. Wybierz losowy wiersz z tabeli PostgreSQL z ważonymi prawdopodobieństwami wierszy

  3. Jak monitorować wydajność PostgreSQL 12 za pomocą OmniDB — część 2

  4. Zduplikowane wiersze w tabeli kluczy podstawowych.

  5. Jak Atan() działa w PostgreSQL