sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL-handledning för nybörjare – Allt du behöver veta om PostgreSQL

PostgreSQL är ett objektrelationellt databassystem med öppen källkod med mer än 30 år av aktiv utveckling i branschen. I den här artikeln om PostgreSQL-handledning för nybörjare kommer jag att introducera dig till de olika koncepten för databaser och de kommandon som används i PostgreSQL.

Ämnen som tas upp i den här artikeln är huvudsakligen indelade i fyra kategorier:DDL, DML, DCL och TCL.

  • DDL (Data Definition Language) kommandon används för att definiera databasen. Exempel:CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.
  • DML (Data Manipulation Language) kommandon hanterar manipulering av data som finns i databasen. Exempel:SELECT, INSERT, UPDATE, DELETE.
  • DCL (Data Control Language) kommandon handlar om behörigheter, rättigheter och andra kontroller för databassystemet. Exempel:GRANT, INVOKE.
  • TCL (Transaction Control Language) kommandon hanterar transaktionen i databasen.Exempel:BEGIN, COMMIT, ROLLBACK.

Förutom kommandona kommer följande ämnen att behandlas i den här artikeln:

  • Vad är PostgreSQL?
  • Installera PostgreSQL på Windows
  • Olika typer av nycklar i databasen
  • Begränsningar som används i databasen
  • Operatorer
  • Aggregerade funktioner
  • Ställ in operationer
  • Kästade frågor
  • Gå med
  • Visningar
  • Lagrade procedurer
  • Utlösare
  • UUID-datatyp

Vad är PostgreSQL? – PostgreSQL självstudie

PostgreSQL är ett objektrelationellt databassystem som utökar och använder SQL-språket. Den har sitt ursprung i år 1986 och har varit i aktiv utveckling i mer än 30 år.

Funktioner i PostgreSQL är följande:

  1. Datatyper: PostgreSQL stöder olika typer av datatyper som primitiva, strukturerade, dokument, geometri och anpassningar. Detta hjälper användaren att lagra data i alla format.
  2. Dataintegritet: Med hjälp av olika begränsningar och nycklar i databasen ser PostgreSQL till att dataintegriteten är uppfylld för enkla till komplexa databaser.
  3. Prestanda: PostgreSQL tillhandahåller funktioner som indexering, samtidighetskontroll i flera versioner, JIT-komplikation av uttryck för att säkerställa att samtidigheten och prestandan hålls uppdaterad.
  4. Tillförlitlighet: Med hjälp av Write Ahead Logging (WAL) och replikering har PostgreSQL visat sig vara ett av de mest pålitliga databassystemen över en tidsperiod.
  5. Säkerhet: PostgreSQL tillhandahåller kraftfulla mekanismer som autentisering, ett robust åtkomstkontrollsystem för att säkerställa att endast auktoriserade användare har tillgång till databaserna.
  6. Utökbarhet: PostgreSQL kommer med olika tillägg för att ge ytterligare funktioner. Den har också skalat sina utökningsfunktioner med lagrade funktioner, procedurspråk och främmande dataomslag.

Nu när du vet vad PostgreSQL är, låt oss börja med att installera PostgreSQL på Windows.

Installera PostgreSQL på Windows – PostgreSQL självstudie

För att installera PostgreSQL på Windows måste du följa stegen nedan:

Steg 1: Gå till denofficiella webbplatsen för PostgreSQL och välj sedan det operativsystem som du vill ladda ner. Här väljer jag Windows.

Steg 2: När operativsystemet är valt kommer du att omdirigeras till en sida där du måste ladda ner installationsprogrammet. För att göra det klicka på alternativet:Ladda ner installationsprogrammet. Se nedan.

Steg 3: Sedan omdirigeras du vidare till en sida där du måste välja installationsversionen baserat på operativsystemet . Här kommer jag att välja 11.4 version för Windows 64 bit. Se nedan.

En gång tryckte du på Ladda ner , kommer du automatiskt att se att PostgreSQL laddas ner.

Steg 4: Nu, när filen har laddats ner, dubbelklicka på filen för att öppna den och en guide visas på skärmen enligt nedan. Klicka på Nästa och gå vidare.

Steg 4.1: Ange nu installationskatalogen . Här lämnar jag det som det är och klickar påNästa enligt nedan.

Steg 4.2: Välj nu de komponenter som du vill installera och klicka sedan på Nästa . Här väljer jag alla komponenter.

Steg 4.3: Därefter välj den katalog där du vill lagra data . Här ska jag lämna det som det är. Klicka sedan på Nästa.

Steg 4.4: I nästa dialogruta, som kommer, måste du nämna lösenordet för superanvändaren. Klicka sedan på Nästa.

Steg 4.5: Därefter måste du välja portnumret på vilken server som ska lyssna. Här låter jag det vara som det är och klickar sedan på Nästa.

Steg 4.6: Slutligen välj språket ska användas av det nya databasklustret. Jag låter det vara som det är och klickar sedan på Nästa .

Steg 4.7: Klicka slutligen på Nästa i guiderna som kommer för att påbörja installationen av PostgreSQL på din dator.

När installationen är klar kommer du att se en dialogruta enligt nedan på din skärm. Klicka på Slutför.

Steg 5: Nu måste du ansluta servern till en databas . För att göra det öppna pgadmin som är det officiella gränssnittet för PostgreSQL . När du öppnar pgadmin kommer du att se en dialogruta som ber dig om lösenordet. Så nämn lösenordet och klicka på OK.

Nu, när du måste ha installerat PostgreSQL, låt oss komma igång med kommandon som används i PostgreSQL.

I den här artikeln om PostgreSQL-handledning för nybörjare kommer jag att överväga databasen nedan som ett exempel, för att visa dig hur man skriver kommandon.

Lärar-ID Lärarnamn Adress Stad Postkod Land Lön
01 Saurav Gangnam Street Seoul 06499 Sydkorea 42000
02 Preeti Queens Quay Rio Claro 560001 Brasilien 45900
03 Vinod Kungsvägen London SW6 Storbritannien 65 000
04 Akanksha Mayo Road Kolkata 700069 Indien 23000
05 Amit MG Road Bengaluru 560001 Indien 30000

Så, låt oss komma igång nu!

Datadefinitionskommandon (DDL) – PostgreSQL självstudie

Det här avsnittet av artikeln består av de kommandon som du kan definiera din databas. Kommandona är:

  • SKAPA
  • ÄNDRA
  • SLÄPP
  • TRUNCATE
  • BYT NAMN

SKAPA

Detta uttalande används för att antingen skapa ett schema, tabeller eller ett index.

Skapa schema

CREATE SCHEMA-satsen används för att skapa en databas eller oftast känd som ett schema.

Syntax:

CREATE SCHEMA Schema_Name; 

Exempel:

CREATE SCHEMA teachers;

Skapa tabell

CREATE TABLE-satsen används för att skapa en ny tabell i en databas.

Syntax:

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

Exempel:


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

ÄNDRA

Detta uttalande används för att lägga till, ändra eller ta bort begränsningar eller kolumner.

”ÄNDRINGSTABELL” uttalande

ALTER TABLE-satsen används för att antingen lägga till, ändra eller ta bort begränsningar och kolumner från en tabell.

Syntax:

ALTER TABLE table_name
ADD column_name datatype;

Exempel:

ALTER TABLE TeachersInfo
ADD DateOfBirth date;

SLÄPP

Detta kommando används för att ta bort databasen, tabellerna eller kolumnerna.

'DROP SCHEMA'-utlåtandet

DROP SCHEMA-satsen används för att ta bort hela schemat.

Syntax:

DROP SCHEMA schema_name;

Exempel:

DROP SCHEMA teachers;

Släpptabellen

Satsningen DROP TABLE används för att ta bort hela tabellen med alla dess värden.

Syntax:

DROP TABLE table_name;

Exempel:

DROP TABLE TeachersInfo;

TRUNCATE

TRUNCATE-satsen används för att radera data som finns i en tabell, men tabellen raderas inte.

Syntax:

TRUNCATE TABLE table_name;

Exempel:

TRUNCATE TABLE TeachersInfo;

BYT NAMN

RENAME-satsen används för att byta namn på en eller flera tabeller eller kolumner.

Syntax:

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

Exempel:

ALTER TABLE TeachersInfo RENAME TO InfoTeachers;

ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob;

Nu, innan jag går vidare i den här artikeln om PostgreSQL-handledning för nybörjare, låt mig berätta för dig de olika typerna av nycklar och begränsningar som du behöver nämna när du manipulerar databaserna. Nycklarna och begränsningarna hjälper dig att skapa tabeller på ett mycket bättre sätt, eftersom du kan relatera varje tabell med den andra tabellen.

Olika typer av nycklar i databasen – PostgreSQL självstudie

Det finns huvudsakligen 5 typer av nycklar som kan nämnas i databasen.

  • Kandidatnyckel – En kandidatnyckel är en kombination av en minimal uppsättning attribut som unikt kan identifiera en tupel. Varje relation kan ha mer än en enda kandidatnyckel, där nyckeln är en enkel eller en sammansatt nyckel.
  • Supernyckel – En supernyckel är den uppsättning attribut som unikt kan identifiera en tuppel. Så en kandidatnyckel är en supernyckel, men vice versa är inte sant.
  • Primärnyckel – En primärnyckel är en uppsättning attribut som kan användas för att unikt identifiera varje tupel. Så om det finns 3-4 kandidatnycklar i ett förhållande, då kan en väljas som en primärnyckel.
  • Alternativ nyckel – Alla kandidatnycklar förutom den primära nyckeln kallas som en alternativ nyckel.
  • Främmande nyckel – Ett attribut som bara kan ta värdena som finns som värden för något annat attribut, är den främmande nyckeln till det attribut som det refererar till.

Begränsningar som används i databasen – PostgreSQL självstudie

Begränsningarna som du kan använda i databaser är följande:

  • INTE NULL – NOT NULL-begränsningen säkerställer att ett NULL-värde inte kan lagras i en kolumn
  • UNIKT – Den UNIKA begränsningen ser till att alla värden i en kolumn är olika
  • KONTROLLERA - CHECK-begränsningen säkerställer att alla värden i en kolumn uppfyller ett specifikt villkor.
  • STANDARD -DEFAULT-begränsningen består av en uppsättning standardvärden för en kolumn när inget värde anges.
  • INDEX – INDEX-begränsningen används för att skapa och hämta data från databasen mycket snabbt

Nu när du känner till kommandona i DDL och de olika typerna av nycklar och begränsningar, låt oss gå vidare till nästa avsnitt, dvs. kommandon för datamanipulation.

Data Manipulation (DML) Kommandon – PostgreSQL självstudie

Det här avsnittet av artikeln består av kommandon som du kan använda för att manipulera din databas. Kommandona är:

  • STÄLL IN SEARCH_PATH
  • INSERT
  • UPPDATERA
  • RADERA
  • VÄLJ

Förutom dessa kommandon finns det även andra manipulativa operatorer/funktioner som:

  • Aritmetiska, bitvisa, sammansatta och jämförelseoperatorer
  • Logiska operatörer
  • Aggregerade funktioner
  • Specialoperatörer
  • Ställ in operationer
  • Begränsa, förskjuta och hämta

STÄLL IN SEARCH_PATH

Detta uttalande används för att nämna vilket schema som måste användas för att utföra alla operationer.

Syntax:

SET search_path TO schema_name;

Exempel:

SET search_path TO teachers;

INSERT

INSERT-satsen används för att infoga nya poster i en tabell.

Syntax:

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

Exempel:


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

UPPDATERA

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

Syntax:

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

Exempel:

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

RADERA

DELETE-satsen används för att ta bort befintliga poster i en tabell.

Syntax:

DELETE FROM table_name WHERE condition;

Exempel:


DELETE FROM TeachersInfo WHERE TeacherName='Vinod';

VÄLJ

SELECT-satsen används för att välja data från en databas och den data som returneras lagras i en resultattabell som kallas resultatuppsättningen .

Följande är de två sätten att använda detta uttalande:

Syntax:

SELECT column1, column2, ...
FROM table_name;

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

SELECT * FROM table_name;

Exempel:

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

Förutom det individuella SELECT-nyckelordet kan du använda SELECT-nyckelordet med följande påståenden:

  • DISTINKT
  • BESTÄLL AV
  • GRUPPER EFTER
  • HA Klausul

"SELECT DISTINCT"-utlåtandet

Settan SELECT DISTINCT används för att endast returnera distinkta eller olika värden. Så om du har en tabell med dubbletter av värden kan du använda den här satsen för att lista distinkta värden.

Syntax:

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

Exempel:

SELECT Country FROM TeachersInfo;

Order BY-meddelandet

Order BY-satsen används för att sortera de önskade resultaten i stigande eller fallande ordning. Som standard skulle resultaten sorteras i stigande ordning. Om du vill sortera posterna i fallande ordning måste du använda DESC nyckelord.

Syntax:

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

Exempel:

 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;

Uttalandet "GROUP BY"

Detta uttalande används med aggregatfunktionerna för att gruppera resultatuppsättningen efter en eller flera kolumner.

Syntax:

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

Exempel:

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

Uttalandet om "HA"-klausulen

Sedan VAR nyckelordet kan inte användas med aggregerade funktioner, HAVING-satsen introducerades.

Syntax:

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

Exempel:

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

Aritmetiska, bitvisa, sammansatta och jämförelseoperatorer – PostgreSQL självstudie

De aritmetiska, bitvisa, sammansatta och jämförelseoperatorerna är som följer:

 

LOGISKA OPERATÖRER

Denna uppsättning operatorer består av logiska operatorer som AND/OR/NOT.

OCH OPERATÖR

Den här operatorn visar posterna som uppfyller alla villkor separerade med OCH.

Syntax:

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

Exempel:

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

ELLER OPERATÖR

Den här operatorn visar de poster som uppfyller något av villkoren åtskilda av ELLER.

Syntax:

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

Exempel:

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

INTE OPERATÖR

NOT-operatorn visar en post när villkoret/villkoren INTE är SANT.

Syntax:

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

Exempel:

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

Aggregerade funktioner – PostgreSQL självstudie

Följande avsnitt av artikeln kommer att innehålla funktioner som:

  • MIN()
  • MAX()
  • COUNT()
  • AVG()
  • SUM()

MIN()-funktion

MIN-funktionen returnerar det minsta värdet av den valda kolumnen i en tabell.

Syntax:

SELECT MIN(column_name)
FROM table_name
WHERE condition;

Exempel:


SELECT MIN(Salary) AS SmallestSalary
FROM TeachersInfo;

MAX()-funktion

funktionen MAX returnerar det största värdet av den valda kolumnen i en tabell.

Syntax:

SELECT MAX (column_name)
FROM table_name
WHERE condition;

Exempel:

SELECT MAX(Salary) AS LargestSalary
FROM TeachersInfo;

COUNT()-funktion

funktionen COUNT returnerar antalet rader som matchar de angivna kriterierna.

Syntax:

SELECT COUNT (column_name)
FROM table_name
WHERE condition;

Exempel:

SELECT COUNT(TeacherID)
FROM TeachersInfo;

AVG()-funktion

AVG-funktionen returnerar medelvärdet för en numerisk kolumn som du väljer.

Syntax:

SELECT AVG (column_name)
FROM table_name
WHERE condition;

Exempel:

SELECT AVG(Salary)
FROM TeachersInfo;

SUM()-funktion

SUM-funktionen returnerar den totala summan av en numerisk kolumn som du väljer.

Syntax:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

Exempel:

SELECT SUM(Salary)
FROM TeachersInfo;

Specialoperatörer – PostgreSQL självstudie

Det här avsnittet av artikeln kommer att innehålla följande operatorer:

  • MELLAN
  • ÄR NULL
  • GILLA
  • IN
  • FINNS
  • ALLA
  • NÅGON

MELLAN operatör

operatorn BETWEEN är en inkluderande operator som väljer värden (tal, texter eller datum) inom ett givet intervall.

Syntax:

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

Exempel:

SELECT * FROM TeachersInfo
WHERE Fees BETWEEN 30000 AND 45000;

ÄR NULL-operatör

Eftersom det inte är möjligt att testa för NULL-värden med jämförelseoperatorerna(=, <,>), kan vi istället använda IS NULL och IS NOT NULL.

Syntax:

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

Exempel:

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

LIKE-operatör

LIKE-operatorn används i en WHERE-sats för att söka efter ett specificerat mönster i en kolumn i en tabell.

De som nämns nedan är de två jokertecken som används tillsammans med LIKE-operatorn:

  • % – Procenttecknet representerar noll, ett eller flera tecken

  • _ – Understrecket representerar ett enda tecken

Syntax:

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

Exempel:


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

IN-operatör

IN-operatorn är en stenografioperator och används för flera ELLER-villkor.

Syntax:

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

Exempel:

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

OBS: Du kan också använda IN när du skriver kapslade frågor.

FINNS operatör

Operatören EXISTS används för att testa om en post finns eller inte.

Syntax:

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

Exempel:

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

ALLA operatörer

All-operatorn används med en WHERE- eller HAVING-sats och returnerar true om alla underfrågans värden uppfyller villkoret.

Syntax:

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

Exempel:

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

NÅGON operatör

I likhet med ALL-operatorn används ANY-operatorn också med en WHERE- eller HAVING-sats och returnerar true om något av underfrågans värden uppfyller villkoret.

Syntax:

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

Exempel:

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

Ställ in operationer – PostgreSQL självstudie

Det finns huvudsakligen tre uppsättningsoperationer:UNION, INTERSECT, MINUS. Du kan referera till bilden nedan för att förstå setoperationerna i SQL. Se bilden nedan:

UNION

operatorn UNION används för att kombinera resultatuppsättningen av två eller flera SELECT-satser.

Syntax

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

SKÄRSA

INTERSECT-satsen används för att kombinera två SELECT-satser och returnera skärningspunkten mellan datamängderna för båda SELECT-satserna.

Syntax

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

INTERSECT

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

UTOM

operatorn EXCEPT returnerar de tupler som returneras av den första SELECT-operationen och inte returneras av den andra SELECT-operationen.

Syntax

SELECT  column_name
FROM  table_name;

EXCEPT

SELECT column_name
FROM table_name;

Begränsa, förskjuta och hämta – PostgreSQL självstudie

LIMIT

LIMIT-satsen används för att hämta en del av raderna från de kompletta raderna i tabellen.

Syntax:

SELECT column_name
FROM table_name LIMIT number;

Exempel:


SELECT * FROM TeachersInfo LIMIT 5;

OFFSET

Offset-satsen utelämnar antalet rader du nämner och hämtar sedan resten av raderna.

Syntax:

VÄLJ kolumnnamn

FROM table_name OFFSET number LIMIT number;

Exempel:


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

HÄMTA

Nyckelordet FETCH används för att hämta poster från en tabell med hjälp av en markör. Här kommer markörerna att vara följande:

  • NÄSTA
  • FÖREGÅENDE
  • FÖRST
  • SISTA
  • RELATIVT antal
  • ABSOLUTA räkning
  • Räkna
  • 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

Inkapslade frågor är de frågor som har en yttre fråga och en inre underfråga. Så i grund och botten är underfrågan en fråga som är kapslad i en annan fråga som SELECT, INSERT, UPDATE eller DELETE. Se bilden nedan:

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 påstående.

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. Kommandona är:

  • 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
Exempel:
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;
Exempel:
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 ” så återkommer jag till dig.


  1. KONTROLLERA begränsningar i SQL Server

  2. Hur installerar man libpq-fe.h?

  3. Oracle SQL PIVOT-tabell

  4. Hur man infogar en C#-lista i databasen med Dapper.NET