Professional Documents
Culture Documents
SQL Bevezetes PDF
SQL Bevezetes PDF
SQL Bevezetes PDF
Tartalomjegyzk _______________________________________________________________________________1
Az SQL nyelv_______________________________________________________________ 1
Az SQL DDL alapjai_________________________________________________________ 2
Adatbzis parancsok ________________________________________________________2
Tblaparancsok ___________________________________________________________ 2
A tblzat ltrehozsa___________________________________________________________________________ 2
A tblzat mdostsa___________________________________________________________________________ 3
A tbla trlse _________________________________________________________________________________3
Indextbla ltrehozsa __________________________________________________________________________3
Jogosultsgok visszavonsa___________________________________________________ 8
Tblkra vonatkoz jogosultsg visszavonsa ______________________________________________________ 8
Adatbzis -jogosultsgok visszavonsa ____________________________________________________________8
Az SQL nyelv
Az SQL (Structured Query Language) 1986-ban az Amerikai Szabvnygyi Hivatal (ANSI)
ltal szabvnyostott strukturlt lekrdeznyelv , mely relcis adatmodell alapjn felpl
adatbzisok kezelsre kpes. Az SQL hrom rsznyelvre bonthat:
SQL DDL, azaz az SQL adatdefincis nyelv;
SQL DML, azaz az SQL adatmanipulcis nyelv;
SQL DCL, azaz az SQL adatvezrl nyelv.
A tovbbiakban a pldkat mindig az albbi adatbzisra vonatkozta tjuk:
A parancs funkcija:
Adatbzis megnyitsa
STOP DATABASE;
Adatbzis bezrsa
Adatbzis trlse
Tblaparancsok
A tblzat ltrehozsa
A tblzat definilst az SQL-ben a CREATE TABLE parancs vgzi. ltalnos alakja
CREATE TABLE tblanv (oszlopnv adattpus (mret)
[,oszlopnv adattpus (mret)] );
Az oszlopneveknl az adattpus mell berhat a NULL illetve a NOT NULL opci. Ez utbbi
azt jelenti, hogy a definilt tblban az adott oszlop kitltse ktelez. A gyakoribb SQL
adattpusokat a kvetkez tblzat tnteti fel:
Adattpus neve:
Jelentse:
CHAR(n)
N hosszsg string
INTEGER
SMALLINT
DECIMAL(x,y)
FLOAT(x,y)
El jellel egytt x szmjegy, lebegpontos decimlis szm y tizedesjeggyel, ahol x 1 s 20, y 0 s 18 kztti rtket vehet fel
DATE
Dtum tpus
LOGICAL
A felttel tpusa:
A felttel alakja:
Egyszer sszehasonlts
sszehasonlts
Az opertor:
=; != ;< ;> ;<> ;^= ; >=; <=
BETWEEN
szm1
AND
szm2;
IN (lista)
LIKE karakterminta
sszehasonlts
oszlopnv IS NULL
NULL rtkkel
sszetett keressi felttel felttel1 opertor felttel2
Nhny plda:
SELECT tipus_nev,ar FROM autok WHERE ar>1350000;
SELECT * FROM alkalmazott WHERE alk_nev LIKE H*;
SELECT * FROM autok WHERE futott_km BETWEEN 120000 AND 200000;
A GROUP BY alparancs
A GROUP BY alparancs alakja:
GROUP BY oszlopnv [,oszlopnv] [ HAVING felttel]
A parancs hatsra a megadott oszlop azonos rtkei szerint csoportostja a rekordokat.
Amennyiben szerepel a HAVING, az azt jelenti, hogy a GROUP
BY ltal kialaktott
MAX([DISTINCT|ALL] kifejezs)
MIN([DISTINCT|ALL] kifejezs)
SUM([DISTINCT|ALL] kifejezs)
ABS(kifejezs)
SQRT(kifejezs)
Nhny plda:
SELECT reszleg_kod, COUNT(*) FROM alkamazott
GROUP BY reszleg_kod;
SELECT reszleg_kod,MIN(fizetes),
MAX(fizetes),SUM(fizetes),AVG(fizetes)
FROM alkamazott GROUP BY reszleg_kod;
Az ORDER BY alparancs
Az ORDER BY alparancs az eredmnytbla rendezsre szolgl. ltalnos alakja:
ORDER BY oszlopnv [ASC/DESC][,oszlopnv [ASC/DESC]];
A parancs a megadott oszlop (vagy oszlopok) szerint rendezi az eredmnytblt, ASC
megadsa esetn nveked sorrendben (ez az alaprtelmezs is), DESC esetn cskken
sorrendben.
Plda:
SELECT * FROM alkalmazott
WHERE beosztas=Elado OR beosztas=Szerelo
ORDER BY fizetes DESC;
Virtulis tbla ltrehozsa
A virtulis tbla ltrehozsra a CRERATE VIEW parancs szolgl. ltalnos alakja:
CREATE VIEW tblanv [oszlopnvlista] AS SELECT [WITH CHECK OPTION];
A parancs hatsra a SELECT parancs ltal generlt eredmnytblnak a VIEW utn rt
tblanevet adja az SQL s ennek a tblnak az oszlopai az oszlopnvlistban felsorolt
oszlopok lesznek. Amennyiben nem adunk meg oszlopnvlistt, akkor az eredmnytbla
nevei lesznek a VIEW tbla oszlopnevei.
Sorok bevitele a tblba
A parancs alakja:
INSERT INTO tblanv [(oszlopnv-lista )] VALUES (rtklista)/szelekcis utasts;
Plda:
INSERT INTO auto_csop (auto_csop_nev,km_dij,napi_dij)
VALUES ("Luxus",6000,8000);
A tbla rekordjainak mdostsa
A parancs alakja:
UPDATE tblanv SET oszlopnv=kifejezs[,oszlopnv=kifejezs] [WHERE logikai kifejezs];
Plda:
UPDATE auto_csop SET napi_dij=8500
WHERE auto_csop_nev=Luxus;
A tbla rekordjainak trlse
A parancs alakja:
DELETE FROM tblanv [WHERE felttel];
mveletekre val jogot adja a tblalistban szerepl tblkra mindenkinek (PUBLIC esetn)
vagy a felhasznllistban szerepl szemlyeknek. Amennyiben a WITH GRANT OPTION
szerepel, akkor az e jogokat kapk t is adhatjk ezeket a jogokat msoknak. A
jogosultsglista elemeit a kvetkez tblzatban foglalhatjuk ssze:
A jogosultsg neve:
A jogosultsg jelentse:
ALTER
DELETE
INDEX
INSERT
SELECT
Jogosultsg lekrdezsre
UPDATE
A jog neve:
A jog jelentse:
- Hozzfrs a teljes adatbzishoz
- Jog arra, hogy SELECT, INSERT, DE LETE, UPDATE mveleteket
CONNECT
Jogosultsg
tblk
indextblk
ltrehozsra,
jogosultsgok
DBA
Jogosultsgok visszavonsa
Tblkra vonatkoz jogosultsg visszavonsa
A parancs formja:
REVOKE ALL [PRIVILEGES]/ jogosultsglista ON [TABLE] tblalista
TO PUBLIC/felhasznllista ;
A parancs hatsa: Az sszes jogosultsgot (ALL