If you're seeing this message, it means we're having trouble loading external resources on our website.

Ha webszűrőt használsz, győződj meg róla, hogy a *.kastatic.org és a *.kasandbox.org nincsenek blokkolva.

Fő tartalom

Adatbázis frissítése SQL-ben

A kurzus során említettük, hogy sokszor SQL-t vagy SQL-szerű lekérdező nyelvet használunk adatbázisokon. Gondolhatunk arra, hogy bizonyos esetekben „csak-olvasó műveleteket” használunk, máskor pedig „olvasó/író műveleteket”.
A „csak-olvasó művelet” lehet példa egy adatelemzés egy adatcsomagon, ami egy applikációból vagy egy tanulmányból származik. Például egy naplózó-alkalmazás adatalemzőjeként lehet, hogy lekérdezném, hogy a felhasználók hány százaléka eszik azokon a napokon fagylaltot, amikor fut, hogy megvizsgáljam azt, hogy edzés után az emberek vajon szeretik-e magukat megjutalmazni:
SELECT * FROM diary_logs WHERE
       food LIKE "%ice cream%" AND activity LIKE "%running%";
Amikor ilyen adatelemzéseket végzünk, az egyszerűen csak egy SELECT – ami csak olvasás. Nem készítünk új adatot, csak lekérdezzük a meglévőt. Nagyon jónak kell lennünk a SELECT lekérdezésekben, de nem szükséges tudnunk, hogyan kell táblákat létrehozni, sorokat frissíteni, és minden ehhez hasonló.
Az „olvasó/író műveletekre” lehet példa az, amikor egy szoftverfejlesztő backend-et készít egy webes applikációhoz. Például ha szoftverfejlesztőként az egészséges életmódot vizsgálnám, akkor írnék egy olyan kódot, ami képes beszúrni egy-egy új naplóbejegyzést az adatbázisba minden alkalommal, amikor a felhasználó kitölt egy űrlapot:
INSERT INTO diary_logs (id, food, activity)
            VALUES (123, "ice cream", "running");
Ezt az SQL parancsot valószínűleg egy szerver-oldali nyelven belül hívnám meg, például egy függvénykönyvtárat használva, ami egyszerűbbé teszi a parancsok készítését. Egy beillesztés így nézne ki, ha például Pythont használnék az SQLAlchemy függvénykönyvtárral:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
SQL-t kellene írnom akkor is, ha szeretném az adatbázist módosítani, ha a felhasználó szerkeszti vagy törli a naplóját, vagy akár ha kitörli a fiókját. Ha a csapat úgy dönt, még több funkcionalitást szeretne adni a felhasználó naplójához, például egy új oszlopot az érzelmeknek, hogy megfigyelhessék, hogy örül-e, amikor épp fagylaltot eszik vagy fut (szerintem nagyon örül), SQL kódra lenne szükség, hogy magát a tábla sémát módosítsuk.
Ezek mind „író műveletek” és szükségesek ahhoz, hogy az adatbázist adatok tárolására és frissítésére használjuk egy alkalmazásban. Az INSERT viszonylagosan biztonságos, mert csak annyit csinál, hogy adatokat ad hozzá, de az olyan műveletek, mint az UPDATE, DELETE, DROP, és ALTER veszélyesek lehetnek, mert a meglévő adatainkat módosítják! Ezért nagyon fontos, hogy jól megértsük őket és óvatosan használjuk. Folytasd a tanulást, hogy megismerd használatukat!