MariaDB Kezdőknek
Mi a MariaDB?
MariaDB egy villája a MySQL adatbázis kezelő rendszer. Eredeti fejlesztői hozzák létre. Ez a DBMS-eszköz adatfeldolgozási képességeket kínál kis- és vállalati feladatokhoz.
MariaDB egy továbbfejlesztett változata MySQL. Számos beépített hatékony funkcióval és számos használhatósági, biztonsági és teljesítménybeli fejlesztéssel érkezik, amelyeket nem találhat meg MySQL.
Itt vannak a jellemzői MariaDB:
- GPL, BSD vagy LGPL licenc alatt működik.
- MariaDB egy népszerű és szabványos lekérdezési nyelvet támogat.
- Számos tárolómotorral érkezik, beleértve a nagy teljesítményűeket is, amelyek integrálhatók más relációs adatbázis-kezelő rendszerekkel.
- Ez biztosítja a Galera fürttechnológiát.
- MariaDB támogatja a PHP-t, a webfejlesztés népszerű nyelvét.
- MariaDB különböző operációs rendszereken futhat, és számos programozási nyelvet támogat.
- MariaDB olyan további parancsokat tartalmaz, amelyek nem érhetők el MySQL. MySQL olyan funkciókkal rendelkezik, amelyek negatív hatással vannak a DBMS teljesítményére. Az ilyen funkciókat lecserélték MariaDB.
MariaDB vs MySQL
Az alábbiakban bemutatunk néhány lényeges különbséget MariaDB vs MySQL
Vizsgált paraméter | MariaDB | MySQL |
---|---|---|
További lehetőségek a tárolómotorokhoz | MariaDB 12 új tárolómotorja van, amelyeket nem fog megtalálni MySQL. | Kevesebb tárolási lehetőséggel rendelkezik, mint MariaDB. |
Sebességfejlesztések | MariaDB -hoz képest jobb sebességet mutat MySQL. Számos funkcióval rendelkezik a sebesség optimalizálása érdekében. Ilyen szolgáltatások közé tartoznak a származtatott nézetek/táblázatok, az allekérdezések, a végrehajtás vezérlése, a lemezelérés és az optimalizáló vezérlése. | MySQL -hoz képest lassabb sebességet mutat MariaDB. Csak néhány funkcióra támaszkodik a sebesség optimalizálásához, például a hash indexekre. |
Gyorsabb gyorsítótár/indexek | A memóriatároló motorral MariaDB, egy INSERT utasítás 24%-ban teljesíthető, mint a szabványban MySQL. | A memóriatároló motorja MySQL lassabb ahhoz képest MariaDB. |
Nagyobb és gyorsabb csatlakozási medence | MariaDB fejlett szálkészlettel rendelkezik, amely gyorsabban fut, és akár 200,000 XNUMX+ kapcsolatot is támogat. | által biztosított szálkészlet MySQL nem tud egyszerre legfeljebb 200,000 XNUMX kapcsolatot támogatni. |
Továbbfejlesztett replikáció | In MariaDB, a replikáció biztonságosabban és gyorsabban végezhető el. A frissítések a hagyományoshoz képest 2x gyorsabban is elvégezhetők MySQL. | MySQLközösségi kiadása lehetővé teszi statikus számú szál összekapcsolását. MySQLa vállalati terv szál-képességekkel rendelkezik. |
Új funkciók/bővítmények | MariaDB új funkciókkal és bővítményekkel érkezik, beleértve a JSON, WITH és KILL utasításokat. | Az új MariaDB funkciók nem szerepelnek benne MySQL. |
Hiányzó funkciók | MariaDB hiányzik néhány szolgáltatás által biztosított MySQL vállalati kiadás. Ennek megoldására alternatív nyílt forráskódú bővítményeket kínál. Ennélfogva, MariaDB a felhasználók ugyanazokat a funkciókat élvezhetik, mint MySQL Enterprise Edition felhasználók. | A vállalati kiadás MySQL védett kódot használ. Csak a felhasználói MySQL Az Enterprise Edition hozzáférhet ehhez. |
Hogyan kell telepíteni MariaDB
Telepítés önálló alkalmazásként
Annak érdekében, hogy használni MariaDB, telepítenie kell a számítógépére.
A telepítést az alábbi lépések követésével lehet elvégezni:
Step 1) Nyissa meg az URL alatt
Töltse le a telepítőfájlt a hivatkozásról https://downloads.mariadb.org/
Step 2) Double kattintson a fájlra a telepítés elindításához
A letöltés befejezése után nyissa meg a Fájlot
Step 3) Kattintson a Tovább gombra
A felugró ablakban kattintson a Tovább gombra:
Step 4) Fogadja el a licencszerződést
Ezután kattintson a Tovább gombra:
Step 5) A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a MariaDB szerverünkhöz!
Válassza ki a telepíteni kívánt szolgáltatásokat, majd kattintson a Tovább gombra
Step 6) Írja be a jelszót
A következő ablakban meg kell változtatnia a root felhasználó jelszavát.
- Írja be a jelszót, és erősítse meg ugyanazt a jelszót. Ha engedélyezni szeretné a hozzáférést távoli gépekről, aktiválja a szükséges jelölőnégyzetet.
- Ha elkészült, kattintson a Tovább gombra.
Step 7) Írja be a nevet és válassza ki a port számát
A következő ablakban írja be a példány nevét, válassza ki a port számát, és állítsa be a szükséges méretet. Kattintson a Tovább gombra:
Step 8) Kattintson a Tovább gombra
A következő ablakban egyszerűen kattintson a Tovább gombra.
Step 9) Kattintson a Telepítés gombra
Indítsa el a telepítést a Telepítés gombra kattintva.
Step 10) Egy folyamatjelző sáv látható
Megjelenik egy folyamatjelző sáv, amely a telepítés előrehaladását mutatja:
Step 11) Kattintson a Befejezés gombra
A telepítés befejezése után megjelenik a Befejezés gomb. Kattintson a gombra az ablak bezárásához:
Step 12) Gratulálunk!
Most megvan MariaDB telepítve van a számítógépre.
Munka a Parancssorral
Most, hogy megvan MariaDB telepítve van a számítógépére, ideje elindítani és elkezdeni használni. Ezt a MariaDB parancssor.
Kövesse az alábbi lépéseket:
Step 1) Kattintson a Start gombra, válassza a Minden program lehetőséget, majd kattintson a gombra MariaDB...
Step 2) Válassz egy MariaDB Command Prompt.
Step 3) A MariaDB parancssor elindul. Itt az ideje bejelentkezni. Jelentkezzen be root felhasználóként és a telepítés során megadott jelszóval MariaDB. Írja be a következő parancsot a parancssorba:
MySQL -u root -p
Step 4) Írja be a jelszót, és nyomja meg a Vissza gombot. Be kell jelentkeznie az alábbiak szerint:
Most be vagy jelentkezve MariaDB.
Adattípusok
MariaDB a következő adattípusokat támogatja:
- Karakterlánc adattípusok
- Numerikus adattípusok
- Dátum/idő adattípusok
- Nagy objektum adattípusok
String adattípusok
Ide tartoznak a következők:
String adattípus | Leírás |
---|---|
char (méret) | A méret a tárolandó karakterek számát jelöli. Maximum 255 karaktert tárol. Fix hosszúságú húrok. |
varchar (méret) | A méret a tárolandó karakterek számát jelöli. Maximum 255 karaktert tárol. Változó hosszúságú karakterláncok. |
Szövegméret) | A méret a tárolandó karakterek számát jelöli. Maximum 255 karaktert tárol. Fix hosszúságú húrok. |
bináris (méret) | A méret a tárolandó karakterek számát jelöli. Maximum 255 karaktert tárol. Fix méretű húrok. |
Numerikus adattípusok
Ezek a következők:
Numerikus adattípusok | Leírás |
---|---|
bit | Egy nagyon kicsi egész érték, amely a tinyint(1)-nek felel meg. Az előjeles értékek -128 és 127 között vannak. Az előjel nélküli értékek 0 és 255 között vannak. |
int(m) | Szabványos egész érték. Az előjeles értékek -2147483648 és 2147483647 között, az előjel nélküli értékek pedig 0 és 4294967295 között mozognak. |
lebegés(m, d) | Egy lebegőpontos szám egyetlen pontossággal. |
double(m,d) | Dupla pontosságú lebegőpontos szám. |
úszó (p) | Lebegőpontos szám. |
Dátum/Idő adattípusok
Ide tartoznak a következők:
Dátum/idő adattípus | Leírás |
---|---|
találka | „éééé-hh-nn” formában jelenik meg. Az értékek „1000-01-01” és „9999-12-31” között mozognak. |
időpont | A következő formában jelenik meg: „éééé-hh-nn óó:pp:pp”. Az értékek „1000-01-01 00:00:00” és „9999-12-31 23:59:59” között mozognak. |
időbélyeg (m) | A következő formában jelenik meg: „éééé-hh-nn óó:pp:pp”. Az értékek '1970-01-01 00:00:01' utc és '2038-01-19 03:14:07' utc között mozognak. |
Time | 'óó:pp:ss' formában jelenik meg. Az értékek „-838:59:59” és „838:59:59” között mozognak. |
Nagy objektum adattípusok (LOB)
Ezek a következők:
Nagy objektum Adattípus | Leírás |
---|---|
aprócska | A maximális mérete 255 bájt. |
folt (méret) | A maximális méret 65,535 XNUMX bájt. |
mediumblob | A maximális mérete 16,777,215 bájt. |
hosszú szöveg | Maximum 4 GB-ot vesz igénybe. |
Hozzon létre egy adatbázist és táblákat
Új adatbázis létrehozásához MariaDB, speciális jogosultságokkal kell rendelkeznie, amelyeket csak a root felhasználó és az adminisztrátorok kapnak.
Új adatbázis létrehozásához használja a CREATE DATABASE parancsot, amely a következő szintaxist veszi fel:
CREATE DATABASE DatabaseName;
Ebben az esetben létre kell hoznia egy adatbázist, és meg kell adnia a Demo nevet.
Indítsa el a MariaDB parancssorba, és jelentkezzen be root felhasználóként a következő parancs begépelésével:
mysql -u root -p
Írja be a root jelszót, és nyomja meg a return billentyűt. Be leszel jelentkezve.
Most futtassa a következő parancsot:
CREATE DATABASE Demo;
Ezután létrehozott egy Demo nevű adatbázist. Jó lesz, ha megerősíti, hogy az adatbázis létrehozása sikeres volt-e vagy sem. Csak az elérhető adatbázisok listáját kell megjelenítenie a következő parancs futtatásával:
SHOW DATABASES;
A fenti kimenet azt mutatja, hogy a Demo adatbázis része a listának, így az adatbázis sikeresen létrejött.
MariaDB Válassza az Adatbázis lehetőséget
Ahhoz, hogy egy adott adatbázist használhasson vagy azon dolgozhasson, ki kell választania azt a rendelkezésre álló adatbázisok listájából. Az adatbázis kiválasztása után olyan feladatokat hajthat végre, mint például táblák létrehozása az adatbázison belül.
Adatbázis kiválasztásához a USE parancsot kell használni. Az alábbiakban megadott szintaxist veszi:
USE database_name;
Használnia kell a Demo adatbázist. A következő parancs futtatásával választhatja ki:
USE Demo;
A fenti képen látható, hogy a MariaDB A parancssor a nincsről a kiválasztott adatbázis nevére változott.
Most már létrehozhat táblázatokat a Demo adatbázisban.
MariaDB - Táblázat létrehozása
Ahhoz, hogy táblát tudjon létrehozni, ki kell választania egy adatbázist. A táblázat a CREATE TABLE utasítással hozható létre. Íme a parancs szintaxisa:
CREATE TABLE tableName (columnName columnType);
Az egyik oszlopot beállíthatja elsődleges kulcsnak. Ez az oszlop nem engedélyezhet null értékeket.
A Demo adatbázison belül két táblát fogunk létrehozni, a Book és Price táblákat. Minden táblázatnak két oszlopa lesz.
Kezdjük azzal, hogy létrehozzuk a Könyv táblázatot két oszloppal, azonosítóval és névvel. Futtassa a következő parancsot:
CREATE TABLE Book( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (id));
Az ELSŐDLEGES KULCS kényszer segítségével az id oszlopot a tábla elsődleges kulcsaként állította be. Az AUTO_INCREMENT tulajdonság automatikusan 1-gyel növeli az id oszlop értékeit a táblázatba beszúrt minden egyes új rekordnál. Az összes oszlop nem engedélyez null értékeket.
Most hozza létre a második táblát, az Ártáblázatot:
CREATE TABLE Price( id INT NOT NULL AUTO_INCREMENT, price float NOT NULL, PRIMARY KEY (id));
Az id oszlop a táblázat elsődleges kulcsaként lett beállítva.
Táblázatok megjelenítése
Most, hogy létrehozta a két táblát, jó lesz, ha megfelel, hogy a táblák létrehozása sikeres volt-e vagy sem. Az adatbázisban található táblák listáját a következő parancs futtatásával jelenítheti meg:
SHOW TABLES;
A fenti képernyőképen látható, hogy a két tábla sikeresen létrejött a Demo adatbázisban.
Táblázatszerkezet megjelenítése
Egy adott tábla szerkezetének megtekintéséhez használhatja a DESCRIBE parancsot, amelyet általában DESC néven rövidítenek. A következő szintaxist veszi igénybe:
DESC TableName;
Például a Könyv nevű tábla szerkezetének megtekintéséhez futtassa a következő parancsot;
DESC Book;
A táblázatnak két oszlopa van. Az ártábla szerkezetének megtekintéséhez futtassa a következő parancsot:
DESC Price;
CRUD és záradékok
INSERT
Adatok beszúrásához a MariaDB táblázatban az INSERT INTO utasítást kell használnia. Ez a parancs az alábbi szintaxist veszi fel:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (value1, value2, ... ), (value1, value2, ... ), ...;
A fenti szintaxis azt mutatja, hogy meg kell adni a táblázat oszlopait, amelyekbe adatokat szeretne beszúrni, valamint azokat az adatokat, amelyeket be kell szúrnia.
Szúrjunk be egy rekordot a Könyvtáblázatba:
INSERT INTO book (id, name) VALUES(1, 'MariaDB Book');
Egyetlen rekordot szúrt be a táblázatba. Írjon be egy rekordot az Ártáblázatba:
INSERT INTO price (id, price) VALUES(1, 200);
A rekord létrejött.
SELECT
A SELECT utasítás segít egy adatbázistábla tartalmának megtekintésében vagy megtekintésében. A Könyv tábla tartalmának megtekintéséhez például a következő parancsot kell futtatnia:
SELECT * from book;
Most tekintse meg az Ár táblázat tartalmát:
SELECT * from price;
Több rekord beszúrása
Lehetőség van arra, hogy több rekordot szúrjunk be a MariaDB asztal egy menetben. Ennek bemutatásához futtassa a következő példát:
INSERT INTO book (id, name) VALUES (2,'MariaDB Book2'), (3,'MariaDB Book3'), (4,'MariaDB Book4'), (5,'MariaDB Book5');
A tábla lekérdezésével ellenőrizheti, hogy a rekordok beszúrása sikerült-e:
SELECT * FROM book;
A rekordok beillesztése sikeresen megtörtént. Szúrjon be több rekordot az Ár táblába a következő példa futtatásával:
INSERT INTO price (id, price) VALUES (2, 250), (3, 220), (4, 190), (5, 300);
Ellenőrizzük, hogy a rekordok létrehozása sikeres volt-e:
SELECT * FROM price;
UPDATE
Az UPDATE parancs segít a táblába már beszúrt rekordok megváltoztatásában vagy módosításában. A WHERE záradékkal kombinálva megadhatja a frissítendő rekordot. Íme a szintaxis:
UPDATE tableName SET field=newValue, field2=newValue2,... [WHERE ...]
Az UPDATE parancs olyan záradékokkal is kombinálható, mint SET, WHERE, LIMIT és ORDER BY. Hamarosan ezt fogja látni:
Tekintsük az Ár nevű táblázatot a következő rekordokkal:
Változtassuk meg az 1-es azonosítójú könyv árát 200-ról 250-re:
UPDATE price SET price = 250 WHERE id = 1;
A parancs sikeresen lefutott. Most lekérdezheti a táblázatot, hogy megnézze, megtörtént-e a változás:
A fenti képernyőképen látható, hogy a változtatást végrehajtották. Tekintsük a könyv táblázatot a következő rekordokkal:
Változtassuk meg a Könyv nevű könyv nevét erre MariaDB Könyv1. Figyeljük meg, hogy a könyv azonosítója 1. Íme a parancs ehhez:
UPDATE book SET name = “MariaDB Book1” WHERE id = 1;
Ellenőrizze, hogy a változtatás megtörtént-e:
A fenti képernyőképen látható, hogy a változtatás sikeresen végrehajtva.
A fenti példákban egyszerre csak egy oszlopot változtattunk meg. Lehetőség van azonban arra, hogy egyszerre több oszlopot is módosítsunk. Mutassuk meg ezt egy példa segítségével.
Használjuk az Ár táblázatot a következő adatokkal:
Változtassuk meg a könyv azonosítóját és árát is 5-ös azonosítóval. Az azonosítóját 6-ra, az árát pedig 6-ra változtatjuk. Futtassa a következő parancsot:
UPDATE price SET id = 6, price = 280 WHERE id = 5;
Most kérdezze meg a táblázatot, hogy ellenőrizze, hogy a módosítás sikeres volt-e:
A változtatás sikeresen megtörtént.
Törölni
A DELETE parancsot akkor használjuk, ha egy vagy több rekordot kell törölnünk egy táblából. Íme a parancs szintaxisa:
DELETE FROM tableName [WHERE condition(s)] [ORDER BY exp [ ASC | DESC ]] [LIMIT numberRows];
Tekintsük az Ártáblázatot a következő rekordokkal:
Az utolsó rekordot törölnünk kell a táblából. Az azonosítója 6, az ára pedig 280. Töröljük a rekordot:
DELETE FROM price WHERE id = 6;
A parancs sikeresen lefutott. Lekérdezzük a táblázatot, hogy megbizonyosodjunk arról, hogy a törlés sikeres volt-e:
A kimenet azt mutatja, hogy a rekord sikeresen törölve lett.
Hol
A WHERE záradék segít abban, hogy pontosan meghatározzuk azt a helyet, ahol változtatást kell végrehajtanunk. Olyan utasításokkal együtt használatos, mint az INSERT, SELECT, UPDATE és DELETE. Tekintsük az ártáblázatot a következő adatokkal:
Tegyük fel, hogy látnunk kell azokat a rekordokat, amelyekben az ár kisebb, mint 250. Futtathatjuk a következő parancsot:
SELECT * FROM price WHERE price < 250;
Minden olyan rekordot visszaküldtünk, amelyben az ár 250 alatt van.
A WHERE záradék kombinálható az AND utasítással. Tegyük fel, hogy látnunk kell minden olyan rekordot az Ár táblázatban, ahol az ár 250 alatt van, az id pedig 3 felett van. Futtathatjuk a következő parancsot:
SELECT * FROM price WHERE id > 3 AND price < 250;
Csak egy rekordot küldtek vissza. Ennek az az oka, hogy minden megadott feltételnek meg kell felelnie, azaz 3 feletti azonosító és 250 alatti ár. Ha ezek közül bármelyik sérül, a rekordot nem adjuk vissza.
A záradék kombinálható a VAGY paranccsal is. Cseréljük le az AND-ot az előző parancsunkban OR-ra, és nézzük meg, hogy milyen kimenetet kapunk:
SELECT * FROM price WHERE id > 3 OR price < 250;
Most 2 rekordot kapunk 1 helyett. Ennek az az oka, hogy a kvalifikációs rekordnak csak egy meghatározott feltételnek kell megfelelnie.
Mint
Ez a záradék az adatminta megadására szolgál, amikor olyan táblaadatokhoz hozzáférünk, amelyekben pontos egyezésre van szükség. Kombinálható az INSERT, UPDATE, SELECT és DELETE utasításokkal.
A keresett adatmintát át kell adnia a záradéknak, és az igaz vagy hamis értéket ad vissza. Íme a záradékkal együtt használható helyettesítő karakterek:
- %: 0 vagy több karakter párosításához.
- _: egyetlen karakter párosításához.
Íme a LIKE záradék szintaxisa:
SELECT field_1, field_2,... FROM tableName1, tableName2,... WHERE fieldName LIKE condition;
Mutatjuk, hogyan kell használni a záradékot % helyettesítő karakterrel. Használjuk a Könyv táblát a következő rekordokkal:
Látnunk kell minden olyan rekordot, amelyben a név M betűvel kezdődik. A következő parancsot futtathatjuk:
SELECT name FROM book WHERE name LIKE 'M%';
Az összes rekordot a rendszer visszaküldte, mert a nevük M betűvel kezdődik. Az összes 4-gyel végződő név megtekintéséhez futtassa a következő parancsot:
SELECT name FROM book WHERE name LIKE '%4';
Csak egy név került visszaadásra, mert ez az egyetlen, amely megfelel a feltételnek.
A keresési mintát helyettesítő karakterrel is körülvehetjük:
SELECT name FROM book WHERE name LIKE '%DB%';
A % helyettesítő karakter kivételével a LIKE záradék a _ helyettesítő karakterrel együtt használható. Ez az aláhúzás helyettesítő karakter, és csak egyetlen karaktert fog keresni.
Dolgozzuk az Ártáblázatot a következő rekordokkal:
Nézzük meg azt a rekordot, amelyben az ár 1_0. A következő parancsot futtatjuk:
SELECT * FROM price WHERE price LIKE '1_0';
Visszaadta a rekordot, amelyben az ár 190. Kipróbálhatunk egy másik mintát is:
SELECT * FROM price WHERE price LIKE '_2_';
A LIKE záradékot a NOT operátorral együtt használhatjuk. Ezzel visszaadja az összes olyan rekordot, amely nem felel meg a megadott mintának. Például:
Használjuk az Ártáblázatot a következő rekordokkal:
Keressük meg az összes olyan rekordot, ahol az ár nem 2-vel kezdődik:
SELECT * FROM price WHERE price NOT LIKE '2%';
Csak egy rekord nem felel meg a megadott mintának.
Rendezés
Ez a záradék segít abban, hogy rekordjainkat növekvő vagy csökkenő sorrendben rendezzük. A SELECT utasítással együtt használjuk, az alábbiak szerint:
SELECT expression(s) FROM tables [WHERE condition(s)] ORDER BY exp [ ASC | DESC ];
Ezt a záradékot az ASC vagy a DESC rész hozzáadása nélkül is használhatjuk. Például:
Az Ártáblázatot a következő rekordokkal használjuk:
Futtassa a következő parancsot a táblára:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price;
A fenti parancsban az ár alapján rendeltünk. A rekordokat az árakkal, növekvő sorrendben rendeltük meg. Ez azt jelenti, hogy ha nem adjuk meg a sorrendet, a rendezés alapértelmezés szerint növekvő sorrendben történik.
Futtassuk a záradékot a DESC opcióval:
SELECT * FROM price WHERE price LIKE '2%' ORDER BY price DESC;
A rekordokat az általunk megadott árak szerint, csökkenő sorrendbe rendeztük.
Használjuk az ORDER BY záradékot az ASC attribútummal együtt:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price ASC;
A lemezek megrendelésre kerültek, de az árak növekvő sorrendben. Ez hasonló ahhoz, amikor az ORDER BY záradékot ASC vagy DESC attribútumok nélkül használjuk.
KÜLÖNBÖZŐ
Ez a záradék segít megszüntetni a duplikációkat, amikor rekordokat választunk ki egy táblából. Ez azt jelenti, hogy segít egyedi rekordok beszerzésében. A szintaxisát az alábbiakban adjuk meg:
SELECT DISTINCT expression(s) FROM tableName [WHERE condition(s)];
Ennek demonstrálására az Ártáblázatot használjuk a következő adatokkal:
Amikor kiválasztjuk az ár oszlopot a táblázatból, a következő eredményt kapjuk:
SELECT price FROM Price;
Két rekordunk van, 250-es árral, így másolat készül. Csak egyedi rekordokkal kell rendelkeznünk. Ezeket a DISTINCT záradék használatával szűrhetjük, az alábbiak szerint:
SELECT DISTINCT price FROM Price;
Most már nincsenek ismétlődéseink a fenti kimenetben.
Tól től
A FROM záradék az adatok adatbázistáblából való lekérésére szolgál. Az asztalok összeillesztésénél is segíthet. Íme a parancs szintaxisa:
SELECT columnNames FROM tableName;
A könyvtábla tartalmának megtekintéséhez futtassa a következő parancsot:
SELECT * FROM price;
A záradék segíthet abban, hogy csak egyetlen oszlopot kérjen le egy adatbázistáblából. Például:
SELECT price FROM Price;
Speciális feladatok
Tárolt eljárás
Egy eljárás a MariaDB program, amelynek paramétereket adhat át. Egy eljárás nem ad vissza értékeket. Eljárás létrehozásához a CREATE PROCEDURE parancsot használjuk.
Az eljárás létrehozásának és meghívásának bemutatására létrehozunk egy myProcedure() nevű eljárást, amely segít kiválasztani a névoszlopot a könyvtáblázatból. Íme az eljárás:
DELIMITER $ CREATE PROCEDURE myProcedure() BEGIN SELECT name FROM book; END; ;
Az eljárás létrejött. Egyszerűen bezártuk a SELECT utasítást az eljárás BEGIN és END záradékába.
Most az eljárást a nevével hívhatjuk, az alábbiak szerint:
CALL myProcedure();
Az eljárás hívásakor a könyvtábla név oszlopát adja vissza.
Létrehozhatunk olyan eljárást, amely egy paramétert vesz fel. Például ki kell választanunk a könyv nevét, és a könyvazonosítóval kell szűrnünk. Ehhez a következő eljárást készíthetjük:
DELIMITER $ CREATE PROCEDURE myProcedure2(book_id int) BEGIN SELECT name FROM book WHERE id = book_id; END; ;
Fent létrehoztunk egy myProcedure2() nevű eljárást. Ez az eljárás egy könyv_id nevű egész paramétert vesz igénybe, amely annak a könyvnek az azonosítója, amelynek a nevét látnunk kell. A 3-as azonosítójú könyv nevének megtekintéséhez a következőképpen hívhatjuk meg az eljárást:
CALL myProcedure2(3);
Funkció
Az eljárásoktól eltérően paramétereket kell átadnunk a függvényeknek, a függvénynek pedig értéket kell visszaadnia. Függvény létrehozásához MariaDB, a CREATE FUNCTION utasítást használjuk. Az utasítás a következő szintaxist veszi fel:
CREATE [ DEFINER = { CURRENT-USER | username } ] FUNCTION function-name [(parameter datatype [, parameter datatype]) ] RETURNS datatype [LANGUAGE SQL | DETERMINISTIC | NOT DETERMINISTIC | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | SQL SECURITY {DEFINER | INVOKER} | COMMENT 'comment' BEGIN declaration-section executable-section END;
A fenti paramétereket az alábbiakban ismertetjük:
Vizsgált paraméter | Leírás |
---|---|
DEFINER záradék | Ez a paraméter nem kötelező. Ha nem adja meg, akkor a definiáló a függvényt létrehozó felhasználó lesz. Ha más definíciót kell megadni, adja meg a DEFINER záradékot, amelyben a felhasználónév lesz a függvény definiálója. |
függvény_neve | A funkcióhoz hozzárendelendő név a MariaDB. |
paraméter | A függvénynek átadott paraméter(ek). A függvény létrehozása során minden paramétert úgy kezelünk IN paraméterek (az OUT/INOUT paraméterek helyett). |
return_datatype | A függvény visszatérési értékének adattípusa. |
NYELV SQL | A hordozhatóságot befolyásolja, de a funkciót nem. |
MEGHATÁROZÓ | A függvény csak egy eredményt ad vissza, ha több paramétert is megad. |
NEM DETERMINISTA | Lehetséges, hogy a függvény eltérő eredményt ad vissza, ha több paramétert ad meg. |
SQL-t TARTALMAZ | tájékoztatja MariaDB hogy ez a függvény SQL-t tartalmaz. Az adatbázis nem fogja ellenőrizni, hogy ez igaz-e. |
NINCS SQL | Ezt a záradékot nem használják, és nincs hatással az Ön funkciójára. |
SQL ADATOK OLVASÁSA | Jelzi MariaDB hogy ez a függvény SELECT utasításokat fog használni az adatok olvasásához, de nem módosítja az adatokat. |
MÓDOSÍTJA AZ SQL ADATOKAT | Jelzi MariaDB hogy ez a funkció az INSERT, DELETE, UPDATE és egyebeket használja DDL utasításokat az SQL adatok módosításához. |
nyilatkozat-szakasz | Itt kell deklarálni a helyi változókat. |
végrehajtható szakasz | Ide kell hozzáadni a funkciókódot. |
Íme egy példa MariaDB funkció:
DELIMITER // CREATE FUNCTION sumFunc (x INT ) RETURNS INT DETERMINISTIC BEGIN DECLARE sum INT; SET sum = 0; label1: WHILE sum <= 3000 DO SET sum = sum + x; END WHILE label1; RETURN sum; END; // DELIMITER ;
Ezután a fenti függvényt a következőképpen hívhatjuk meg:
select sumFunc(1000);
A parancs a következőt adja vissza:
Ha elkészült egy funkcióval, jó lesz, ha törölni fogja. Ez egyszerű, mivel csak a DROP FUNCTION utasítást kell meghívnia, amely a következő szintaxist veszi fel:
DROP FUNCTION function_name;
Például a myFunc nevű függvény eldobásához a következő parancsot futtathatjuk:
DROP FUNCTION myFunc;
JOIN
Ha egyszerre több táblából kell adatokat lekérnie, használja a MariaDB CSATLAKOZÁS. Ez azt jelenti, hogy a JOIN két vagy több asztalon működik. A következő három típusú JOINS támogatott MariaDB:
- BELSŐ/EGYSZERŰ CSATLAKOZÁS
- LEFT OUTER JOIN/LEFT JOIN
- RIGHT OUTTER JOIN/RIGHT JOIN
Beszéljük meg őket egyenként:
INNER JOIN
A belső összekapcsolás visszaadja a táblák összes sorát, amelyben az összekapcsolási feltétel igaz. A szintaxisa a következő:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Például:
Két asztalunkat, könyvünket és könyvünket fogjuk használni.
A könyvtáblázat a következő adatokat tartalmazza:
Az Ár táblázat a következő adatokat tartalmazza:
A cél az, hogy a Könyv táblából a név oszlopot és az Ártáblázat ároszlopát egyetlen táblává egyesítse. Ez belső csatlakozással lehetséges, az alábbiak szerint:
SELECT book.name, price.price FROM book INNER JOIN price ON book.id = price.id;
A parancs a következőt adja vissza:
BAL KÜLSŐ CSATLAKOZÁS
Ez az összekapcsolás a bal oldali tábla összes sorát adja vissza, és csak azokat a sorokat, amelyekben az összekapcsolási feltétel igaz a másik táblából. A szintaxisa a következő:
SELECT columns FROM table-1 LEFT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
A KÜLSŐ kulcsszó szögletes zárójelek közé került, mert nem kötelező.
Például:
SELECT book.name, price.price FROM book LEFT JOIN price ON book.id = price.id;
A parancs a következőt adja vissza:
A fenti táblázat utolsó rekordjának nincs egyező értéke a bal oldalon. Ezért lecserélték NULL-ra.
JOBB KÜLSŐ CSATLAKOZÁS
Ez az összekapcsolás a jobb oldali tábla összes sorát adja vissza, és csak azokat a sorokat, amelyekben az összekapcsolási feltétel igaz a másik táblából. A szintaxisa a következő:
SELECT columns FROM table-1 RIGHT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
A KÜLSŐ kulcsszó szögletes zárójelek közé került, mert nem kötelező.
Például:
SELECT book.name, price.price FROM book RIGHT JOIN price ON book.id = price.id;
A parancs a következőt adja vissza:
Ennek az az oka, hogy a jobb oldali táblázat összes sora megfeleltetett a másik tábla soraival. Ha néhány sor nem egyezik, akkor az első oszlopban NULL lesz.