Bevezetés
A kontextustól és a módszertől függetlenül biztosan mentenie kellett már fájlokat, hogy azokat később is megnyithassa és használhassa. Ez ugyanúgy igaz lehet az adatokra is, függetlenül attól, hogy numerikus vagy alfanumerikus karakterek-e. Az adatok tárolása sok esetben egy adatbázisban történik, amelyen keresztül később megkereshetők.
Az adatbázis-kezelés legismertebb megoldásai között szerepel a MySQL, egy nyílt forráskódú rendszer a rendkívül rugalmas relációs adatbázisok kezelésére, amelyet nagyrészt fejlesztők és a rendszergazdák használnak.
Ebből a kezdők számára készült oktatóanyagból megtudhatja, hogyan tegye meg az első lépéseket a MySQL használatában, megtanulva az adatbázisok és táblázatok kezeléséhez hasznos különböző fogalmakat és parancsokat.
Előkészületek
Az ebben az útmutatóban szereplő utasítások végrehajtásához szükség van egy Ubuntu 18.04 szerverre, amelyre már telepítve van a MySQL.
Ha még nem telepítette a MySQL-t a szerverre, kövesse a Hogyan kezelhetők a felhasználók és az engedélyek a MySQL segítségével? útmutatónkban szereplő lépéseket.
Először csatlakozzon a szerverhez SSH kapcsolaton keresztül. Ha még nem tette meg, akkor ajánlott átböngésznie a Hogyan javítható az SSH biztonság az Ubuntu 18.04-en? útmutatónkat a folyamat megkezdése előtt. Helyi szerver esetén folytassa a következő lépéssel, és nyissa meg a szerver terminált.
Első hozzáférés a MySQL Serverhez
A MySQL telepítése után készen áll az első adatbázis és annak tábláinak létrehozására.
A MySQL eléréséhez írja be az alábbi parancsot:
mysql -u root -p
A MySQL telepítésekor meg kell adnia a root felhasználó számára megadott jelszót.
Megjegyzés: Itt a MySQL root felhasználó jelszavát írja be, és ne az Ubuntu szerver root felhasználójának jelszavát használja.
A MySQL utasításokat lekérdezéseknek nevezzük, és bár a MySQL képes azonosítani, hogy a lekérdezések mely szavai tényleges parancsok, és melyek nevek, az elsőket nagybetűvel, a másodikat kisbetűvel kell írni.
A lekérdezéseknél három egyedi követelményt is figyelembe kell venni:
- Minden lekérdezésnek a ";" (pontosvessző) szimbólummal kell végződnie. A szimbólum beírása és az Enter megnyomása nélkül a MySQL nem futtatja a lekérdezést;
- A parancsok esetén nem különbözteti meg a kis- és nagybetűket. Például beírhatja a "SELECT * FROM x;" vagy "selecting * from x"; nincs különbség, és a kapott eredmény ugyanaz lesz;
- A nevek esetében megkülönbözteti a kis- és nagybetűket: az egyéni nevek (például adatbázisnév, táblanév vagy akár táblamezők) megadásakor győződjön meg arról, hogy ugyanazt a szintaxist használja a parancshíváshoz. Például a "SELECT * FROM table" beírása teljesen eltér a "SELECT * FROM Table" beírástól.
MySQL adatbázis létrehozása és megszüntetése
Az összes MySQL információ olyan adatbázisokba rendeződik, amelyek több táblát is tartalmazhatnak.
A MySQL Server telepítésekor az adatbázisok automatikusan létrejönnek. A jelen lévő adatbázisok bármikori megtekintéséhez futtassa az alábbi parancsot:
SHOW DATABASES;
A parancs a következőhöz hasonló kimenetet ad vissza:
Új adatbázis létrehozása nagyon egyszerű, egyszerűen írja be a következőt:
CREATE DATABASE db_name
Hogy ellenőrizhesse a létrehozott adatbázist, futtassa újra a SHOW DATABASES parancsot. Ha nem voltak hibák a létrehozásban, akkor az újonnan készült adatbázis is megjelenik a listában.
Lehet, hogy törölnie kell egy korábban létrehozott adatbázist. Ebben az esetben a "DROP" paranccsal törölheti az adatbázist:
DROP DATABASE db_name
Miután létrehozta az adatbázist, hozza létre benne a táblákat.
Táblák létrehozása a MySQL adatbázisban
A most létrehozott "db_name" adatbázis egyelőre nem tartalmaz információkat. A beszúrás megkezdéséhez definiáljon legalább egy táblát a kapcsolódó mezőkkel, ahová be kell illeszteni az adatokat.
Először a "USE" paranccsal uasítsa a MySQL-t, hogy a már meglévő adatbázist használja:
USE db_name
A MySQL az "Database changed" üzeneten keresztül értesíti a parancs végrehajtásáról, miután elküldte azt.
Ezután folytassa egy tábla létrehozásával. A következő példában a létrehozott táblázatot "persons" -nak hívják, és a listában szereplő minden személynek meg kell adni a nevét, vezetéknevét, életkorát, e-mail címét és telefonszámát.
CREATE TABLE persons (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
surname VARCHAR(30),
age INT(3),
email VARCHAR(30),
phone VARCHAR(30));
Ez a lekérdezés létrehoz egy "személyek" nevű táblázatot, különböző típusú mezőkkel:
- az "id" mező az egyes rekordok elsődleges kulcsát jelenti (a MySQL relációs adatbázis, ezért a kulcs is). Az (INT) egy egész számot képvisel, amelynek nem lehet nullértéke (NOT NULL), automatikusan generált és automatikusan növekszik minden rekord beillesztésekor (AUTO_INCREMENT). Az adatok táblába történő beillesztésekor ezt a mezőt nem kell megadni, mivel azt maga a MySQL generálja.
- a "név", "vezetéknév", "e-mail" és "telefon" mezők VARCHAR típusúak, vagyis csak szöveges adatok bevitelét fogadják el. Ezenkívül minden mezőhöz egy számot (30) jelöltek, amely azonosítja az elfogadott karakterek maximális számát.
- az "age" mező szintén INT, ami legfeljebb 3 számjegyből állhat.
Az "id" mezővel ellentétben az összes többi adat akár üresen is hagyható. Ha úgy dönt, hogy egy rekord hozzáadásakor egy mezőnek kötelezőnek kell lennie, akkor a táblázat létrehozásakor adja meg a NOT NULL értéket a kapcsolódó mezőben.
Adatok hozzáadása a MySQL táblákhoz
Az adatok beillesztése a MySQL táblába nagyon egyszerű, feltéve, hogy ismeri a táblák felépítését, és ezért tiszteletben tartja az egyes bemeneti adatok formátumát.
Feltéve, hogy három felhasználót szeretne hozzáadni az előzőleg létrehozott táblához, a lekérdezésnek meg kell felelnie az érvényes szintaxisnak:
INSERT INTO ‘persons’ (name, surname ,age, email, phone) values (“text”,”text”,integer,”text”,”text”);
Tehát a felhasználót a következő adatokkal adjuk hozzá:
A MySQL parancsértelmezőbe beírandó helyes lekérdezés:
INSERT INTO persons (name,surname,age,email,phone) values (“Céline”,”Dion”,52,”[email protected]”,” 123456789”);
Ugyanazon szintaxissal adja hozzá a többi adatot a táblához:
INSERT INTO persons (name,surname,age,email,phone) values (“Will”,”Smith”,51,”[email protected]”,”1234567890”);
INSERT INTO persons (name,surname,age,email,phone) values (“Edward Christopher”,”Sheeran”,29,”[email protected]”,”2345678901”);
Adatok megtekintése egy táblában
Az adatok táblában való megtekintéséhez használja a "SELECT" parancsot, majd a megjelenítendő mezőket.
Például a persons tábla összes adatának megtekintéséhez írja be a következőt:
SELECT * FROM persons;
A * szimbólum jelentése "ALL", vagyis a rekordok összes mezőjének megtekintésére szolgál. A szűrők beállításával azonban a keresés egy meghatározott számú mezőre is korlátozható.
Feltéve például, hogy csak a 30 év feletti felhasználók "név" és "vezetéknév" mezőit szeretné megjeleníteni, a lekérdezés a következő lenne:
SELECT name, surname FROM persons WHERE age>30;
Számos más kombináció is elvégezhető a lekérdezések során, hogy adatokat keresshessen a MySQL parancsértelmezőn keresztül, de mivel ezek összetettebbek, nem foglalkozunk velük ebben a kezdőknek szóló útmutatóban.
Egy rekord szerkesztése
Helytelenül beírt adatok esetén kijavíthatja az értéket az UPDATE paranccsal.
Például a felhasználó "age" mezőjének "id" = 3 értékű megváltoztatásához írja be a következőt:
UPDATE persons SET age = 32 WHERE id=3;
Ez a parancs frissíti az életkor mezőt az eredetileg megadott 29 éves kor helyett a 32-es érték beállításával.
Ha valamilyen okból törölni szeretne egy bizonyos rekordot a táblából, használja a DELETE parancsot. Például a "persons" tábla harmadik rekordjának törléséhez a futtatandó lekérdezés a következő lesz:
DELETE FROM persons WHERE id=3;
Egy MySQL tábla szerkesztése
Abban az esetben, ha egy mezőt (oszlopot) nem tévesen jeleztek, a táblázat felépítése az ALTER TABLE paranccsal is módosítható.
ALTER TABLE persons ADD address VARCHAR(40)
Ez az utasítás módosítja a "persons" tábla felépítését a VARCHAR típusú "address" mező hozzáadásával, amely legfeljebb 40 karakter bevitelét fogadja el.
Az ilyen típusú változtatások végrehajtásakor a művelet előtt beírt összes adat a NULL értéket veszi fel ebben a mezőben. Értéke azonban egyedileg megváltoztatható, amint azt az előző lépés mutatja.
Használja az AFTER paramétert az új oszlop beszúrásának megadásához:
ALTER TABLE persons ADD address VARCHAR(40) AFTER email
Ebben az esetben az új "address" mező beillesztésre kerül az "e-mail" és a "phone" mező közé.
Egy mező a DROP parancs futtatásával törölhető.
ALTER TABLE persons DROP address;
Egy tábla tisztítása
Egy olyan táblában, ahol van olyan mező, ahol az érték automatikusan növekszik minden bejegyzésnél, minden rekord törölhető a DELETE paranccsal, és a WHERE szűrőben az "id> 0" feltétel beállításával.
A táblázatok tartalmának törlésének a leggyorsabb módja anélkül, hogy befolyásolná annak szerkezetét, a TRUNCATE parancs használata.
TRUNCATE persons;
Összegzés
Útmutatónk végére értünk, minden alapja megvan ahhoz, hogy megtegye az első lépéseket a MySQL világában.
Mint azt korábban már említettük, létrehozhatók az ebben az oktatóanyagban bemutatott lekérdezéseknél összetettebb kombinációk is, melyek hasznosak lehetnek az adatbázis-kezelés hatékonyságának növelésében.
További információkért ajánlott elolvasni a Hogyan kezelhetők a felhasználók és az engedélyek a MySQL segítségével? című oktatóanyagunkat, hogy megismerhesse, hogyan kell beállítani a különböző felhasználókat és azok privilégiumait is.