Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Hasonló dokumentumok
A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adattípusok. Max. 2GByte

Adatbázis-kezelés. Harmadik előadás

Adattípusok. Max. 2GByte

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázisok* tulajdonságai

B I T M A N B I v: T M A N

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

SQL parancsok feldolgozása

Adatbázis-kezelés, információs-rendszerek

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis rendszerek SQL nyomkövetés

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

BEVEZETÉS Az objektum fogalma

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Adatbázis Rendszerek II. 8. Gyakorló környezet

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

Bevezetés: az SQL-be

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 10. előadás

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Készítette: Szabóné Nacsa Rozália

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások

Adatbázis használat I. 5. gyakorlat

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Java és web programozás

Adatbázis, adatbázis-kezelő

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Webfejlesztés 4. alkalom

Adatbázis rendszerek Ea: Esqúel. Structured Query Language

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Java és web programozás

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

B I T M A N B I v: T M A N

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Lekérdezések az SQL SELECT utasítással

Elemi alkalmazások fejlesztése IV.

Adatbázisok elmélete 12. előadás

Adatbázisok II. rész

Relációsémák létrehozása SQL nyelvben

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Access alapok. Megnevezés Művelet Minta. Új adatbázis létrehozása. Új / Üres adatbázis.. Tábla létrehozása tervező nézetben.

Adatbázisok I. Az SQL nyelv

Gazdasági folyamatok térbeli elemzése. 5. elıadás

A könyv tartalomjegyzéke

ADATBÁZIS RENDSZEREK I BEADANDÓ

Adatbázis-kezelés. Második előadás

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázisok I A relációs algebra

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

SQL DDL-1: táblák és megszorítások

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

INTEGER egész típusú érték megadása, hozzá hasonló, de számábrázolási tartományában eltérő típus még a SMALLINT, szinonimája a DECIMAL

Adatbázis-kezelés - Lekérdezések, jelentések készítése

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Adatbázis-kezelés alapjai SQL 1: DDL, DML. v: B IT MAN 92/1B IT MAN

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

LBRA6i integrált rendszer

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

TARTALOMJEGYZÉK. 1. Az SQL története és jellemzői. 2. Az SQL objektumai Katalógus táblázatok Táblázat Szinonima. 2.4.

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

Access XP alapokon Tartalomjegyzék

Funkcionális függések lekérdezések feldolgozása, kifejezésfák

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

w w w. h a n s a g i i s k. h u 1

Adatbázis Rendszerek II. 3. SQL alapok

Vizuális programozás gyakorlat

Átírás:

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban, a DB2 adatbázis-kezelőjéhez. Tulajdonságai és szerepe: - szabványosított lekérdező nyelv, melyet több relációs adatbázis-kezelő ismer, különböző operációsrendszerű környezetben - nem algoritmikus nyelv (nem tartalmaz algoritmus szerkezeteket: ciklus, elágazás, stb) - halmazorientált nyelv (mely relációkon dolgozik) - két felhasználási lehetősége van: önálló SQL, vagy beágyazott SQL - alapegységeket épít fel (kulcsszavak, azonosítók, műveleti jelek, literátok (szöveg szám, dátum, konstans)), és azokat elválasztójelek határolják (tab, szóköz, soremelés, aposztróf, idézőjel, zárójel, pontosvessző) - nem tesz különbséget a kulcsszóban a kis- és nagybetű között - az utasítások végén pontosvessző szerepel Azonosító: objektumok, változók, eljárások, adatszerkezetek, programok szimbolikus nevei. Legfeljebb 30 karakterből állhat, kötelezően betűvel kezdődik. Tartalmazhat: kis- és nagybetűket, aláhúzást, #, @, $ jeleket, számjegyeket. Kifejezés: numerikus, szöveges, dátumjellegű és logikai adatmezőkből, literátorokból, operátorokból, programozási nyelvi változókból és SQL kulcsszókból áll. Kifejezés része lehet kifejezés is. Az utasítások értelmes angol felszólító mondatok, melyek igével kezdődnek. Ezt követik a záradékok, melyeket kulcsszó vezet be. A záradékok leírják az utasítás végrehajtásának körülményeit, feltételeit. Az SQL a nevével ellentétben komplett adatbázis-kezelő nyelv, amely tartalmaz: adatdefiníciós nyelvet (DDL) adatmanipulációs (adatkezelő) nyelvet (DML) adatbiztonsági nyelvet (DLL) körébe tartozó utasításokat is. Az SQL utasításai Adatdefiníciós utasítások: táblák és állományok létrehozására, megszüntetésére, módosítására használhatók CREATE (létrehozás), ALTER (módosítás), DROP (törlés) Adatkezelő utasítások: adatok kiválogatására, törlésére és tartalmának módosítására szolgálnak SELECT (visszakeresés), INSERT (beszúrás), UPDATE (módosítás), DELETE (törlés) Adatbiztonsági utasítások: hozzáférési jogok szabályozására GRANT (jogok adására), REVOKE (jogok visszavonására), LOCK (zárolásra) SQL parancsokon belüli fix szöveg: nagybetűs felhasználó által megadható részek: kisbetűs parancsok elhagyható részei: szögletes zárójelben [] előző rész ismételhetősége:

Tábla létrehozása CREATE TABLE táblanév Adatdefiníciós utasítások (mezőnév adattípus [feltétel],, mezőnév adattípus [feltétel] [, táblafeltételek] Az utasítás részei: táblanév: a létrehozandó tábla neve mezőnév: az új tábla egy mezőjének neve (legalább egy mezőt létre kell hoznunk) adattípus: az új tábla mezőjének adattípusa feltételek: csak egy adott mezőre vonatkoznak táblafeltételek: egész táblára vonatkoznak Adattípusok: BYTE: bájt SMALLINT=SHORT: egész INTEGER=LONG: hosszú egész DECIMAL (X, [y]): decimális (X számjegyek száma, y tizedesjegyek száma) REAL: egyszeres (lebegőpontos) FLOAT=DOUBLE: dupla (lebegőpontos) DATE: dátum TIME: időpont CHAR(n)=TEXT(n): szöveg (n hosszúságú) MEMO: feljegyzés CURRENCY: pénznem COUNTER: számláló LOGICAL: logikai Beállíthatunk alapértelmezett értéket a DEFAULT parancs segítségével. feltételek: PRIMARY KEY elsődleges kulcs, UNIQUE kulcs, REFERENCES tábla(mező) külső kulcs táblafeltételek: PRIMARY KEY (mezőlista) elsődleges kulcs, UNIQUE (mezőlista) kulcs, FOREIGN KEY (mezőlista) REFERENCES tábla(mezőlista) külső kulcs

Hozzuk létre az OSZTÁLY (osztálykód, osztálynév, vezadószám) DOLGOZÓ (adószám, név, lakcím, osztálykód) táblákat! (az aláhúzott az elsőgleges kulcs, a dőlt betűs a külső kulcs!!!) CREATE TABLE Osztály (osztálykód Text(3) PRIMARY KEY, osztálynév Text(20), vezadószám Decimal(10) CREATE TABLE Dolgozó (adószám Decimal(10) PRIMARY KEY, név Text(30), lakcím Text(40) DEFAULT ismeretlen, osztálykód Text(3) REFERENCES Osztály(osztálykód) A dolgozó táblát így is létre lehet hozni: CREATE TABLE Dolgozó (adószám Decimal(10), név Text(30), lakcím Text(40), osztálykód Text(3), PRIMARY KEY (adószám), FOREIGN KEY (osztálykód) REFERENCES Osztály(osztálykód) Teljes tábla törlése DROP TABLE táblanév; A tábla összes adata elvész és tárterület szabadul fel a rendszer számára. Töröljük a Dolgozó nevű táblát! DROP TABLE Dolgozó; Tábla szerkezetének módosítása ALTER TABLE táblanév ADD (mezőnév adattípus [feltétel],, mezőnév adattípus [feltétel] ALTER TABLE táblanév MODIFY (mezőnév adattípus [feltétel],, mezőnév adattípus [feltétel] ALTER TABLE Dolgozó ADD (szüldátum DATE A dolgozó táblához hozzáadtunk egy új születési dátum mezőt. ALTER TABLE Dolgozó MODIFY (lakcím Text(60) A dolgozó tábla lakcím mezőjének méretét 60 karakterre módosítottuk. ALTER TABLE Osztály MODIFY (vezadószám REFERENCES Dolgozó(adószám) Az osztály tábla vezadószám mezőjéből külső kulcsot készítettünk.

Index létrehozása CREATE [UNIQUE] INDEX indexnév ON tábla(mezőlista Az utasítás részei: indexnév: a létrehozandó index neve tábla: A tábla neve, melyet indexelni akarunk. mezőlista: Az indexelendő mezők nevei. Egymezős index esetén írjuk a mező nevét zárójelben a tábla neve után. Többmezős index esetén soroljuk fel azokat a mezőket, amelyekre az index vonatkozik, vesszővel elválasztva. Csökkenő sorrend létrehozásához használjuk a DESC foglalt szót; egyébként a sorrend növekvő. Az UNIQUE foglalt szó egyedi indexre utal. CREATE INDEX DolgInd ON Dolgozó(név, osztálykód Az index megszüntetése DROP INDEX indexnév ON táblanév(mezőlista Egy utasításban csak egy indexet szüntethetünk meg. DROP INDEX DolgInd ON Dolgozó(név, osztálykód Adatmanipulációs (adatkezelő) utasítások Új rekord felvétele INSERT INTO táblanév [(mezőlista)] VALUES (értéklista INSERT INTO Dolgozó (név, adószám) VALUES ( Tóth Aladár, 1111 Az mezőlistában nem szereplő mezők NULL értéket kapnak. INSERT INTO Dolgozó VALUES (1111, Tóth Aladár,, 12 Rekord módosítása (frissítő lekérdezés) UPDATE táblanév SET mező = kifejezés,, mező = kifejezés [WHERE feltétel]; UPDATE Dolgozó SET lakcím = Szeged, Rózsa u. 5. WHERE név = Kovács József ; UPDATE Dolgozó SET osztálykód = 003 WHERE osztálykód = 012 ; Rekord törlése (törlő lekérdezés) DELETE FROM táblanév [WHERE feltétel]; Ha a WHERE feltételt elhagyjuk, az összes rekord törlődik a táblából. DELETE FROM Dolgozó WHERE név = Kovács József ; DELETE FROM Osztály;

Lekérdezések (választó lekérdezések) A lekérdezéseket mindig a SELECT igével kezdjük, és ezt követik a záradékok, melyek sorrendje kötött. SELECT mezőlista FROM táblanév[lista] [WHERE feltétel]; Ha minden mezőre szeretnénk vonatkoztatni a lekérdezést, akkor a mezőlista helyére *-ot írunk. SELECT lakcím FROM Dolgozó WHERE név = Kovács József ; SELECT * FROM Dolgozó WHERE név = Kovács József ; Rendezés lekérdezésben (ORDER BY) ORDER BY mezőnév [DESC],, mezőnév [DESC]; Az ORDER BY záradékában megadott mezők szerint növekvő sorrendben jelennek meg a rekordok. Amennyiben csökkenő sorrendet szeretnénk használjuk a DESC záradékot. SELECT osztálykód, név, fizetés FROM Dolgozó ORDER BY osztálykód, fizetés DESC; Oszlopfüggvények lekérdezésben (GROUP BY) Az SQL-ben olyan függvények is rendelkezésre állnak, amelyek nem a lekérdezett mezők elemeire egyenként, hanem a vizsgált oszlop egészére vonatkoznak. Leggyakrabban használt függvények: SUM, AVG, COUNT, MIN, MAX. GROUP BY mezőlista; A GROUP BY záradékot használjuk, ha csoportosítani akarjuk a talált sorokat és a műveleteket, minden egyes csoportban külön-külön végre akarjuk hajtani az oszlop függvényekkel. SELECT osztálykód, AVG(fizetés) FROM Dolgozó GROUP BY osztálykód; HAVING záradék lekérdezésben A HAVING záradék hatására a rendszer kizárja a csoportosítás során keletkezett azon sorokat a végeredményből, amelyek nem felelnek meg a HAVING kulcsszó után megadott feltételnek. SELECT osztálykód, AVG(fizetés) FROM Dolgozó GROUP BY osztálykód HAVING AVG(fizetés) > 80000; Allekérdezés WHERE feltételben megadott SELECT. Táblakészítő lekérdezés INSERT INTO táblanév [mezőlista] SELECT ; Létrehozza a táblanév nevű táblát és feltölti a mezőlistát a SELECT-ben kiválogatott rekordokkal. Hozzáfűző lekérdezés SELECT mezőlista INTO táblanév FROM táblanév; Az első táblanévből kiválogatott rekordokat a második táblanévhez fűzi.