PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Урок за PostgreSQL за начинаещи – всичко, което трябва да знаете за PostgreSQL

PostgreSQL е обектно-релационна база данни с отворен код с 30+ години активно развитие в индустрията. В тази статия на урока за PostgreSQL за начинаещи ще ви запозная с различните концепции за бази данни и командите, използвани в PostgreSQL.

Темите, разгледани в тази статия, са основно разделени в 4 категории:DDL, DML, DCL и TCL.

  • DDL (Език за дефиниране на данни) се използват команди за дефиниране на базата данни. Пример:СЪЗДАВАНЕ, ИЗПУСКАНЕ, ПРОМЕНИ, ОТСЪЩАНЕ, КОМЕНТАРИ, ПРЕИМЕНУВАНЕ.
  • DML (Език за манипулиране на данни) командите се занимават с манипулирането на данни, присъстващи в базата данни. Пример:SELECT, INSERT, UPDATE, DELETE.
  • DCL (Data Control Language) командите се занимават с разрешенията, правата и други контроли на системата на базата данни. Пример:GRANT, INVOKE.
  • TCL (Език за управление на транзакциите) командите се занимават с транзакцията на базата данни. Пример:BEGIN, COMMIT, ROLLBACK.

Освен командите, в тази статия ще бъдат разгледани следните теми:

  • Какво е PostgreSQL?
  • Инсталирайте PostgreSQL на Windows
  • Различни типове ключове в базата данни
  • Ограничения, използвани в базата данни
  • Оператори
  • Агрегирани функции
  • Задаване на операции
  • Вложени заявки
  • Присъединява се
  • Прегледи
  • Съхранени процедури
  • Задействания
  • UUID тип данни

Какво е PostgreSQL? – Урок за PostgreSQL

PostgreSQL е обектно-релационна система от база данни, която разширява и използва SQL езика. Тя възниква през 1986 г. и е в активно развитие повече от 30 години.

Функциите на PostgreSQL са както следва:

  1. Типове данни: PostgreSQL поддържа различни типове данни като примитивни, структурирани, документни, геометрични и персонализации. Това помага на потребителя да съхранява данни във всякакъв формат.
  2. Цялост на данните: С помощта на различни ограничения и ключове в базата данни, PostgreSQL гарантира, че целостта на данните е удовлетворена за прости до сложни бази данни.
  3. Ефективност: PostgreSQL предоставя функции като индексиране, контрол на паралелността с няколко версии, JIT усложняване на изразите, за да се гарантира, че паралелността и производителността се поддържат на ниво.
  4. Надеждност: С помощта на записване напред (WAL) и репликация, PostgreSQL се доказа като една от най-надеждните системи за бази данни за определен период от време.
  5. Сигурност: PostgreSQL предоставя мощни механизми като удостоверяване, стабилна система за контрол на достъпа, за да се гарантира, че само оторизирани потребители имат достъп до базите данни.
  6. Разширяемост: PostgreSQL се предлага с различни разширения за предоставяне на допълнителни функции. Той също така е мащабирал функциите си за разширяване със съхранени функции, процедурен език и обвивки на чужди данни.

Сега, когато знаете какво е PostgreSQL, нека започнем, като инсталираме PostgreSQL на Windows.

Инсталирайте PostgreSQL на Windows – Урок за PostgreSQL

За да инсталирате PostgreSQL на Windows, трябва да следвате стъпките по-долу:

Стъпка 1: Отидете наофициалния уебсайт на PostgreSQL и след това изберете операционната система, за която искате да изтеглите. Тук ще избера Windows.

Стъпка 2: След като изберете операционната система, ще бъдете пренасочени към страница, където трябва да изтеглите инсталатора. За да направите това, кликнете върху опцията:Изтеглете инсталационната програма. Вижте по-долу.

Стъпка 3: След това ще бъдете пренасочени към страница, където трябва да изберете версията на инсталатора въз основа на операционната система . Тук ще избера версия 11.4 за Windows 64 bit. Вижте по-долу.

Веднъж натиснете Изтегляне , автоматично ще видите, че PostgreSQL се изтегля.

Стъпка 4: Сега, след като файлът бъде изтеглен, щракнете двукратно върху файла, за да го отворите и на екрана ви ще се появи съветник, както е по-долу. Кликнете върху Напред и продължете по-нататък.

Стъпка 4.1: Сега, посочете инсталационната директория . Тук ще го оставя така както е и ще щракна върхуНапред както е по-долу.

Стъпка 4.2: Сега изберете компонентите, които искате да инсталирате и след това щракнете върху Напред . Тук избирам всички компоненти.

Стъпка 4.3: След това изберете директорията, в която искате да съхранявате данни . Тук ще го оставя така, както е. След това кликнете върху Напред.

Стъпка 4.4: В следващия диалогов прозорец, който идва, трябва да споменете паролата за супер потребителя. След това кликнете върху Напред.

Стъпка 4.5: След това трябва да изберете номера на порта на кой сървър трябва да слуша. Ето, ще оставя да бъде както е и след това щракнете върху Напред.

Стъпка 4.6: Накрая изберете локала да се използва от новия клъстер на базата данни. Ще го оставя така, както е и след това щракнете върху Напред .

Стъпка 4.7: Накрая кликнете върху Напред в съветниците, които идват, за да започнат инсталирането на PostgreSQL на вашия компютър.

След като инсталацията приключи, ще видите диалогов прозорец, както е по-долу на екрана. Кликнете върху Край

Стъпка 5: Сега трябва да свържете сървъра към база данни . За да направите това, отворете pgadmin, който е официалният GUI на PostgreSQL . След като отворите pgadmin, ще видите диалогов прозорец, който ви пита за паролата. Така че, споменете паролата и щракнете върху OK.

Сега, след като трябва да сте инсталирали PostgreSQL, нека започнем с командите, използвани в PostgreSQL.

В тази статия за PostgreSQL урок за начинаещи ще разгледам базата данни по-долу като пример, за да ви покажа как да пишете команди.

ИД на учител Име на учител Адрес Град Пощенски код Държава Заплата
01 Саурав Gangnam Street Сеул 06499 Южна Корея 42000
02 Преди Куинс Кей Рио Кларо 560001 Бразилия 45900
03 Винод Kings Road Лондон SW6 Обединеното кралство 65000
04 Аканкша Mayo Road Колката 700069 Индия 23000
05 Амит MG Road Бенгалуру 560001 Индия 30000

И така, нека да започнем сега!

Команди за дефиниране на данни (DDL) – Урок за PostgreSQL

Този раздел на статията се състои от тези команди, които можете да дефинирате вашата база данни. Командите са:

  • СЪЗДАВАНЕ
  • ПРОМЕНЯ
  • ИЗПУСКАНЕ
  • ОСКЪЗЯВАНЕ
  • ПРЕИМЕНУВАНЕ

СЪЗДАВАНЕ

Този израз се използва или за създаване на схема, таблици или индекс.

Изявлението „CREATE SCHEMA“

Изразът CREATE SCHEMA се използва за създаване на база данни или най-често известен като схема.

Синтаксис:

CREATE SCHEMA Schema_Name; 

Пример:

CREATE SCHEMA teachers;

Изявлението „CREATE TABLE“

Изразът CREATE TABLE се използва за създаване на нова таблица в база данни.

Синтаксис:

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

Пример:


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

ALTER

Този израз се използва за добавяне, промяна или изтриване на ограничения или колони.

Изявлението „ALTER TABLE“

Изразът ALTER TABLE се използва за добавяне, промяна или изтриване на ограничения и колони от таблица.

Синтаксис:

ALTER TABLE table_name
ADD column_name datatype;

Пример:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

ОТПУСКАНЕ

Тази команда се използва за изтриване на база данни, таблици или колони.

Изявлението „DROP SCHEMA“

Изразът DROP SCHEMA се използва за премахване на цялата схема.

Синтаксис:

DROP SCHEMA schema_name;

Пример:

DROP SCHEMA teachers;

Изявлението „DROP TABLE“

Изразът DROP TABLE се използва за премахване на цялата таблица с всичките й стойности.

Синтаксис:

DROP TABLE table_name;

Пример:

DROP TABLE TeachersInfo;

ОТСЪЩАНЕ

Изразът TRUNCATE се използва за изтриване на данните, които присъстват в таблица, но таблицата не се изтрива.

Синтаксис:

TRUNCATE TABLE table_name;

Пример:

TRUNCATE TABLE TeachersInfo;

ПРЕИМЕНУВАНЕ

Изразът RENAME се използва за преименуване на една или повече таблици или колони.

Синтаксис:

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

Пример:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Сега, преди да продължа по-нататък в тази статия за PostgreSQL урок за начинаещи, нека ви разкажа за различните типове ключове и ограничения, които трябва да споменавате, докато манипулирате с базите данни. Ключовете и ограниченията ще ви помогнат да създавате таблици по много по-добър начин, тъй като можете да свържете всяка таблица с другата таблица.

Различни типове ключове в базата данни – Урок за PostgreSQL

Има основно 5 типа ключове, които могат да бъдат споменати в базата данни.

  • Кандидат ключ – Кандидатният ключ е комбинация от минимален набор от атрибути, които могат уникално да идентифицират кортеж. Всяка връзка може да има повече от един кандидат-ключ, като ключът е прост или съставен ключ.
  • Супер ключ – Супер ключът е набор от атрибути, които могат уникално да идентифицират кортеж. И така, ключът кандидат е супер ключ, но обратното не е вярно.
  • Първичен ключ – Първичният ключ е набор от атрибути, които могат да се използват за уникално идентифициране на всеки кортеж. Така че, ако в една връзка има 3-4 кандидатски ключа, тогава един от тях може да бъде избран като първичен ключ.
  • Алтернативен ключ – Всички кандидат-ключове, различни от първичния ключ, се наричат ​​като алтернативен ключ.
  • Външен ключ – Атрибут, който може да приеме само наличните стойности като стойности на някой друг атрибут, е външният ключ към атрибута, към който се отнася.

Ограничения, използвани в базата данни – Урок за PostgreSQL

Ограниченията, които можете да използвате в бази данни, са както следва:

  • НЕ NULL – Ограничението NOT NULL гарантира, че стойност NULL не може да бъде съхранена в колона
  • УНИКАЛНО – Ограничението UNIQUE гарантира, че всички стойности в колона са различни
  • ПРОВЕРИ -Ограничението CHECK гарантира, че всички стойности в колона отговарят на определено условие.
  • ПО ПОДРАЗБИРАНЕ -Ограничението DEFAULT се състои от набор от стойности по подразбиране за колона, когато не е посочена стойност.
  • ИНДЕКС – Ограничението INDEX се използва за създаване и извличане на данни от базата данни много бързо

Сега, след като знаете командите в DDL и различните типове ключове и ограничения, нека да преминем към следващия раздел, т.е. Команди за манипулиране на данни.

Команди за манипулиране на данни (DML) – Урок за PostgreSQL

Този раздел на статията се състои от командите, с които можете да манипулирате вашата база данни. Командите са:

  • ЗАДАДЕТЕ SEARCH_PATH
  • ВМЪКНЕТЕ
  • АКТУАЛИЗИРАНЕ
  • ИЗТРИВАНЕ
  • ИЗБЕРЕТЕ

Освен тези команди има и други манипулативни оператори/функции като:

  • Аритметични, побитови, съставни и оператори за сравнение
  • Логически оператори
  • Агрегирани функции
  • Специални оператори
  • Задаване на операции
  • Ограничаване, отместване и извличане

ЗАДАВАНЕ НА SEARCH_PATH

Този израз се използва, за да се спомене коя схема трябва да се използва за извършване на всички операции.

Синтаксис:

SET search_path TO schema_name;

Пример:

SET search_path TO teachers;

INSERT

Изразът INSERT се използва за вмъкване на нови записи в таблица.

Синтаксис:

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

Пример:


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

АКТУАЛИЗИРАНЕ

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

Синтаксис:

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

Пример:

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

ИЗТРИВАНЕ

Изразът DELETE се използва за изтриване на съществуващи записи в таблица.

Синтаксис:

DELETE FROM table_name WHERE condition;

Пример:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

ИЗБЕРЕТЕ

Изразът SELECT се използва за избор на данни от база данни и върнатите данни се съхраняват в таблица с резултати, наречена набор с резултати .

Следните са двата начина за използване на това изявление:

Синтаксис:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Пример:

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

Освен индивидуалната ключова дума SELECT, можете да използвате ключовата дума SELECT със следните изрази:

  • РАЗЛИЧНО
  • ПОРЪЧАЙТЕ ОТ
  • ГРУПИРА ПО
  • клауза HAVING

Изявлението „SELECT DISTINCT“

Изразът SELECT DISTINCT се използва за връщане само на различни или различни стойности. Така че, ако имате таблица с дублиращи се стойности, тогава можете да използвате този израз, за ​​да изброите различни стойности.

Синтаксис:

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

Пример:

SELECT Country FROM TeachersInfo;

Изявлението „ПОРЪЧАЙ ОТ“

Изразът ORDER BY се използва за сортиране на желаните резултати във възходящ или низходящ ред. По подразбиране резултатите ще бъдат сортирани във възходящ ред. Ако искате да сортирате записите в низходящ ред, тогава трябва да използвате DESC ключова дума.

Синтаксис:

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

Пример:

 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;

Изявлението „GROUP BY“

Този израз се използва с агрегатните функции за групиране на набора от резултати по една или повече колони.

Синтаксис:

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

Пример:

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

Изявление на клауза „HAVING“

Тъй като КЪДЕ ключовата дума не може да се използва с агрегатни функции, беше въведена клаузата HAVING.

Синтаксис:

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

Пример:

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

Аритметични, побитови, съставни и оператори за сравнение – Урок за PostgreSQL

Аритметичните, побитови, комбинирани и операторите за сравнение са както следва:

 

ЛОГИЧЕСКИ ОПЕРАТОРИ

Този набор от оператори се състои от логически оператори като И/ИЛИ/НЕ.

И ОПЕРАТОР

Този оператор показва записите, които отговарят на всички условия, разделени с И.

Синтаксис:

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

Пример:

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

ИЛИ ОПЕРАТОР

Този оператор показва онези записи, които отговарят на някое от условията, разделени с ИЛИ.

Синтаксис:

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

Пример:

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

НЕ ОПЕРАТОР

Операторът NOT показва запис, когато условието(та) НЕ е ВЯРНО.

Синтаксис:

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

Пример:

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

Агрегирани функции – Урок за PostgreSQL

Следният раздел на статията ще включва функции като:

  • MIN()
  • MAX()
  • БРОЙ()
  • AVG()
  • SUM()

Функция MIN()

Функцията MIN връща най-малката стойност на избраната колона в таблица.

Синтаксис:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Пример:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Функция MAX()

Функцията MAX връща най-голямата стойност на избраната колона в таблица.

Синтаксис:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Пример:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Функция COUNT()

Функцията COUNT връща броя на редовете, които отговарят на посочените критерии.

Синтаксис:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Пример:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Функция AVG()

Функцията AVG връща средната стойност на числова колона, която изберете.

Синтаксис:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Пример:

SELECT AVG(Salary)
FROM TeachersInfo;

Функция SUM()

Функцията SUM връща общата сума на избраната от вас числова колона.

Синтаксис:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Пример:

SELECT SUM(Salary)
FROM TeachersInfo;

Специални оператори – Урок за PostgreSQL

Този раздел на статията ще включва следните оператори:

  • МЕЖДУ
  • Е НЯЛО
  • Харесвам
  • В
  • СЪЩЕСТВУВА
  • ВСИЧКИ
  • ВСЕКИ

Оператор BETWEEN

Операторът BETWEEN е включващ оператор, който избира стойности (числа, текстове или дати) в рамките на даден диапазон.

Синтаксис:

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

Пример:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Оператор Е NULL

Тъй като не е възможно да се тестват стойности NULL с операторите за сравнение (=, <,>), вместо това можем да използваме оператори IS NULL и IS NOT NULL.

Синтаксис:

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

Пример:

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

Харесвам оператор

Операторът LIKE се използва в клауза WHERE за търсене на определен шаблон в колона на таблица.

Споменатите по-долу са двата заместващи знака, които се използват във връзка с оператора LIKE:

  • % – Знакът за процент представлява нула, един или няколко знака

  • _ – Долната черта представлява един знак

Синтаксис:

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

Пример:


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

IN оператор

Операторът IN е съкратен оператор и се използва за множество условия ИЛИ.

Синтаксис:

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

Пример:

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

ЗАБЕЛЕЖКА: Можете също да използвате IN, докато пишете вложени заявки.

СЪЩЕСТВУВА оператор

Операторът EXISTS се използва за проверка дали запис съществува или не.

Синтаксис:

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

Пример:

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

ВСИЧКИ оператор

Операторът ALL се използва с клауза WHERE или HAVING и връща true, ако всички стойности на подзаявката отговарят на условието.

Синтаксис:

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

Пример:

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

ВСЕКИ оператор

Подобно на оператора ALL, операторът ANY също се използва с клауза WHERE или HAVING и връща true, ако някоя от стойностите на подзаявката отговаря на условието.

Синтаксис:

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

Пример:

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

Задаване на операции – Урок за PostgreSQL

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

UNION

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

Syntax

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

INTERSECT

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

Syntax

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

INTERSECT

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

EXCEPT

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

Syntax

SELECT  column_name
FROM  table_name;

EXCEPT

SELECT column_name
FROM table_name;

Limit, Offset and Fetch – PostgreSQL Tutorial

LIMIT

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

Syntax:

SELECT column_name
FROM table_name LIMIT number;

Example:


SELECT * FROM TeachersInfo LIMIT 5;

OFFSET

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

Syntax:

SELECT column_name

FROM table_name OFFSET number LIMIT number;

Example:


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

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

FETCH

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

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

Syntax:

FETCH cursorname;

Example:


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

Nested Queries – PostgreSQL Tutorial

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

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

Joins – PostgreSQL Tutorial

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

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

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

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

INNER JOIN

Syntax:

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

Example:

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

LEFT JOIN

Syntax:

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

Example:

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

RIGHT JOIN

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

Example:

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

FULL JOIN

Syntax:

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

Example:


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

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

Views – PostgreSQL Tutorial

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

The ‘CREATE VIEW’ statement

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

Syntax

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

Example


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

The ‘DROP VIEW’ statement

The DROP VIEW statement is used to delete a view.

Syntax

DROP VIEW view_name;

Example


DROP VIEW teachers_view;

PostgreSQL Tutorial For Beginners: Stored Procedures

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

Syntax

CREATE PROCEDURE procedure_name
LANGUAGE lang_name;

Example

--Create two tables

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

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

CALL insert_data(4, 5);

T riggers – PostgreSQL Tutorial

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

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.

Имате въпрос към нас? Please mention it in the comments section of ”PostgreSQL Tutorial For Beginners ” и ще се свържа с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранените процедури изпълняват ли се в транзакция на база данни в Postgres?

  2. Излишни данни в изявленията за актуализиране

  3. Вземете краткото име на месеца в PostgreSQL

  4. За начинаещ, има ли голяма разлика между MySQL и PostgreSQL

  5. Как да преместя съществуващото си приложение за релси в heroku? (sqlite към postgres)