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:
- 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.
- 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.
- 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.
- Niezawodność: Z pomocą Write Ahead Logging (WAL) i replikacji, PostgreSQL okazał się przez pewien czas jednym z najbardziej niezawodnych systemów baz danych.
- 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.
- 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;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;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.