sql >> Base de Datos >  >> RDS >> PostgreSQL

Tutorial de PostgreSQL para principiantes:todo lo que necesita saber sobre PostgreSQL

PostgreSQL es un sistema de base de datos relacional de objetos de código abierto con más de 30 años de desarrollo activo en la industria. En este artículo sobre el Tutorial de PostgreSQL para principiantes, le presentaré los diferentes conceptos de bases de datos y los comandos utilizados en PostgreSQL.

Los temas tratados en este artículo se dividen principalmente en 4 categorías:DDL, DML, DCL y TCL.

  • El DDL (Lenguaje de definición de datos) se utilizan comandos para definir la base de datos. Ejemplo:CREAR, SOLTAR, ALTERAR, TRUNCAR, COMENTAR, RENOMBRAR.
  • El DML (Lenguaje de manipulación de datos) los comandos se ocupan de la manipulación de los datos presentes en la base de datos. Ejemplo:SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR.
  • El DCL (Lenguaje de control de datos) los comandos se ocupan de los permisos, derechos y otros controles del sistema de base de datos. Ejemplo:CONCEDER, INVOCAR.
  • El TCL Los comandos (lenguaje de control de transacciones) se ocupan de la transacción de la base de datos. Ejemplo:BEGIN, COMMIT, ROLLBACK.

Además de los comandos, los siguientes temas se tratarán en este artículo:

  • ¿Qué es PostgreSQL?
  • Instalar PostgreSQL en Windows
  • Diferentes tipos de claves en la base de datos
  • Restricciones utilizadas en la base de datos
  • Operadores
  • Funciones agregadas
  • Establecer operaciones
  • Consultas anidadas
  • Únete
  • Vistas
  • Procedimientos almacenados
  • Disparadores
  • Tipo de datos UUID

¿Qué es PostgreSQL? – Tutorial de PostgreSQL

PostgreSQL es un sistema de base de datos relacional de objetos que amplía y utiliza el lenguaje SQL. Se origina en el año 1986 y ha estado en desarrollo activo durante más de 30 años.

Las características de PostgreSQL son las siguientes:

  1. Tipos de datos: PostgreSQL admite varios tipos de tipos de datos, como primitivos, estructurados, documentos, geometría y personalizaciones. Esto ayuda al usuario a almacenar datos en cualquier formato.
  2. Integridad de los datos: Con la ayuda de varias restricciones y claves en la base de datos, PostgreSQL se asegura de que se satisfaga la integridad de los datos para bases de datos simples a complejas.
  3. Rendimiento: PostgreSQL proporciona funciones como indexación, control de concurrencia de múltiples versiones, complicación JIT de expresiones para garantizar que la concurrencia y el rendimiento se mantengan al día.
  4. Confiabilidad: Con la ayuda de Write Ahead Logging (WAL) y la replicación, PostgreSQL ha demostrado ser uno de los sistemas de bases de datos más confiables durante un período de tiempo.
  5. Seguridad: PostgreSQL proporciona mecanismos poderosos como la autenticación, un sólido sistema de control de acceso para garantizar que solo los usuarios autorizados tengan acceso a las bases de datos.
  6. Extensibilidad: PostgreSQL viene con varias extensiones para proporcionar funcionalidades adicionales. También ha ampliado sus características de extensibilidad con funciones almacenadas, lenguaje de procedimientos y envoltorios de datos externos.

Ahora que sabe qué es PostgreSQL, comencemos instalando PostgreSQL en Windows.

Instalar PostgreSQL en Windows – Tutorial de PostgreSQL

Para instalar PostgreSQL en Windows, debe seguir los siguientes pasos:

Paso 1: Vaya al sitio web oficial de PostgreSQL y luego elija el sistema operativo para el que desea descargar. Aquí elegiré Windows.

Paso 2: Una vez elegido el sistema operativo, será redirigido a una página, donde deberá descargar el instalador. Para ello haga clic en la opción:Descargar el instalador. Consulte a continuación.

Paso 3: Luego, será redirigido a una página donde deberá elegir la versión del instalador según el sistema operativo. . Aquí, elegiré la versión 11.4 para Windows de 64 bits. Consulte a continuación.

Una vez, presionas Descargar , verá automáticamente que se está descargando PostgreSQL.

Paso 4: Ahora, una vez que se haya descargado el archivo, haga doble clic en el archivo para abrirlo y aparecerá un asistente en su pantalla como se muestra a continuación. Haga clic en Siguiente y continuar.

Paso 4.1: Ahora, especifique el directorio de instalación . Aquí, lo dejaré como está y haré clic en Siguiente como se muestra a continuación.

Paso 4.2: Ahora, elija los componentes que desea instalar y luego haga clic en Siguiente . Aquí, estoy seleccionando todos los componentes.

Paso 4.3: A continuación, seleccione el directorio donde desea almacenar los datos . Aquí lo voy a dejar como está. Luego, haga clic en Siguiente.

Paso 4.4: En el siguiente cuadro de diálogo que aparece, debe mencionar la contraseña del superusuario. Luego, haga clic en Siguiente.

Paso 4.5: A continuación, debe seleccionar el número de puerto en qué servidor debe escuchar. Aquí, lo dejaré como está y luego haré clic en Siguiente.

Paso 4.6: Finalmente, seleccione la configuración regional que utilizará el nuevo clúster de base de datos. Lo dejaré como está y luego haré clic en Siguiente .

Paso 4.7: Finalmente haga clic en Siguiente en los asistentes que vienen para comenzar la instalación de PostgreSQL en su computadora.

Una vez que la instalación esté completa, verá un cuadro de diálogo como el que se muestra a continuación en su pantalla. Haga clic en Finalizar.

Paso 5: Ahora, tienes que conectar el servidor a una base de datos . Para hacerlo, abra pgadmin, que es la GUI oficial de PostgreSQL. . Una vez que abra pgadmin, verá un cuadro de diálogo que le pedirá la contraseña. Por lo tanto, mencione la contraseña y haga clic en Aceptar.

Ahora que debe haber instalado PostgreSQL, comencemos con los comandos utilizados en PostgreSQL.

En este artículo sobre el tutorial de PostgreSQL para principiantes, voy a considerar la siguiente base de datos como ejemplo, para mostrarle cómo escribir comandos.

ID del profesor Nombre del profesor Dirección Ciudad Código postal País Salario
01 Saurav Calle Gangnam Seúl 06499 Corea del Sur 42000
02 Preeti Muelle Queens Río Claro 560001 Brasil 45900
03 Vinod Camino de Reyes Londres SW6 Reino Unido 65000
04 Akanksha Carretera Mayo Calcuta 700069 India 23000
05 Amit Carretera MG Bengalore 560001 India 30000

Entonces, ¡comencemos ahora!

Comandos de definición de datos (DDL) – Tutorial de PostgreSQL

Esta sección del artículo consta de esos comandos, que puede definir su base de datos. Los comandos son:

  • CREAR
  • ALTERAR
  • SOLTAR
  • TRUNCADO
  • CAMBIAR NOMBRE

CREAR

Esta declaración se usa para crear un esquema, tablas o un índice.

La declaración 'CREATE SCHEMA'

La declaración CREATE SCHEMA se usa para crear una base de datos o más comúnmente conocida como esquema.

Sintaxis:

CREATE SCHEMA Schema_Name; 

Ejemplo:

CREATE SCHEMA teachers;

La declaración 'CREATE TABLE'

La declaración CREATE TABLE se usa para crear una nueva tabla en una base de datos.

Sintaxis:

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

Ejemplo:


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

ALTERAR

Esta declaración se usa para agregar, modificar o eliminar restricciones o columnas.

La declaración 'ALTER TABLE'

La declaración ALTER TABLE se usa para agregar, modificar o eliminar restricciones y columnas de una tabla.

Sintaxis:

ALTER TABLE table_name
ADD column_name datatype;

Ejemplo:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

SOLTAR

Este comando se utiliza para eliminar la base de datos, tablas o columnas.

La declaración 'DROP SCHEMA'

La instrucción DROP SCHEMA se usa para descartar el esquema completo.

Sintaxis:

DROP SCHEMA schema_name;

Ejemplo:

DROP SCHEMA teachers;

La declaración 'DROP TABLE'

La declaración DROP TABLE se usa para eliminar toda la tabla con todos sus valores.

Sintaxis:

DROP TABLE table_name;

Ejemplo:

DROP TABLE TeachersInfo;

TRUNCADO

La declaración TRUNCATE se usa para eliminar los datos que están presentes dentro de una tabla, pero la tabla no se elimina.

Sintaxis:

TRUNCATE TABLE table_name;

Ejemplo:

TRUNCATE TABLE TeachersInfo;

RENOMBRAR

La instrucción RENAME se usa para cambiar el nombre de una o más tablas o columnas.

Sintaxis:

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

Ejemplo:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Ahora, antes de seguir adelante en este artículo sobre el tutorial de PostgreSQL para principiantes, permítame decirle los diversos tipos de claves y restricciones que debe mencionar al manipular las bases de datos. Las claves y restricciones te ayudarán a crear tablas de una manera mucho mejor, ya que puedes relacionar cada tabla con la otra tabla.

Diferentes tipos de claves en la base de datos: Tutorial de PostgreSQL

Existen principalmente 5 tipos de Claves, que se pueden mencionar en la base de datos.

  • Clave de candidato: Una clave candidata es una combinación de un conjunto mínimo de atributos que pueden identificar de forma única una tupla. Cualquier relación puede tener más de una sola clave candidata, siendo la clave una clave simple o compuesta.
  • Supertecla – Una Super Clave es el conjunto de atributos que pueden identificar de forma única una tupla. Entonces, una clave candidata es una súper clave, pero viceversa no es cierto.
  • Clave principal: Una clave principal es un conjunto de atributos que se pueden usar para identificar de forma única cada tupla. Por lo tanto, si hay 3 o 4 claves candidatas presentes en una relación, de entre ellas, se puede elegir una como clave principal.
  • Clave alternativa: Todas las claves candidatas que no sean la clave principal se llaman como clave alternativa.
  • Clave foránea – Un atributo que solo puede tomar los valores presentes como los valores de algún otro atributo, es la clave externa del atributo al que se refiere.

Restricciones utilizadas en la base de datos: Tutorial de PostgreSQL

Las restricciones que puede usar en las bases de datos son las siguientes:

  • NO NULO – La restricción NOT NULL asegura que un valor NULL no se puede almacenar en una columna
  • ÚNICO – La restricción ÚNICA asegura que todos los valores en una columna sean diferentes
  • COMPROBAR -La restricción CHECK asegura que todos los valores en una columna satisfagan una condición específica.
  • POR DEFECTO -La restricción DEFAULT consta de un conjunto de valores predeterminados para una columna cuando no se especifica ningún valor.
  • ÍNDICE – La restricción INDEX se usa para crear y recuperar datos de la base de datos muy rápidamente

Ahora que conoce los comandos en DDL y los diversos tipos de claves y restricciones, pasemos a la siguiente sección, es decir, Comandos de manipulación de datos.

Comandos de manipulación de datos (DML) – Tutorial de PostgreSQL

Esta sección del artículo consta de los comandos mediante los cuales puede manipular su base de datos. Los comandos son:

  • ESTABLECER RUTA_DE_BÚSQUEDA
  • INSERTAR
  • ACTUALIZAR
  • ELIMINAR
  • SELECCIONAR

Además de estos comandos, también hay otros operadores/funciones de manipulación como:

  • Operadores aritméticos, bit a bit, compuestos y de comparación
  • Operadores lógicos
  • Funciones agregadas
  • Operadores especiales
  • Configurar operaciones
  • Límite, Compensación y Recuperación

ESTABLECER RUTA_DE_BÚSQUEDA

Esta declaración se usa para mencionar qué esquema debe usarse para realizar todas las operaciones.

Sintaxis:

SET search_path TO schema_name;

Ejemplo:

SET search_path TO teachers;

INSERTAR

La declaración INSERT se usa para insertar nuevos registros en una tabla.

Sintaxis:

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

Ejemplo:


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

ACTUALIZAR

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

Sintaxis:

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

Ejemplo:

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

ELIMINAR

La declaración DELETE se usa para eliminar registros existentes en una tabla.

Sintaxis:

DELETE FROM table_name WHERE condition;

Ejemplo:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

SELECCIONAR

La declaración SELECT se usa para seleccionar datos de una base de datos y los datos devueltos se almacenan en una tabla de resultados, llamada conjunto de resultados .

Las siguientes son las dos formas de usar esta declaración:

Sintaxis:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Ejemplo:

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

Además de la palabra clave individual SELECT, puede usar la palabra clave SELECT con las siguientes declaraciones:

  • DISTINTO
  • ORDENAR POR
  • AGRUPAR POR
  • Cláusula HAVING

La declaración 'SELECT DISTINCT'

La declaración SELECT DISTINCT se usa para devolver solo valores distintos o diferentes. Entonces, si tiene una tabla con valores duplicados, puede usar esta declaración para enumerar valores distintos.

Sintaxis:

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

Ejemplo:

SELECT Country FROM TeachersInfo;

La declaración 'ORDENAR POR'

La declaración ORDER BY se usa para clasificar los resultados deseados en orden ascendente o descendente. De forma predeterminada, los resultados se ordenarán en orden ascendente. Si desea ordenar los registros en orden descendente, debe usar el DESC palabra clave.

Sintaxis:

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

Ejemplo:

 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;

La declaración 'GROUP BY'

Esta declaración se usa con las funciones agregadas para agrupar el conjunto de resultados por una o más columnas.

Sintaxis:

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

Ejemplo:

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

La declaración de la cláusula 'HAVING'

Desde el DÓNDE La palabra clave no se puede usar con funciones agregadas, se introdujo la cláusula HAVING.

Sintaxis:

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

Ejemplo:

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

Operadores aritméticos, bit a bit, compuestos y de comparación: Tutorial de PostgreSQL

Los operadores aritméticos, bit a bit, compuestos y de comparación son los siguientes:

 

OPERADORES LÓGICOS

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

Y OPERADOR

Este operador muestra los registros que cumplen todas las condiciones separados por AND.

Sintaxis:

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

Ejemplo:

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

O OPERADOR

Este operador muestra aquellos registros que cumplen cualquiera de las condiciones separadas por OR.

Sintaxis:

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

Ejemplo:

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

NO OPERADOR

El operador NOT muestra un registro cuando la(s) condición(es) NO ES VERDADERA.

Sintaxis:

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

Ejemplo:

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

Funciones agregadas: Tutorial de PostgreSQL

La siguiente sección del artículo incluirá funciones como:

  • MIN()
  • MAX()
  • CONTAR()
  • PROMEDIO()
  • SUMA()

Función MIN()

La función MIN devuelve el valor más pequeño de la columna seleccionada en una tabla.

Sintaxis:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Ejemplo:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

Función MAX()

La función MAX devuelve el mayor valor de la columna seleccionada en una tabla.

Sintaxis:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Ejemplo:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

Función CONTAR()

La función COUNT devuelve el número de filas que coinciden con los criterios especificados.

Sintaxis:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Ejemplo:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

Función AVG()

La función AVG devuelve el valor promedio de una columna numérica que elija.

Sintaxis:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Ejemplo:

SELECT AVG(Salary)
FROM TeachersInfo;

Función SUMA()

La función SUMA devuelve la suma total de una columna numérica que elijas.

Sintaxis:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Ejemplo:

SELECT SUM(Salary)
FROM TeachersInfo;

Operadores especiales – Tutorial de PostgreSQL

Esta sección del artículo incluirá los siguientes operadores:

  • ENTRE
  • ES NULO
  • ME GUSTA
  • EN
  • EXISTE
  • TODO
  • CUALQUIERA

Operador ENTRE

El operador BETWEEN es un operador inclusivo que selecciona valores (números, textos o fechas) dentro de un rango determinado.

Sintaxis:

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

Ejemplo:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

Operador ES NULO

Dado que no es posible probar valores NULL con los operadores de comparación (=, <,>), podemos usar los operadores IS NULL y IS NOT NULL en su lugar.

Sintaxis:

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

Ejemplo:

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

Operador LIKE

El operador LIKE se usa en una cláusula WHERE para buscar un patrón específico en una columna de una tabla.

Los que se mencionan a continuación son los dos comodines que se usan junto con el operador LIKE:

  • %:el signo de porcentaje representa cero, uno o varios caracteres

  • _ – El guión bajo representa un solo carácter

Sintaxis:

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

Ejemplo:


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

Operador IN

El operador IN es un operador abreviado y se utiliza para varias condiciones OR.

Sintaxis:

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

Ejemplo:

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

NOTA: También puede usar IN mientras escribe consultas anidadas.

EXISTE Operador

El operador EXISTS se utiliza para comprobar si existe o no un registro.

Sintaxis:

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

Ejemplo:

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

TODOS los operadores

El operador ALL se usa con una cláusula WHERE o HAVING y devuelve verdadero si todos los valores de la subconsulta cumplen la condición.

Sintaxis:

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

Ejemplo:

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

CUALQUIER Operador

Al igual que el operador ALL, el operador ANY también se usa con una cláusula WHERE o HAVING y devuelve verdadero si alguno de los valores de la subconsulta cumple la condición.

Sintaxis:

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

Ejemplo:

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

Establecer operaciones: Tutorial de PostgreSQL

Hay principalmente tres operaciones de conjuntos: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 declaración.

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 ” y me pondré en contacto con usted.