MySQL tutorial: Táblák létrehozása és törlése - Szoftver Tippek

MySQL tutorial: Táblák létrehozása és törlése

Az előző két részben láthattuk miként hozhatunk létre MySQL adatbázisokat és megismerkedtünk a leggyakrabban használt adattípusokkal is, tehát végre eljött az idő, hogy megtanuljunk táblákat létrehozni, amelyekben adatainkat tárolhatjuk.

Táblák létrehozásánál és törlésénél is használjuk az első részben említett IF EXISTS és IF NOT EXISTS opciókat az esetleges hibák elkerülése érdekében. Így hozhatunk létre új táblát:

CREATE TABLE IF NOT EXISTS tábla_név (oszlop1 típus, oszlop2 típus, …, oszlop3 típus);

Tegyük fel, hogy autókereskedésünk van és a raktáron lévő autóknak szeretnénk egy táblát létrehozni. A következőképpen tehetjük meg:

CREATE TABLE IF NOT EXISTS autok (gyarto VARCHAR(50), model VARCHAR(50), gyartasi_ev YEAR, szinkod VARCHAR(50), ar INT);

A fenti mezők mindenike eléggé fontos egy autó leírásánál, nem szeretnénk, ha egyik mező is üresen maradna az adatok bevitelekor. Hogy ezt megakadályozzuk, használjuk a NOT NULL opciót. Ezt az opciót használva így néz ki a parancsunk:

CREATE TABLE IF NOT EXISTS autok (gyarto VARCHAR(50) NOT NULL, model VARCHAR(50) NOT NULL, gyartasi_ev YEAR NOT NULL, szinkod VARCHAR(50) NOT NULL, ar INT NOT NULL);

Ez így szép, de vajon hány fekete 2004-ben gyártott M3-as BMW lehet raktáron? Nem tudom, de ha több, mint egy, akkor meggyűlhet a bajunk, ha az egyik fekete M3-as eladása után törölni szeretnénk a megfelelő sort a táblánkból, hiszen a sorokat nem tudjuk egyesével beazonosítani. A megoldás az, hogy rendeljünk minden sorhoz egy ID mezőt is, ami mindenik sor esetén különbözik. Ez lesz táblánkan a PRIMARY KEY.

CREATE TABLE IF NOT EXISTS autok (id INT NOT NULL, gyarto VARCHAR(50) NOT NULL, model VARCHAR(50) NOT NULL, gyartasi_ev YEAR NOT NULL, szinkod VARCHAR(50) NOT NULL,ar INT NOT NULL, PRIMARY KEY (id));

Így már be tudjuk azonosítani az egyes sorokat, de új adat beszúrásakor figyelnünk kell az id mezőre is, hogy be legyen írva és hogy egyedi legyen. Erre az a megoldás, hogy az id mező értékét automatikusan tetessük be és mindig egyel nagyobb értéket kapjon, mint az előzőleg beszúrt sor id mezeje. Ezt az AUTO_INCREMENT opcióval érhetjük el.

CREATE TABLE IF NOT EXISTS autok (id INT NOT NULL AUTO_INCREMENT, gyarto VARCHAR(50) NOT NULL, model VARCHAR(50) NOT NULL, gyartasi_ev YEAR NOT NULL, szinkod VARCHAR(50) NOT NULL,ar INT NOT NULL, PRIMARY KEY (id));

A létrehozott táblákat ugyanolyan könnyedséggel távolíthatjuk el, mint ahogyan az adatbázisokat:

DROP TABLE IF EXISTS tábla_név;

Ebben a részben láthattuk, hogyan is készíthetünk vagy törölhetünk új MySQL táblákat, azonban ennél sokkal bonyolúltabb szerkezetek is létre hozhatunk. Ezekbe a szerkezetekbe nem szeretnék belemászni, ugyanis mikor egy-egy ilyen szerkezet tervezésére és létrehozására kerül sor, akkor úgyis egy erre a célra írt szoftvert fogunk használni, amellyel gyerekjáték a különböző kötések elkészítése és ha véletlenül elszúrtunk volna valamit, akkor nem kell a fél adatbázist újracsinálni, hanem egyszerűen design szinten javítjuk a hibát. Ha megvan a végleges design, akkor létrehozatjuk az adatbázist az összes táblával és kötésekkel. Ilyen szoftver a MySQL Workbench, amelynek “Community” verziója ingyenes, azonban nem képes közvetlenül az adatbázis szerverünkre kapcsolódni és azon dolgozni, azonban exportálhatjuk megtervezett adatbázisunk létrehozásához szükséges kódot, amit késöbb példáulhphMyAdmin segítségével lefuttathatunk.

Bár a táblák létrehozásának én csak az alapjait mutattam be, érdemes végigpróbálgatni a beillesztett kódokat, módosítani azokat, kísérletezgetni, hiszen egy bejegyzés elolvasásával nem lehet megtanulni. Merem garantálni, hogy ha minimum egy fél órán át szórakozol a MySQL táblák létrehozásával és törlésével, akkor simán meg tudod tanulni.