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

Webprogramozó tanfolyam

Hasonló előadás


Az előadások a következő témára: "Webprogramozó tanfolyam"— Előadás másolata:

1 Webprogramozó tanfolyam
MySql alapjai Az Sql nyelv

2 Adatbázis (database) Egy (többnyire) serveren tárolt adathalmaz, melyhez strukturált módon férhetünk hozzá. Adattáblák Lekérdezések Magán az adatbázison belül is vannak adatbázisok, de ez csak névbeli egyezés, inkább mappáknak felelnek meg.

3 Olvasnivaló MySql tutorial-ok: Sql leírások:
Sql leírások:

4 Adattáblák (datatable)
Sorokkal (rekordok) és oszlopokkal (column) rendelkeznek, ezenkívül van még nevük is amivel hivatkozhatunk rájuk.

5 Példa egy adattábla tartalmára és szerkezetére
KeresztNev VezetekNev Cim Varos Hansen Ola Timoteivn 10 Sandnes Svendson Tove Borgvn 23 Pettersen Kari Storgt 20 Stavanger

6 Oszlopok Az oszlopoknak neve és típusa van, ez utóbbi határozza meg hogy milyen adatot képes tárolni. Ilyen típusok például: Számok (int), logikai érték (bool), változó hosszúságú szöveg (varchar)

7 Rekordok Bennük tárolódik a tényleges információ.
Egy átlagos adattábla általában néhány oszloppal (3-10) és rengeteg rekorddal rendelkezik ( ).

8 Sql – Szabványos lekérdező nyelv
Valójában csak a nevében szabványos, a különböző adatbázisok mind rendelkeznek egyéni sajátosságokkal. Az Sql segítségével tudjuk manipulálni az adatbázis tartalmát, feltölteni azt információval, törölni ha szükséges stb.

9 Biztonság a MySql-ben Van egy tábla ami a felhasználók jogosultságait és adatait tárolja. Lehetséges jogosultságok: Írás Olvasás Létrehozás Törlés Módosítás Jogosultság adása

10 Biztonság a MySql-ben Kezdetben a root felhasználó létezik csak.
A mi esetünkben még jelszava sincs. Jó trükk: ‘admin’ felhasználó, aki mindent tud szerkeszteni amire csak programozóként szükségünk lehet ‘public’ felhasználó, aki csak és kizárólag olvasni tud és csak azokat a táblákat amiket a böngészőben majd használni kell

11 Sql nyelv alapjai Az sql is tekinthető egy programozási nyelvnek (valójában csupán adatmanipuláló nyelv), a parancsok megírásával és az adatbázison való lefuttatásával módosíthatjuk annak tartalmát vagy nyerhetünk ki belőle információt. Mi a PhpMyAdmin-on ill. php kódon keresztül fogunk sql parancsokat futtatni.

12 Hasznos utasítások SHOW tables; USE ‘<adatbázis_név>’;
Kilistázza az adott adatbázisban található összes tábla nevét USE ‘<adatbázis_név>’; A továbbiakban elhagyható az adatbázis név a hivatkozásokból. Pl. Select * from proba.szemlyek; Helyette: use proba; select * from szemelyek; MySql-ben annyira nem akar működni... 

13 Create - létrehozás Create table <táblanév> ( <oszlopnév1> <típus1>, ... <oszlopnévn> <típusn> ); Létrehoz egy új (üres) adattáblát a megfelelő oszlopokkal.

14 Speciális megszorítások
Not null Kötelező az oszlop kitöltése Unique Egyedinek kell lenni a tartalmának Primary Key Egyedinek kell lennie és kötelező kitölteni Check Egyedi megszorítás pl. Check(kor>5) Auto_increment Magától növeli egyesével az értékét

15 Megszorítások használata
CREATE TABLE Customer(SID integer auto_increment, Last_Name varchar (30), First_Name varchar(30)); CREATE TABLE Customer(SID integer not null, Last_Name varchar (30), First_Name varchar(30)); CREATE TABLE Customer(SID integer CHECK (SID > 0), Last_Name varchar (30), First_Name varchar(30)); CREATE TABLE Customer(SID integer unique, Last_Name varchar (30), First_Name varchar(30)); CREATE TABLE Customer(SID integer primary key, Last_Name varchar (30));

16 I. Feladat Készítsünk egy saját adatbázist és abban egy táblát amely a leendő webshop-unk termékeit fogja tárolni! Termékek Id: egyedi azonosító Név: szöveg Ár: szám Kép: szöveg Leírás: szöveg

17 Insert Insert into <táblanév> (<oszlop1>,...,<oszlopn>) values(<érték1>,...,<értékn>); Egy új rekordot vehetünk fel vele a megadott értékekkel. Pl. Insert into Szemelyek(KeresztNev, Kor) values (‘József’,43);

18 II. Feladat A már elkészített táblánkat töltsük fel öt rekorddal!

19 Select - kiválasztás SELECT <oszlop_nevek> FROM <adattábla>; Helyettesítő karakter: * - ez az összes oszlopot jelöli Az eredménye egy ilyen lekérdezésnek egy eredmény halmaz, mely általában szintén egy adattábla. Select * from Szemelyek; Select VezetekNev, Kor from Szemelyek;

20 Select, where select <oszlopok> from <tábla> where <feltétel>; Szűkíthetőek a kiválasztani kívánt rekordok. Pl. Select * from szemelyek where kor>18; AND ill. OR itt is használható: Select * from szemelyek where kor>18 and kor<25;

21 Select és a limit Select <oszlopok> from <táblanév> limit <mettől>,<mennyi darabot>; Pl. select * from proba limit 5,15;

22 III. Feladat Írjunk néhány lekérdezést ami a valóságban is előfordulhatna egy webshop esetében!

23 Update Update <táblanév> set <oszlop1>=<érték1>,...,<oszlopn>=<értékn> where <feltételek>; Már létező rekordok tartalmát írhatjuk át.

24 IV. Feladat Drágul a beszerzés, úgyhogy ezt áthárítjuk a fogyasztókra.
Minden termék árát emeljük meg 10%-al.

25 Delete Delete from <tábla_név> where <feltétel>;
Delete from szemelyek where VezetekNev=‘Ola’; Delete from Szemelyek; Minden adatot töröl a táblából, de a táblát nem! ”Természetesen” nem kérdez rá a törlésre, azonnal töröl!

26 Tábla törlése Drop table <táblanév>;
Drop table ‘Szemelyek’; Magáért beszél, természetesen a tartalmat is törli. Ezt most nem próbáljuk ki.

27 Adatbázis törlése Drop database <adatbázisnév>;
Pl. drop database ‘proba’;

28 Php és a MySql

29 Kapcsolódás a serverhez
Mysql_connect(<server>,<user>,<jelszó>); Pl. Mysql_connect(‘localhost’,’root’,’valami’); Egy kapcsolatot ad vissza, ezt érdemes letárolni. $kapcsolat=mysql_connect(...); A későbbiekben sok olyan függvény lesz amely egy kapcsolatot igényel, amennyiben azt elhagyjuk a legutolsó kapcsolódást veszi figyelembe.

30 Kapcsolat lezárása Mysql_close(<kapcsolat>);
Pl. Mysql_close($connection); Mindig zárjuk le az adatbázis kapcsolatainkat ha már tudjuk hogy nem lesz rá szükség! Persze a kód végén mindenképpen lezárásra kerül, azonban ezt általában nem illik kihasználni.

31 V. Feladat Kapcsolódjunk az adatbázisunkhoz, majd zárjuk is le a kapcsolatot.

32 Hibajelzés Mysql_error();
Ha az adatbázis server valami hibát jelez, akkor ez a függvény ki tudja az írni. Persze ez nem mindíg hasznos vagy biztonságos! If (!$kapcsolat) { print mysql_error(); }

33 VI. Feladat Használjuk fel az előbb tanult függvényt a kapcsolódás ellenőrzéséhez!

34 Adatbázis kiválasztása
Mysql_select_db(<adatbázisnév); Pl. Mysql_select_db(‘proba’); Ez működik a USE parancs helyett mysql alatt.

35 Lekérdezések futtatása
Mysql_query(<sql_utasítás>,<kapcsolat>); Pl. Mysql_query(‘select * from szemelyek;’,$kapcsolat); Egy eredmény erőforrást ad vissza ez a függvény ill. False-t ha valami hiba történt (mysql_error() !). $eredmeny=mysql_query(...);

36 Eredmény feldolgozása
Mysql_fetch_assoc(<eredmény_sor>); Pl. Mysql_fetch_assoc($eredmeny); Ez vagy egy tömböt ad vissza amiben elérhető a lekérdezett rekord vagy pedig false-t (ha elfogytak a rekordok).

37 VII. Feladat Írjunk egy egyszerű lekérdezést, futtassuk le a serveren majd írjuk ki az eredményül kapott rekordokat!

38 Php és MySql Die(<szöveg>);
A program futása leáll, a szöveg kerül kiírásra.

39 Ömlesztve MAX, MIN, COUNT ORDER BY, DESC DISTINCT LIKE, BETWEEN, IN
GROUP BY JOIN, FOREIGN KEY ALTER TABLE


Letölteni ppt "Webprogramozó tanfolyam"

Hasonló előadás


Google Hirdetések