A 4 Alapművelet (CRUD)

Az SQL 4 alapművelete: CREATE, READ, UPDATE és DELETE (CRUD)

Bár a phpMyAdmin felületén mindent meg lehet csinálni kattintgatva, a PHP kódod nem tud egeret használni. A PHP-nak egy speciális nyelven kell "beszélgetnie" az adatbázissal. Ez a nyelv az SQL (Structured Query Language).

A világ összes webes rendszere (a Facebooktól a legkisebb blogig) négy alapvető adatbázis-műveletre épül. Ezt a programozásban CRUD-nak hívjuk (Create, Read, Update, Delete).

1. CREATE (Létrehozás) - Az INSERT INTO parancs

Amikor egy új felhasználó regisztrál az oldaladon, egy új sort kell beszúrnunk a táblába. Erre való az INSERT INTO parancs.

INSERT INTO felhasznalok (keresztnev, email, jelszo) 
VALUES ('Péter', '[email protected]', 'titkos123');

Magyarázat: Megmondjuk, melyik táblába (felhasznalok), melyik oszlopokba akarunk írni, majd a VALUES után megadjuk a konkrét értékeket, pontosan ugyanolyan sorrendben. (Az ID-t nem kell megadni, mert az automatikusan generálódik).

2. READ (Olvasás) - A SELECT parancs

Ez a leggyakrabban használt SQL parancs. Ezzel kérdezzük le az adatokat, hogy megjeleníthessük őket a weboldalon.

/* Lekéri az ÖSSZES oszlopot (*) az összes felhasználótól */
SELECT * FROM felhasznalok;

/* Csak a neveket és az emaileket kéri le */
SELECT keresztnev, email FROM felhasznalok;

A szűrés: A WHERE záradék

Ritkán akarjuk az egész adatbázist letölteni. Ha csak egy konkrét felhasználót keresünk (például bejelentkezéskor), a WHERE (ahol) szócskát használjuk.

SELECT * FROM felhasznalok WHERE email = '[email protected]';

3. UPDATE (Módosítás) - A fejlesztők rémálma

Ha egy felhasználó meg akarja változtatni a jelszavát, az UPDATE parancsot használjuk.

UPDATE felhasznalok 
SET jelszo = 'uj_titkos_jelszo' 
WHERE id = 1;

Kritikus hiba: Ha az UPDATE parancsból kifelejted a WHERE feltételt, a rendszer az adatbázisban lévő összes felhasználó jelszavát átírja erre az egyre! Ez a kezdő fejlesztők leggyakoribb és legfájdalmasabb hibája.

4. DELETE (Törlés)

Ha egy felhasználó törli a fiókját, a DELETE parancsot használjuk. Itt is életbevágóan fontos a WHERE használata!

DELETE FROM felhasznalok WHERE id = 1;

Ha csak annyit írsz, hogy DELETE FROM felhasznalok;, az egész táblád tartalma azonnal és véglegesen megsemmisül.

← Előző lecke Következő lecke: PHP és MySQL Összekötése →