Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Tartalomjegyzk

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

Az SQL DML alapjai ________________________________________________________4


A SELECT ... FROM alparancs ________________________________________________4
A WHERE alparancs ___________________________________________________________________________ 4 A GROUP BY alparancs ________________________________________________________________________ 5 Fontosabb (csoport)fggvnyek __________________________________________________________________5 Az ORDER BY alparancs _______________________________________________________________________6

Virtulis tbla ltrehozsa____________________________________________________6 Sorok bevitele a tblba _____________________________________________________ 6 A tbla rekordjainak mdostsa ______________________________________________6 A tbla rekordjainak trlse __________________________________________________6

Az SQL DCL nyelv alapjai ____________________________________________________7


Hozzfrsi jogok adomnyozsa ______________________________________________7
A tblkra vonatkoz jogosultsg adomnyozsa ___________________________________________________ 7 Jogosultsg adomnyozsa az adatbzison vgzett mveletekre ______________________________________ 7

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:

Az SQL DDL alapjai


Adatbzis parancsok Az adatbzis -parancsokat az albbi tblzatban foglalhatjuk ssze: A parancs alakja: A parancs funkcija:

CREATE DATABASE adatb zisnv; Adatbzis ltrehozsa SHOW DATABASE; START DATABASE adatbzisnv; STOP DATABASE; DROP DATABASE adatbzisnv ; Informci egy adatbzisrl Adatbzis megnyitsa 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 k vetkez tblzat tnteti fel:

Adattpus neve: CHAR(n) INTEGER SMALLINT DECIMAL(x,y) N hosszsg string

Jelentse:

Egsz szm -9 999 999 999 s 99 999 999 999 kztt Egsz szm -99 999 s 999 999 kztt El jellel egytt x szmjegy, fixpontos decimlis szm y tizedesjeggyel, ahol x 1 s 19, y 0 s 18 kztti rtket vehet fel

FLOAT(x,y)

El jellel egytt x szmjegy, lebeg pontos decimlis szm y tizedesjeggyel, ahol x 1 s 20, y 0 s 18 kztti rtket vehet fel

DATE LOGICAL

Dtum tpus Logikai tpus, rtke .T. s .F. lehet

A klnbz adatbzis-kezel programok SQL motorjai ltalban megengednek ms adatt pusokat is.Az Acces 97 SQL pl. megengedi a BYTE, CURRENCY tpusok hasznlatt. Lehetsges eltrs a szabvny tblakszt utaststl is. Az Access 97 SQL pldul az elsdleges kulcs kijellsre ms utastst hasznl: CREATE TABLE auto_csop (auto_csop_nev CHAR(6)NOT NULL PRIMARY KEY,km_dij INTEGER,napi_dij INTEGER); CREATE TABLE auto_csop (auto_csop_nev CHAR(6)NOT NULL,km_dij INTEGER,napi_dij INTEGER CONSTRAINT auto_csop_nev PRIMARY KEY); A tblzat mdostsa A tblzat mdostsra az ALTER TABLE parancs szolgl. ltalnos alakja: ALTER TABLE tblanv ADD/MODIFY (oszlopnv adattpus [, oszlopnv adattpus ]); Az Access97 SQL itt is egy kicsit ms: ALTER TABLE auto_csop ADD megjegyzes CHAR(20); ALTER TABLE auto_csop ADD COLUMN megjegyzes CHAR(20); A tbla trlse A tbla trlsre a katalgusbl a DROP TABLE parancs szolgl. Alakja: DROP TABLE tblanv; Indextbla ltrehozsa Az indexllomny egy adott tblbl kiemelt nhny rendezett oszlopbl ll. Az SQL-ben rendezett oszlopokbl ll indextblt a kvetkez alak parancs hozza ltre:

CREATE [UNIQUE] INDEX indextbla -nv ON tblanv (oszlopnv [[ASC/DESC][,oszlopnv[ASC/DESC]]..); A parancs hatsa: Az ON utn adott tbla felsorolt oszlopait rendezi (nvekeden ASC esetn s cskkenen DESC esetn) s bel lk egy az INDEX sz utn megadott nev tblt kszt. Az UNIQUE azt jelenti, hogy az oszlop rtkei egyediek, s h ez esetben ismtld rtkek is a vannak az oszlopban, a rendszer hibt jelez.

Az SQL DML alapjai


Az SQL lekrdezparancsa a SELECT parancs sszetett parancs, tbb rszparancsbl ll. A SELECT ... FROM alparancs A SELECT ... FROM alparancs a projekci megvalstsra alkalmas. ltalnos alakja: SELECT [DISTINCT] oszlopnv-lista FROM [ tblanv]; A SELECT parancs hatsra egy ideiglenes eredmnytbla keletkezik. Amennyiben a DISTINCT szerepel, gy az azonos rtkek kzl csak egyet vlaszt ki az adott oszlopba. Az oszlopnv-lista elemei nemcsak oszlopnevek, hanem oszlopokbl ll kifejezsek, aggregl (egyest) fggvnyek, s ms kifejezsek is lehetnek. A WHERE alparancs A WHERE alparancs a szelekcit valstja meg. ltalnos alakja: WHERE felttel A parancs hatsra az eredmnytblban a SELECT utn felsorolt oszlopokba azoknak a soroknak az rtkei kerlnek, amelyekre teljesl a felttel. A felttelre vonatkoz szablyokat az albbi tblzattal foglalhatjuk ssze:

A felttel tpusa: Egyszer sszehasonlts sszehasonlts halmaz eleme ivel

A felttel alakja: oszlopnv opertor kifejezs

Az opertor: =; != ;< ;> ;<> ;^= ; >=; <= BETWEEN szm2; IN (lista) LIKE karakterminta szm1 AND

egy oszlopnv opertor halmazdef.

sszehasonlts NULL rtkkel

oszlopnv IS NULL

sszetett keressi felttel felttel1 opertor felttel2

AND; OR; NOT

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

eredmnytblbl kivlasztja azon sorokat, amelyek eleget tesznek a HAVING utni felttelnek. Fontosabb (csoport)fggvnyek INITCAP(kifejezs) LOWER(kifejezs) UPPER(kifejezs) AVG([DISTINCT|ALL] kifejezs) COUNT([DISTINCT|ALL] {*|kifejezs}) Nagy kezdbet, karakteres kifejezsekre vonatkozik Kisbets, karakteres kifej zsekre e vonatkozik Nagybets, karakteres kifejezsekre vonatkozik tlag, numerikus vonatkozik, a Null rtket figyelmen kvl hagyja. Szmll, numerikus dtum s karakteres kifejezsre is vonatkozik, a Null rtket figyelmen kvl hagyja. Maximum, numerikus dtum s karakteres kifejezsre is vonatkozik. Minimum, numerikus dtum s karakteres kifejezsre is vonatkozik. sszeg, numerikus kifejezsre vonatkozik. Abszoltrtk, numerikus kifejezsre vonatkozik. Ngyzetgyk, numerikus kifejezsre vonatkozik.

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

Az SQL DCL nyelv alapjai


Hozzfrsi jogok adomnyozsa A tblkra vonatkoz jogosultsg adomnyozsa A parancs formja: GRANT ALL [PRIVILEGES]/ jogosultsglista ON [TABLE] tblalista TO PUBLIC /felhasznllista [WITH GRANT OPTION]; A parancs minden jogot (ALL PRIVILEGES) vagy a jogosultsglistban szerepl

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: ALTER DELETE INDEX INSERT SELECT UPDATE A jogosultsg jelentse: Jogosultsg a tbla mdostsra Jogosultsg a tbla trlsre Jogosultsg indextbla ltrehozsra Jogosultsg j sor felvtelre a tblzatba Jogosultsg lekrdezsre Jogosultsg a tbla mdostsra

Jogosultsg adomnyozsa az adatbzison vgzett mveletekre A parancs formja: GRANT adatbzisjog TO PUBLIC /felhasznllista A parancs jogosultsgot ad az adatbzisra vonatkozan va gy mindenkinek (PUBLIC ) vagy adott felhasznlknak a felhasznllista szerint. Az adatbzisjogokat a kvetkez tblzatban foglalhatjuk ssze:

A jog neve:

A jog jelentse: - Hozzfrs a teljes adatbzishoz - Jog arra, hogy SELECT, INSERT, DE LETE, UPDATE mveleteket

CONNECT

vge zzen ms felhasznlk tblin, ha ilyen jogosultsgot kapott a tblkra vonatkoz GRANT-tal - Jog nzettblk s szinonim tblk ltrehozsra. - Minden CONNECT jogosultsg Jogosultsg tblk s indextblk ltrehozsra, jogosultsgok

RESOURCE adomnyozsa ezekre a tblkra

DBA

-Teljes adatbzis-adminisztrtori jogkr

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 PRIVILEGES vagy csak a

jogosultsglistban felsoroltakat a megadott tblkra vonatkozan mindenkit l (PUBLIC) vagy csak a listban szerepl felhasznlktl visszavonja. Adatbzis-jogosultsgok visszavonsa A parancs formja: REVOKE adatbzisjog FROM PUBLIC/felhasznllista ; A parancs adatbzisjogokat mindenkitl (PUBLIC) vagy a listban szereplktl visszavonja;

You might also like