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