PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Tutorial do PostgreSQL para iniciantes – tudo o que você precisa saber sobre o PostgreSQL

O PostgreSQL é um sistema de banco de dados relacional de objeto de código aberto com mais de 30 anos de desenvolvimento ativo na indústria. Neste artigo sobre Tutorial do PostgreSQL para iniciantes, apresentarei os diferentes conceitos de banco de dados e os comandos usados ​​no PostgreSQL.

Os tópicos abordados neste artigo são divididos principalmente em 4 categorias:DDL, DML, DCL &TCL.

  • O DDL Os comandos (Data Definition Language) são usados ​​para definir o banco de dados. Exemplo:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • O DML Os comandos (Data Manipulation Language) lidam com a manipulação dos dados presentes no banco de dados. Exemplo:SELECT, INSERT, UPDATE, DELETE.
  • O DCL Os comandos (Data Control Language) lidam com as permissões, direitos e outros controles do sistema de banco de dados. Exemplo:GRANT, INVOKE.
  • O TCL Os comandos (Transaction Control Language) lidam com a transação do banco de dados.Exemplo:BEGIN, COMMIT, ROLLBACK.

Além dos comandos, os seguintes tópicos serão abordados neste artigo:
  • O que é PostgreSQL?
  • Instale o PostgreSQL no Windows
  • Diferentes tipos de chaves no banco de dados
  • Restrições usadas no banco de dados
  • Operadores
  • Funções agregadas
  • Definir operações
  • Consultas aninhadas
  • Juntas
  • Visualizações
  • Procedimentos armazenados
  • Acionadores
  • Tipo de dados UUID

O que é PostgreSQL? – Tutorial PostgreSQL

O PostgreSQL é um sistema de banco de dados objeto-relacional que estende e usa a linguagem SQL. Origina-se no ano de 1986 e está em desenvolvimento ativo há mais de 30 anos.

Os recursos do PostgreSQL são os seguintes:

  1. Tipos de dados: O PostgreSQL suporta vários tipos de dados como primitivos, estruturados, documentos, geometrias e customizações. Isso ajuda o usuário a armazenar dados em qualquer formato.
  2. Integridade dos dados: Com a ajuda de várias restrições e chaves no banco de dados, o PostgreSQL garante que a integridade dos dados seja satisfeita para bancos de dados simples a complexos.
  3. Desempenho: O PostgreSQL fornece recursos como indexação, controle de simultaneidade de várias versões, complicação JIT de expressões para garantir que a simultaneidade e o desempenho sejam mantidos.
  4. Confiabilidade: Com a ajuda do Write Ahead Logging (WAL) e da Replicação, o PostgreSQL provou ser um dos sistemas de banco de dados mais confiáveis ​​durante um período de tempo.
  5. Segurança: O PostgreSQL fornece mecanismos poderosos, como autenticação, um sistema robusto de controle de acesso para garantir que apenas usuários autorizados tenham acesso aos bancos de dados.
  6. Extensibilidade: O PostgreSQL vem com várias extensões para fornecer funcionalidades adicionais. Ele também escalou seus recursos de extensibilidade com funções armazenadas, linguagem procedural e wrappers de dados estrangeiros.

Agora que você sabe o que é o PostgreSQL, vamos começar instalando o PostgreSQL no Windows.

Instalar o PostgreSQL no Windows – Tutorial do PostgreSQL


Para instalar o PostgreSQL no Windows, você deve seguir os passos abaixo:

Etapa 1: Acesse osite oficial do PostgreSQL e, em seguida, escolha o sistema operacional para o qual deseja fazer o download. Aqui vou escolher o Windows.


Etapa 2: Uma vez escolhido o sistema operacional, você será redirecionado para uma página, onde deverá baixar o instalador. Para isso, clique na opção:Baixe o instalador. Consulte abaixo.

Etapa 3: Em seguida, você será redirecionado para uma página, onde você deve escolher a versão do instalador com base no sistema operacional . Aqui, vou escolher a versão 11.4 para Windows 64 bits. Consulte abaixo.

Uma vez, você clica em Download , você verá automaticamente que o PostgreSQL está sendo baixado.


Etapa 4: Agora, uma vez que o arquivo é baixado, clique duas vezes no arquivo para abri-lo e um assistente aparecerá na sua tela como abaixo. Clique em Próximo e prossiga mais.


Etapa 4.1: Agora, especifique o diretório de instalação . Aqui, vou deixar como está e clicar em Avançar como abaixo.


Etapa 4.2: Agora, escolha os componentes que deseja instalar e clique em Próximo . Aqui, estou selecionando todos os componentes.


Etapa 4.3: Em seguida, selecione o diretório onde você deseja armazenar os dados . Aqui vou deixar como está. Em seguida, clique em Próximo.


Etapa 4.4: Na próxima caixa de diálogo, você deve mencionar a senha do superusuário. Em seguida, clique em Próximo.


Etapa 4.5: Em seguida, você deve selecionar o número da porta em qual servidor deve escutar. Aqui, deixarei como está e, em seguida, clique em Próximo.


Etapa 4.6: Por fim, selecione a localidade para ser usado pelo novo cluster de banco de dados. Vou deixá-lo como está e, em seguida, clique em Próximo .


Etapa 4.7: Por fim, clique em Próximo nos assistentes que vêm para iniciar a instalação do PostgreSQL em seu computador.


Quando a instalação estiver concluída, você verá uma caixa de diálogo como abaixo na tela. Clique em Concluir.


Etapa 5: Agora, você precisa conectar o servidor a um banco de dados . Para fazer isso abra o pgadmin que é a GUI oficial do PostgreSQL . Depois de abrir o pgadmin, você verá uma caixa de diálogo, que solicita a senha. Então, mencione a senha e clique em OK.

Agora que você já deve ter instalado o PostgreSQL, vamos começar com os comandos usados ​​no PostgreSQL.

Neste artigo sobre Tutorial PostgreSQL para iniciantes, vou considerar o banco de dados abaixo como exemplo, para mostrar como escrever comandos.

ProfessorID Nome do Professor Endereço Cidade Código Postal País Salário
01 Saurav Rua Gangnam Seul 06499 Coreia do Sul 42000
02 Preet Queens Quay Rio Claro 560001 Brasil 45900
03 Vind Kings Road Londres SW6 Reino Unido 65000
04 Akanksha Estrada Mayo Calcutá 700069 Índia 23000
05 Amit Estrada MG Bangaluru 560001 Índia 30000

Então, vamos começar agora!

Comandos de definição de dados (DDL) – Tutorial PostgreSQL

Esta seção do artigo consiste nesses comandos, que você pode definir seu banco de dados. Os comandos são:

  • CRIAR
  • ALTER
  • DEIXAR
  • TRUNCAR
  • RENOMEAR

CRIAR

Esta instrução é usada para criar um esquema, tabelas ou um índice.

A declaração 'CREATE SCHEMA'

A instrução CREATE SCHEMA é usada para criar um banco de dados ou mais comumente conhecido como esquema.

Sintaxe:

CREATE SCHEMA Schema_Name; 

Exemplo:

CREATE SCHEMA teachers;

A declaração 'CREATE TABLE'

A instrução CREATE TABLE é usada para criar uma nova tabela em um banco de dados.

Sintaxe:

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

Exemplo:


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

ALTER

Esta instrução é usada para adicionar, modificar ou excluir restrições ou colunas.

A declaração 'ALTER TABLE'

A instrução ALTER TABLE é usada para adicionar, modificar ou excluir restrições e colunas de uma tabela.

Sintaxe:

ALTER TABLE table_name
ADD column_name datatype;

Exemplo:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

DROP

Este comando é usado para excluir o banco de dados, tabelas ou colunas.

A declaração 'DROP SCHEMA'

A instrução DROP SCHEMA é usada para descartar o esquema completo.

Sintaxe:

DROP SCHEMA schema_name;

Exemplo:

DROP SCHEMA teachers;

A declaração 'DROP TABLE'

A instrução DROP TABLE é usada para eliminar a tabela inteira com todos os seus valores.

Sintaxe:

DROP TABLE table_name;

Exemplo:

DROP TABLE TeachersInfo;

TRUNCATE

A instrução TRUNCATE é usada para excluir os dados presentes em uma tabela, mas a tabela não é excluída.

Sintaxe:

TRUNCATE TABLE table_name;

Exemplo:

TRUNCATE TABLE TeachersInfo;

RENOMEAR

A instrução RENAME é usada para renomear uma ou mais tabelas ou colunas.

Sintaxe:

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

Exemplo:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Agora, antes de prosseguir neste artigo sobre o Tutorial do PostgreSQL para iniciantes, deixe-me falar sobre os vários tipos de Chaves e Restrições que você precisa mencionar ao manipular os bancos de dados. As chaves e restrições ajudarão você a criar tabelas de uma maneira muito melhor, pois você pode relacionar cada tabela com a outra.

Diferentes tipos de chaves no banco de dados – Tutorial PostgreSQL

Existem principalmente 5 tipos de Chaves, que podem ser mencionadas no banco de dados.

  • Chave do candidato – Uma Chave Candidata é uma combinação de um conjunto mínimo de atributos que podem identificar exclusivamente uma tupla. Qualquer relação pode ter mais de uma única Chave Candidata, sendo a chave uma chave simples ou composta.
  • Super Chave – Uma Super Chave é o conjunto de atributos que podem identificar exclusivamente uma tupla. Portanto, uma chave candidata é uma superchave, mas vice-versa não é verdade.
  • Chave primária – Uma Chave Primária é um conjunto de atributos que podem ser usados ​​para identificar exclusivamente cada tupla. Portanto, se houver de 3 a 4 chaves candidatas presentes em um relacionamento, entre elas, uma pode ser escolhida como Chave Primária.
  • Chave alternativa – Todas as Chaves Candidatas, exceto a Chave Primária, são chamadas de Chave Alternativa.
  • Chave estrangeira – Um atributo que só pode receber os valores presentes como valores de algum outro atributo é a chave estrangeira do atributo ao qual se refere.

Restrições usadas no banco de dados – Tutorial PostgreSQL

As restrições que você pode usar em bancos de dados são as seguintes:

  • NÃO NULO – A restrição NOT NULL garante que um valor NULL não possa ser armazenado em uma coluna
  • ÚNICO – A restrição UNIQUE garante que todos os valores em uma coluna sejam diferentes
  • VERIFICAR -A restrição CHECK garante que todos os valores em uma coluna satisfaçam uma condição específica.
  • PADRÃO -A restrição DEFAULT consiste em um conjunto de valores padrão para uma coluna quando nenhum valor é especificado.
  • ÍNDICE – A restrição INDEX é usada para criar e recuperar dados do banco de dados muito rapidamente

Agora que você conhece os comandos em DDL e os vários tipos de chaves e restrições, vamos para a próxima seção, ou seja, Comandos de Manipulação de Dados.

Comandos de manipulação de dados (DML) – Tutorial PostgreSQL

Esta seção do artigo consiste nos comandos, pelos quais você pode manipular seu banco de dados. Os comandos são:

  • SET SEARCH_PATH
  • INSERIR
  • ATUALIZAÇÃO
  • EXCLUIR
  • SELECIONAR

Além desses comandos, existem também outros operadores/funções manipulativas, como:

  • Operadores aritméticos, bit a bit, compostos e de comparação
  • Operadores lógicos
  • Funções agregadas
  • Operadores especiais
  • Definir operações
  • Limitar, Deslocar e Buscar

SET SEARCH_PATH

Esta instrução é usada para mencionar qual esquema deve ser usado para realizar todas as operações.

Sintaxe:

SET search_path TO schema_name;

Exemplo:

SET search_path TO teachers;

INSERIR

A instrução INSERT é usada para inserir novos registros em uma tabela.

Sintaxe:

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

Exemplo:


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

ATUALIZAÇÃO

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

Sintaxe:

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

Exemplo:

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

EXCLUIR

A instrução DELETE é usada para excluir registros existentes em uma tabela.

Sintaxe:

DELETE FROM table_name WHERE condition;

Exemplo:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

SELECT

A instrução SELECT é usada para selecionar dados de um banco de dados e os dados retornados são armazenados em uma tabela de resultados, chamada de conjunto de resultados .

A seguir estão as duas maneiras de usar esta declaração:

Sintaxe:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Exemplo:

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

Além da palavra-chave SELECT individual, você pode usar a palavra-chave SELECT com as seguintes instruções:

  • DISTINTO
  • ORENDER POR
  • GRUPO POR
  • Cláusula HAVING

A declaração 'SELECT DISTINCT'

A instrução SELECT DISTINCT é usada para retornar apenas valores distintos ou diferentes. Portanto, se você tiver uma tabela com valores duplicados, poderá usar essa instrução para listar valores distintos.

Sintaxe:

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

Exemplo:

SELECT Country FROM TeachersInfo;

A declaração "ORDER BY"

A instrução ORDER BY é usada para classificar os resultados desejados em ordem crescente ou decrescente. Por padrão, os resultados seriam classificados em ordem crescente. Se você deseja classificar os registros em ordem decrescente, deve usar o DESC palavra-chave.

Sintaxe:

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

Exemplo:

 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;

A declaração 'GROUP BY'

Esta instrução é usada com as funções agregadas para agrupar o conjunto de resultados por uma ou mais colunas.

Sintaxe:

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

Exemplo:

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

A declaração da cláusula 'HAVING'

Desde ONDE palavra-chave não pode ser usada com funções agregadas, a cláusula HAVING foi introduzida.

Sintaxe:

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

Exemplo:

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

Operadores aritméticos, bit a bit, compostos e de comparação – Tutorial PostgreSQL

Os operadores aritméticos, bit a bit, compostos e de comparação são os seguintes:

 

OPERADORES LÓGICOS

Este conjunto de operadores consiste em operadores lógicos como AND/OR/NOT.

E OPERADOR

Este operador exibe os registros que atendem a todas as condições separadas por AND.

Sintaxe:

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

Exemplo:

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

OU OPERADOR

Este operador exibe os registros que satisfazem qualquer uma das condições separadas por OU.

Sintaxe:

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

Exemplo:

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

NÃO OPERADOR

O operador NOT exibe um registro quando a(s) condição(ões) NÃO é VERDADEIRA.

Sintaxe:

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

Exemplo:

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

Funções agregadas – Tutorial PostgreSQL

A seção a seguir do artigo incluirá funções como:

  • MIN()
  • MAX()
  • CONTAR()
  • AVG()
  • SOMA()

Função MIN()

A função MIN retorna o menor valor da coluna selecionada em uma tabela.

Sintaxe:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Exemplo:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Função MAX()

A função MAX retorna o maior valor da coluna selecionada em uma tabela.

Sintaxe:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Exemplo:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Função COUNT()

A função COUNT retorna o número de linhas que correspondem aos critérios especificados.

Sintaxe:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Exemplo:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Função AVG()

A função AVG retorna o valor médio de uma coluna numérica que você escolher.

Sintaxe:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Exemplo:

SELECT AVG(Salary)
FROM TeachersInfo;

Função SOMA()

A função SUM retorna a soma total de uma coluna numérica que você escolher.

Sintaxe:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Exemplo:

SELECT SUM(Salary)
FROM TeachersInfo;

Operadores Especiais – Tutorial PostgreSQL

Esta seção do artigo incluirá os seguintes operadores:

  • ENTRE
  • É NULO
  • Gostei
  • EM
  • EXISTE
  • TODOS
  • QUALQUER

Operador BETWEEN

O operador BETWEEN é um operador inclusivo que seleciona valores (números, textos ou datas) dentro de um determinado intervalo.

Sintaxe:

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

Exemplo:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Operador IS NULL

Como não é possível testar valores NULL com os operadores de comparação (=, <,>), podemos usar os operadores IS NULL e IS NOT NULL.

Sintaxe:

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

Exemplo:

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


Operador LIKE

O operador LIKE é usado em uma cláusula WHERE para procurar um padrão especificado em uma coluna de uma tabela.

Os mencionados abaixo são os dois curingas que são usados ​​em conjunto com o operador LIKE:

  • % – O sinal de porcentagem representa zero, um ou vários caracteres

  • _ – O sublinhado representa um único caractere

Sintaxe:

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

Exemplo:


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

Operador IN

O operador IN é um operador abreviado e é usado para várias condições OR.

Sintaxe:

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

Exemplo:

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

OBSERVAÇÃO: Você também pode usar IN ao escrever consultas aninhadas.

Operador EXISTS


O operador EXISTS é usado para testar se um registro existe ou não.

Sintaxe:

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

Exemplo:

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

TODOS os operadores

O operador ALL é usado com uma cláusula WHERE ou HAVING e retorna true se todos os valores da subconsulta atenderem à condição.

Sintaxe:

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

Exemplo:

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

QUALQUER Operador

Semelhante ao operador ALL, o operador ANY também é usado com uma cláusula WHERE ou HAVING e retorna true se algum dos valores da subconsulta atender à condição.

Sintaxe:

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

Exemplo:

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

Definir Operações – Tutorial PostgreSQL

Existem principalmente três operações de conjunto:UNION, INTERSECT, MINUS. Você pode consultar a imagem abaixo para entender as operações de conjunto no SQL. Consulte a imagem abaixo:

UNIÃO

O operador UNION é usado para combinar o conjunto de resultados de duas ou mais instruções SELECT.

Sintaxe

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 demonstração.

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


O comando COMMIT salva todas as transações no banco de dados desde o último comando COMMIT ou ROLLBACK.

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 ” e entrarei em contato com você.