0% found this document useful (0 votes)
238 views16 pages

06 SQL Alap

SQL előadás (kezdő)

Uploaded by

Kiss Gabor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
238 views16 pages

06 SQL Alap

SQL előadás (kezdő)

Uploaded by

Kiss Gabor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SQL ALAPOK

Bevezets
A MYSQL szintaxisa
Tblk, adatok kezelsnek alapjai
BEVEZETS
SQL: Structured Query Language Strukturlt Lekrdez Nyelv
Szabvny hatrozza meg, azonban szmos nyelvjrsa ltezik
egy ilyen a MySQL rendszerben hasznlt vltozat (ezt vesszk)
Nincs jelents eltrs a klnbz vltozatok kzt
Nem algoritmikus nyelv, jellemz hasznlata:
Begyazzuk egy algoritmikus nyelven rt programba az SQL-
utastst
Az SQL-utasts hatsra az adatbzis elll a vlasszal
Az algoritmikus nyelven rd programban feldolgozzuk az
adatokat
AZ SQL KT RSZE

Az SQL-utastsokat a jellegk alapjn kt rszre osztjuk

DDL DML
Data Definition Data Manipulation
Language Language
adatdefincis adatkezel
nyelv utastsok
AZ SQL SZINTAXISA
Beszdes nyelv, az utastsok neve ltalban a megfelel angol sz,
ezekbl alkotunk mondatokat
a nyelv alapszavait ltalban nagybetkkel rjuk, de a kisbets rsmd is
egyenrtk

SELECT attrib FROM tbla; select attrib from tbla;

A parancsokat rhatjuk sorfolytonosan, vagy akr tagoltabban, a vgket ;


jelzi
Vltoz nincs, csak attribtumorkra lehet hivatkozni ha egy utastson
bell nem egyrtelm, mire, elrrjuk a tbla nevt: tbla.attrib
AZ SQL SZINTAXISA, SQL LOGIKA
Szvegkonstans: idzjelek kzt
Relcijelek: =, <=, >=, !=, <>
A logikban szoksos mveletek: AND, OR, NOT.
Az SQL logika nem a klasszikus igaz-hamis logika, hanem gymond
hromrtk: TRUE, FALSE, UNKNOWN.
Ha valahol NULL (nem definilt, nem adott) rtk fordul el, a r
vonatkoz logikai kifejezs kirtkelse ismeretlent ad vlaszul
Ha azt akarjuk ellenrizni, hogy egy adott atttribtum NULL-e,
akkor:
attrib IS NULL
NEM fog helyes vlaszt adni: attrib=NULL
ADATBZIS LTREHOZSA

CREATE DATABASE adatbzis_neve;

Ltrehoz egy j, res adatbzist a kiszolgln (pl. kiadhat a konzolon.)


Konzolos elrsnl a USE adatbzis_neve; paranccsal lehet
kivlasztani egy adatbzist, programozsi krnyezetekbl elrve
ltalban valamilyen metdushvssal.
SMK DEFINILSA
A relcis adatbzissmkat definilnunk kell az adatbzis ltrehozsa
utn

CREATE TABLE [IF NOT EXISTS] sma_neve (


attr1 {ADATTPUS} [{megszortsok}],
attr2 {ADATTPUS} [{megszortsok}],

attrn {ADATTPUS} [{megszortsok}]
[,{tblaszint_megszortsok}] )
[{tblra_vonatkoz_megszortsok}];
SQL ADATTPUSOK
a korbbi parancsban {adattpus} helyre a kvetkezk valamelyike
kerl:

INT(n) n jegy egsz szm


CHAR(n) pontosan n hossz szveg
VARCHAR(n) legfeljebb n hossz szveg
DATE dtum, pl. 2012-10-17
TIME idpont, pl. 11:10:45
REAL vals szm

(ltezik nhny egyb adattpus is)


PLDA: TBLA DEFINILSA
Egy autk adatait trol tblt gy definilnnk:
Elsdleges kulcs
CREATE TABLE IF NOT EXISTS auto (
sorszam INT(10) PRIMARY KEY,
rendszam CHAR(6),
gyarto VARCHAR(128),
evjarat INT(4),
tipus VARCHAR(128)
);
MEGSZORTSOK A MySQL nem
tmogatja!
Hasznljunk
tblaszintt!

Oszlopszinten:
PRIMARY KEY elsdleges kulcs
UNIQUE kulcs
REFERENCES ms_tbla(attrib) [{ON-felttelek}] kls kulcs
NOT NULL nem lehet null
AUTO_INCREMENT mindig nvekszik az rtke
Tblaszinten:
PRIMARY KEY (oszlop_lista) ha tbb attribtumbl ll a kulcs
FOREIGN KEY (oszlop_lista) REFERENCES msik_tbla(oszlop_lista)
[{ON-felttelek}] hasonlan
MEGSZORTSOK
ON felttelek: kls kulcsoknl megadhat, hogy trtnjen-e valami az
aktulis tblban, ha a tblban, ahol elsdleges kulcsknt fordul el az
attribtum, valamilyen vltozs ll be pl. ha egy vevt trlnek egy
adatbzisbl, elrhet gy, hogy automatikusan trldjn az sszes
vsrlsa is.

ON UPDATE CASCADE adatmdostsnl a friss adat bemsoldik


ON DELETE CASCADE ha trlik a hivatkozott sort, trldnek a r
hivatkoz sorok is
ON DELETE SET NULL a hivatkozott sor trlsekor a hivatkoz
sorokban NULL kerl a kls kulcsba
TBLK MDOSTSA
Ltrehozs utn lehetsg van a tbk szerkezetn, kulcsain,
kapcsolatain vltoztatni valamint trlhetk

ALTER TABLE tbla_neve ADD (oszlopnv {TPUS} [{felttelek}]);


ALTER TABLE tbla_neve MODIFY (oszlopnv [{felttelek}]);
ALTER TABLE tbla_neve DROP(oszlopnv1, , oszlopnvk);

DROP TABLE tbla_neve;


ADATBEVITEL
INSERT INTO tbla_neve VALUES ({az oszlopok rtkei az j
rekordban});
ha csak nhny oszlopot tltennk fel, s a tbbi maradjon null: INSERT
INTO tbla_neve (oszlop1,,oszlopk) VALUES (rtk1,,rtkk);

Pldul:

INSERT INTO hallgato (eha, nev, szak, eletkor) VALUES (mintaat.sze,


Minta ron, programtervez informatikus BSc, 22);
ADATMDOSTS
UPDATE tbla_neve
SET
oszlop1 = rtk1,
,
oszlopk = rtkk
[WHERE
felttel];

A WHERE felttelben valamilyen felttelt kell megadni arra, mely sorok


mdosuljanak.
Plda: UPDATE hallgato SET eletkor=23 WHERE eha=mintaat.sze;
ADATOK TRLSE
DELETE FROM tbla_neve
[WHERE feltltel];

Trli a felttel szerinti sort vagy sorokat az adott tblbl

Plda: Trljk a hallgatkat, akiknek 34 s 40 kzti az letkoruk:

DELETE FROM hallgato WHERE eletkor BETWEEN 34 AND 40;


FELADATOK
Osztly (osztlykd, osztlynv, vezAdszm)
Dolgoz (adszm, nv, lakcm, fizets, osztlykd)

6.1 Hozzuk ltre a smk feletti tblkat! Hogyan adnnk meg, hogy
vezAdszm kls kulcs?
6.2 Szrjunk be a hulladkgatdlkodsi osztlyt, s egy j dolgozt erre az
osztlyra. Nevezzk is ki osztlyvezetnek.
6.3 Nveljk az sszes 10 s 20 kzti osztlykd dolgoz fizetst 20%-
kal.
6.4 Kovcs Mrta nyugdjba ment. Trljk az adatait.
6.5 Trljk ki a hulladkgazdlkodsi osztlyt.

You might also like