SQL (PostgreSQL): SELECT, INSERT, UPDATE, DELETE

Mi az SQL?


Strukturált lekérdezési nyelv, ami angol nyelvi formulákkal működik és relációs adatbázisok lekérdezésére használatos és angol nyelvi elemeket, szabályokat használ:

Példa struktúra lekérdezésre:

SELECT adatok WHERE feltételek igazak

Az SQL nem algoritmikus nyelv, nem tartalmaz algoritmus szerkezeteket (elágazás, ciklus stb.). Az SQL halmaz orientált nyelv, mely a relációkon dolgozik.

A nyelv szintaxisának néhány alapszabálya (Katona E. 2013.):

  • kisbetű és nagybetű egyenértékű
  • utasítások ; -vel zárulnak
  • változók nincsenek, csak tábla- és oszlopnevekre lehet hivatkozni tábla.oszlop formában
  • szöveg konstansokat aposztrófok (‘) közé helyezzük, pl. ’Tananyag’
  • szöveges elemek + vagy || szimbólumokkal fűzhetők össze
  • elérhető relációjelek és logikai műveletek: =, <=, >=, !=, <, >, <> valamint AND, OR, NOT,
    melyek eredménye TRUE, FALSE vagy NULL érték lehet
  • néhány speciális logikai kifejezés: x IS NULL, x BETWEEN a AND b, x IN halmaz, x relációjel IN
    halmaz, x relációjel ANY halmaz, EXIST halmaz, x LIKE minta. Utóbbi esetben a “%” és “_” jel

    a mintában tetszőleges karaktersorozatot, illetve karaktert helyettesít.

A reláció (tábla) név és általában a nevek megadására a következő szabályok érvényesek:

  • a névben csak az angol ABC betűi, a számjegyek és az _, #, $ karakterek szerepelhetnek
  • a névnek betűvel kell kezdődnie
  • a neveknek hatáskörükön belül egyedinek kell lennie (például nem lehet egy adatbázisban
  • két azonos nevű reláció, egy relációban két azonos nevű attribútum, stb.)


Az SQL nyelvi elemek 4 része:

  • lekérdező (QUERY( Language - QL))
  • adatdefiníciós (Data Definition Language, DDL)
  • adatkezelési (Data Manipulation Language, DML)
  • adatvezérlő (Data Control Language, DCL)

A nyelvben az utasításokat a pontosvessző választja el egymástól.



Lekérdező nyelv (QL)

SELECT, ... FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, ....

SELECT species, township, collector FROM danubefish;

SELECT * FROM danubefish;

SELECT species, township, collector FROM danubefish WHERE township ILIKE '%ű%'

SELECT species, township, collector FROM danubefish WHERE township ILIKE '%ű%' ORDER BY township;

SELECT species, township, collector FROM danubefish WHERE township ILIKE '%ű%' ORDER BY township DESC;
SELECT species, 'Budapset' as township, collector FROM danubefish WHERE township ILIKE '%ű%' ORDER BY township DESC;

SELECT 'abc 123';

SELECT COUNT(species) c, township
FROM danubefish
GROUP BY township
ORDER BY c;

SELECT COUNT(species) c, township
FROM danubefish
GROUP BY township
HAVING COUNT(*) > 100
ORDER BY c;

SELECT v.szemelyiseg,
(SELECT SUM(visszalatasok) FROM megfigyelesek m WHERE m.gyuruszam = v.gyuruszam) osszes_visszalatas
FROM viselkedesek v


Adatkezelési nyelv (DML)

INSERT, UPDATE, DELETE


INSERT INTO table (id,"a","b","c") ('asdas','fdgdf',123);
UPDATE table SET "a"='ewrew' WHERE "id"=1;
DELETE FROM table WHERE id=1;


Ajánlott irodalom

https://www.postgresqltutorial.com/

https://www.postgresql.org/docs/8.0/tutorial-select.html

https://www.postgresql.org/docs/8.0/tutorial-populate.html

Последнее изменение: Monday, 27 March 2023, 14:15