Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.

Hasonló előadás


Az előadások a következő témára: "Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az."— Előadás másolata:

1 Adatbázis-kezelés SQL-lel

2 SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az IBM-nél fektették le az 1970-es években. Elvi alapot a relációs adatmodell szolgáltatott hozzá. Amerikában 1986-ban, az ISO 1987-ben jegyezte be szabványként.

3 SQL jellemzői nem algoritmikus jól definiált, egyértelmű elméleti alapokon nyugszik változói nincsenek, a behívónyelv változóit használja önmagát nem hívja meg (nem rekurzív) halmazorientált (relációkkal dolgozik) egyszerű, közérthető, de egyben hatékony feltételeket ad meg (megadott feltételeket folyamatosan figyeli)

4 SQL elemei 1. adatdefiníciós nyelv (Data Definition Language, DDL): relációk és indexek szerkezetének kialakítása, változtatása vagy törlése CREATE – létrehozás ALTER – módosítás DROP – törlés

5 SQL elemei 2. adatmanipulációs nyelv (Data Manipulation Language, DML): relációk adatainak felvitele, módosítása vagy törlése INSERT – adatok beszúrása UPDATE – adatok módosítása, frissítése DELETE – adatok törlése a relációból SELECT – adatok lekérdezése

6 SQL elemei 3. adatdevezérlő nyelv (Data Control Language, DCL): a felhasználók jogosultságait állítja be, azaz hogy egy adatbázis esetében milyen műveleteket használhat az adott felhasználó GRANT – jogok adása REVOKE – jogok visszavonása

7 Szintaktika Az SQL utasításai értelmes angol felszólító mondatok, melyek szerkezete szigorúan kötött, és igével (parancsszóval) kezdődik. A parancsszavakon kívül operandusok (pl.: reláció neve vagy reláció mezőinek neve) szerepelnek az utasításban. Íratlan szabály: parancsszavakat nagybetűvel írjuk, az operandusokat pedig kisbetűvel. Az utasításokat általában ; (pontosvessző) zárja le. Ha a mező vagy reláció műveleti jeleket vagy elválasztójelet tartalmaz, akkor [ ]-be kell tenni.

8 DDL utasítások és használatuk Adatbázis létrehozása: CREATE DATABASE adatbázisnév; Tábla létrehozása: CREATE TABLE táblanév(mező1 típus1[méret1], mező2 típus2[méret2]…); mező1, mező2: a tábla mezőinek neve a méret megadása nem kötelező, van olyan típus, ahol nem is adható meg

9 CREATE TABLE (folyt.) mezőtípusok : szöveges típusok: char(méret) – fix hosszúságú szöveg, varchar(méret) – változó hosszúságú szöveg dátumtípusok: date – dátum, time – idő számtípusok: integer – egész szám, float – lebegőpontos (valós) szám, double – dupla hosszúságú lebegőpontos szám logikai típus: boolean (csak igaz vagy hamis értéket vehet fel)

10 CREATE TABLE (folyt.) megadható mező szintű integritási feltételek (azaz mező neve és típusa után írható feltételek): PRIMARY KEY – elsődleges kulcs NOT NULL – a mező értéke nem lehet üres UNIQUE – a mezőérték a táblában egyedi CHECK (feltétel) – mezőre megadott ellenőrző feltétel DEFAULT érték – alapértelmezett érték megadása a mezőnek

11 CREATE TABLE (folyt.) megadható rekord szintű integritási feltételek (az összes mező nevének és típusának megadása után beírandó feltételek) PRIMARY KEY (mező1, mező2,…) – elsődleges kulcs megadása összetett kulcs esetén FOREIGN KEY (mező1, mező2,…) REFERENCES táblanév(mező1, mező2,..) – idegen kulcs megadása, a REFERENCES után meg kell adni, melyik tábla melyik mezőjére mutat az idegen kulcs CHECK (rekordszintű feltétel) – rekordra megadott ellenőrző feltétel

12 DDL utasítások és használatuk Adatbázis használatba vétele: USE dbnev; Felhasználó hozzáadása: CREATE USER 'unev'@'host' IDENTIFIED BY 'jelszo'; felhasználó megadásánál a nevén kívül azt is meg kell adni, melyik hoston férhet hozzá az adatbázisokhoz localhost IP-cím % - bármely host

13 Módosítás Új mező hozzáadása: ALTER TABLE táblanév ADD újmező1 típus1[méret1], újmező2 típus2[méret2]; Mezőtípus módosítása: ALTER TABLE táblanév MODIFY mező1 újtípus1[újméret1]; Idegen kulcs hozzáadása: ALTER TABLE táblanév ADD FOREIGN KEY (fknev) REFERENCES tábla(mutatott_mező);

14 Módosítás és törlés Felhasználó jelszavának megváltoztatása: ALTER USER unev IDENTIFIED BY uj_jelszo; Tábla törlése: DROP TABLE táblanév; Adatbázis törlése: DROP DATABASE adatbázisnév;

15 DML utasítások és használatuk Adatok bevitele táblába: INSERT INTO táblanév VALUES(érték1, érték2, érték3, …); a szöveges és dátumértékeket ‘ ‘ (aposztróf) közé kell tenni az értéklistában szerepelhet NULL (üres) érték is

16 DML utasítások és használatuk Adatok importálása.txt fájlból a.txt fájlt be kell másolni a a.txt fájlt be kell másolni a /var/lib/mysql/adatbazisnev könyvtárba LOAD DATA INFILE ' vmi.txt' INTO TABLE dbnev.tablanev FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY "" LINES TERMINATED BY '\n' IGNORE 1 LINES;

17 LOAD DATA INFILE (folyt.) FIELDS TERMINATED BY után a.txt fájlban található mezőelválasztó karaktert kell megadni OPTIONALLY ENCLOSED BY után a szöveges mezőket határoló karaktert kell megadni – ha van LINES TERMINATED BY után a sor végét jelző karaktert kell megadni (alapesetben ez az enter, amit a \n szimbólummal adhatunk meg)

18 LOAD DATA INFILE (folyt.) IGNORE 1 LINES: az első sort nem importálja be ha a.txt fájl első sora az oszlopneveket tartalmazza, akkor azt nem kell beimportálni

19 DML utasítások és használatuk Adatok módosítása a táblázatban: UPDATE táblanév SET mező1=kifejezés, mező2=kifejezés [WHERE feltétel(ek)]; a SET utáni mezők értékét megváltoztatja a kifejezésben szereplőkre, de csak azokban az esetekben, ahol a WHERE utáni feltétel teljesül a WHERE használata nem kötelező, ha nincs ott, akkor az adott mezőben minden sort megváltoztat a parancs (feladattól függ a használata)

20 DML utasítások és használatuk Sorok törlése a táblából: DELETE FROM táblanév [WHERE feltétel(ek)]; azokat a sorokat törli a táblából, amikre a WHERE-ben megadott feltétel igaz ha elhagyjuk a WHERE-t akkor minden sort töröl!

21 DML utasítások és használatuk Adatok lekérdezése: SELECT [DISTINCT/TOP szám] mező1, mező2,… FROM tábla1, tábla2, … [WHERE feltétel(ek) GROUP BY csoportosítási mező(k) HAVING csoportosítási feltétel(ek) ORDER BY rendezési mező(k) ASC/DESC];

22 SELECT (folyt.) a FROM utáni táblákból kiválogatja a megadott mezőket, amik megfelelnek a WHERE utáni feltételnek a DISTINCT szóval az egyforma értékű sorok csak egyszer jelennek meg a TOP szám beírásával megadhatjuk, hogy a táblázat tetejétől hány sort akarunk kiíratni az ORDER BY után a sorba rendezés alapjául szolgáló mezőket kell megadni; az ASC növekvő, a DESC csökkenő sorrendre utal

23 SELECT (folyt.) a SELECT után a mezőnevek helyett kifejezéseket is megadhatunk, amik lehetnek függvények vagy műveletek mezőkkel (összeadás, kivonás, stb.) Használható függvények: COUNT(mezőnév) – a mező sorainak számát adja vissza MAX(mezőnév) – a mezőben lévő legnagyobb értéket adja vissza MIN(mezőnév) – a mezőben lévő legkisebb értéket adja vissza AVG(mezőnév) – a mező értékeinek átlagát adja vissza SUM(mezőnév) – a mező értékeinek összegét adja vissza

24 SELECT (folyt.) A mezők vagy kifejezések eredményének fejlécét tetszőlegesen átírhatjuk az alias segítségével. Az adott mezőnév vagy kifejezés mögé az AS kulcsszó írása után megadhatjuk azt a nevet, amit szeretnénk megjeleníteni (Pl.: SELECT vnev+kernev AS nev FROM tanulo;)

25 Beillesztés új táblába már létező táblából INSERT INTO újtáblanév SELECT mező1, mező2,… FROM tábla1, tábla2,… [WHERE feltétel(ek)]; a FROM után megadott táblá(k)ból kiválogatja a felsorolt mezőket, és belerakja az új táblába csak akkor működik, ha az új tábla felépítése és a kiválogatott mezők típusa sorrendhelyesen megegyezik amennyiben van WHERE megadva, akkor csak a feltételnek megfelelő sorok kerülnek az új táblába

26 DCL utasítások Jogosultságok adása felhasználóknak: GRANT jogosultságok ON dbnev.tablanev TO 'unev'@'host'; Jogosultságok: ALL PRIVILEGES – minden jogosultság DDL vagy DML parancsnevek PROCESS – láthatóvá válik a folyamatok listája RELOAD – flush parancsok használata (admin) Ha minden adatbázisra vagy táblára akarunk jogot adni, akkor a * karaktert használjuk

27 DCL utasítások Jogosultságok megvonása felhasználóktól: REVOKE REVOKE jogosultságok ON dbnev.tablanev TO 'unev'@'host'; működése megegyezik a GRANT parancséval


Letölteni ppt "Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az."

Hasonló előadás


Google Hirdetések