Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.