Jazyk SQL (Structured Query Language)

Jazyk SQL bol vytvorený za účelom práce s údajmi v databázach. Môžeme ho rozdeliť do následujúcich troch skupín:


Data Definition Language DDL
Pomocou týchto príkazov môžeme definovať, vytvárať, meniť a rušiť rôzne databázové štruktúry, akými sú napr. databázové tabuľky, indexy, triggery, uložené procedúry ...
CREATE DATABASE CREATE VIEW DROP SEQUENCE
CREATE TABLE ALTER VIEW CREATE PROCEDURE
ALTER TABLE DROP VIEW DROP PROCEDURE
DROP TABLE DROP INDEX CREATE TRIGGER
CREATE INDEX CREATE SEQUENCE DROP TRIGGER
DROP INDEX ALTER SEQUENCE

Data Manipulation Language DML
Príkazy pre manipuláciu s údajmi ako napr.: vkladanie, aktualizácia, mazanie a príkaz SELECT.
SELECT UPDATE
INSERT DELETE

Data Control Language DCL
Táto skupina príkazov záhŕňa príkazy pre údržbu a riadenie databázy.
CREATE ROLE GRANT
ALTER ROLE REVOKE
DROP ROLE REVOKE ALL ON


Tvorba prázdnej atribútovej tabuľky:

CREATE TABLE schema.byty_vykurovanie
(
zsj_id integer,
plyn integer,
elektrina integer,
kvapalne integer,
pevne integer,
solarna integer,
iny integer,
bez integer,
nezisteny integer,
spolu integer
);

Import a export údajov

Skôr ako je možné pristúpiť k importovaniu údajov typu .txt alebo .csv je potrebné mať vytvorenú prázdnu atribútovú tabuľku do ktorej bude možné údaje vložiť.

testovacie údaje: byty_vykurovanie

1) IMPORT
COPY byty_vykurovanie FROM '/home/user/udaje/byty_vykurovanie.csv' WITH CSV DELIMITER ',' HEADER;

COPY tabulka FROM subor.txt DELIMITER '|' NULL AS '';

2) EXPORT
COPY (SELECT * FROM byty_vykurovanie) TO /tabulka_export.csv WITH DELIMITER '|' CSV HEADER

VYBRANÉ PRÍKAZY NA DOPYTOVANIE A MODIFIKOVANIE TABUĽKY:

SELECT * FROM schema.tabulka ORDER BY stlpec ASC/DESC LIMIT 10;

SELECT DISTINCT stlpec FROM tabulka WHERE stlpec LIKE '%ek';

UPDATE tabulka SET stlpec='nova hodnota' WHERE id=3;

ALTER TABLE tabulka ADD/DROP COLUMN poloha POINT;

ALTER TABLE tabulka ALTER COLUMN poloha TYPE varchar(30);

DELETE FROM tabulka WHERE id=3;

CREATE VIEW AS SELECT * FROM tabulka WHERE nejaka_podmienka;


Operátory porovnania

Operator Description
< less than
> greater than
<= less than or equal to
>= greater than or equal to
= equal
<> or != not equal
IS NULL Kde NULL reprezentuje neznámu hodnotu
IS NOT NULL výraz nieje neznámej hodnoty


Logické operátory



Matematické operátory

Operátor Popis Príklad Výsledok
+ addition 2 + 3 5
- subtraction 2 - 3 -1
* multiplication 2 * 3 6
/ division (integer division truncates the result) 4 / 2 2
% modulo (remainder) 5 % 4 1
^ exponentiation 2.0 ^ 3.0 8
|/ square root |/ 25.0 5
||/ cube root ||/ 27.0 3
! factorial 5 ! 120
!! factorial (prefix operator) !! 5 120
@ absolute value @ -5.0 5
& bitwise AND 91 & 15 11
| bitwise OR 32 | 3 35
# bitwise XOR 17 # 5 20
~ bitwise NOT ~1 -2
<< bitwise shift left 1 << 4 16
>> bitwise shift right 8 >> 2 2

Prednosť operátorov

SELECT 1+2*3;

SELECT (1+2)*3 AS vypocet;