MySQL mindenkinek 4

MySQLHa az előző részben ismertetett adatbázist sikerült létrehoznunk magunktól (vagy a mellékelt sql script segítségével) akkor elkezdhetünk ismerkedni azokkal az SQL parancsokkal amelyek segítségével az adatbázisunkba adatokat tudunk elhelyezni, illetve adatokat tudunk lekérni.

INSERT INTO

Az adatbázisunk tábláiba való adatok rögzítésére az INSERT INTO parancs szolgál. Elégé sokrétű parancsról van szó, egyenlőre csak az alapokkal ismerkedünk meg.

A PHPMyAdmin felülete ketté van osztva.
PHPMyAdmin tabok

A bal oldalon első körben az adatbázisok vannak felsorolva. Ebből válasszuk ki az iskola adatbázist. Ekkor a bal oldalon megjelennek az iskola adatbázis táblái. A táblák előtt vannak kis ikonok, ha ezekre kattintunk akkor az adattábla tartalmát fogjuk látni, ha a tábla nevére akkor a tábla felépítését. Egyenlőre az összes táblánk üres, így többé-kevésbé ugyanazt kapjuk.

A jobb oldalon felül van egy beszúr gomb, ennek segítségével tudunk új rekordot felvinni. Szúrjunk be egy rekordot úgy, hogy az id és osztalyfonok_id mezőt üresen hagyjuk, az osztályhoz pedig beírjuk, hogy 1/A.

A következő választ fogjuk kapni:

Beszúrt sorok: 1
A beszúrt rekord id-je: 1
Warning: #1366 Incorrect integer value: '' for column 'osztalyfonok_id' at row 1

SQL-kérés:
INSERT INTO `iskola`.`osztalyok` 
	(
	`id` , `osztaly` , `osztalyfonok_id`
	)
VALUES (
	NULL , '1/A', ''
);

Ahogyan azt az előző részben megtudtuk az id mező AUTO_INCREMENT tulajdonsága biztosítja, hogy habár nem adtunk neki értéket megkapja a magáét. Kaptuk egy figyelmeztetést, hogy az osztalyfonok_id-t nem ártott volna kitölteni, de ettől függetlenül a rekord mentésre került. Erről úgy tudunk megbizonyosodni, hogy a bal oldalon az osztalyok tabla kis ikonjára kattintunk. Látni fogjuk, hogy a rekord benne van, az id értéke 1, az osztaly 1/A, az osztalyfonok pedig 0.

Adjunk hozzá még két sort ugyan így 1/B illetve 1/C néven.

A PHPMyAdmin minden alkalommal megmutatja az SQL parancsot amit lefuttatott. Ebből láthatjuk, hogy az INSERT INTO utasítás után szerepel az `adatbazisnev`.`tablanev`. Ezzel kapcsolatban két dolgot kell megjegyeznünk. Az egyik az, hogy itt nem normál idézőjeleket, hanem backticket használunk ami normál magyar billentyűzet kiosztás esetén ALT + 7 kombinációval csalogatható elő. A szimpla idézőjel a sztringek jelölésére szolgál, itt nem használható. Egyébként az összes backtick pár, illetve az adatbázis neve elhagyható.

A táblanév után következik azon mezőnevek felsorolása aminek értéket adunk, majd a VALUES parancs és a beszúrandó értékek. A fel nem sorolt mezők az alapértelmezett értéküket kapják meg, az AUTO_INCREMENT mezők felsorolástól és értékmegadástól függetlenül azt amit kapniuk kell.

Így a fenti SQL utasítás a következő egyszerűbb formában is megfelelő.

INSERT INTO osztalyok (osztaly) VALUES ('2/A');

A PHPMyAdmin közli velünk, hogy a beszúrt mező id-je 4. Ha lehet a 2/A elöl és után ne felejtsük le a szimpla idézőjeleket, mert akkor új hibaüzenetekkel ismerkedhetünk meg. 🙂

SELECT

Az adatbázisunkból való különböző adatok lekérésére a SELECT utasítás szolgál. A legegyszerűbb lekérdezésektől kezdve a legösszetettebbekig a SELECT minden igényünket ki fogja szolgálni.

Ha rákattintunk most az osztályok tábla ikonjára akkor megkapjuk a benne szereplő adatokat és felettük ott van az ehhez szükséges SQL utasítás is.

 SELECT *
FROM `osztalyok`
LIMIT 0 , 30 

Az általános szintaxis: SELECT mezőnevek FROM tábla. A LIMIT paraméterrel majd később megismerkedünk. Egyenlőre azt figyeljük meg, hogy a SELECT * hatására minden mezőt megkapunk a válaszban.

Jobb oldalon felül van egy SQL gomb, ezt kiválasztva lehetőségünk van közvetlen SQL parancsok kiadására. A következő parancs például már csak az id-ket és az osztályok nevét fogja kiírni, az osztályfőnököt nem.

SELECT id, osztaly FROM osztalyok

Azt hiszem egy falatra ennyi elég is az ismerkedésből, lehet próbálkozni, más táblákba is adatokat rögzíteni és lekérni. Nemsokára folytatjuk egy kis elmélettel a táblakapcsolatokról aztán gyorsan ki is próbáljuk a tanultakat.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.