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í:
- 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.
- 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.
- 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.
- 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ů.
- 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é.
- 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;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;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.