MariaDB Õpetus: õppige süntaksit, käske koos näidetega

Mis on MariaDB?

MariaDB on kahvel MySQL andmebaasihaldussüsteem. Selle on loonud selle algsed arendajad. See DBMS-i tööriist pakub andmetöötlusvõimalusi nii väikeste kui ka ettevõtete jaoks.

MariaDB on täiustatud versioon MySQL. Sellel on arvukalt sisseehitatud võimsaid funktsioone ja palju kasutusvõimalusi, turvalisuse ja jõudluse täiustusi, mida te ei leia MySQL.

Siin on funktsioonid MariaDB:

  • See töötab GPL-, BSD- või LGPL-litsentside alusel.
  • MariaDB toetab populaarset ja standardset päringukeelt.
  • See on varustatud paljude salvestusmootoritega, sealhulgas suure jõudlusega, mida saab integreerida teiste relatsiooniliste andmebaaside haldussüsteemidega.
  • See pakub Galera klastri tehnoloogiat.
  • MariaDB toetab PHP-d, populaarset veebiarenduskeelt.
  • MariaDB võib töötada erinevates operatsioonisüsteemides ja see toetab paljusid programmeerimiskeeli.
  • MariaDB kaasas täiendavad käsud, mis pole saadaval MySQL. MySQL sisaldab funktsioone, millel on negatiivne mõju DBMS-i jõudlusele. Sellised funktsioonid on asendatud MariaDB.

MariaDB vs MySQL

Allpool on toodud mõned peamised erinevused MariaDB vs MySQL

Parameeter MariaDB MySQL
Rohkem valikuid salvestusmootorite jaoks MariaDB sellel on 12 uut salvestusmootorit, mida te ei leia MySQL. Sellel on vähem salvestusvõimalusi võrreldes MariaDB.
Kiiruse parandused MariaDB näitab paremat kiirust võrreldes MySQL. Sellel on palju kiiruse optimeerimise funktsioone. Selliste funktsioonide hulka kuuluvad tuletatud vaated/tabelid, alampäring, täitmise juhtimine, juurdepääs kettale ja optimeerija juhtimine. MySQL on aeglasema kiirusega võrreldes MariaDB. See tugineb kiiruse optimeerimiseks vaid mõnele funktsioonile, näiteks räsiindeksitele.
Kiirem vahemälu/indeksid Koos mälusalvestusmootoriga MariaDB, saab INSERT-lauset täita 24% kui standardis MySQL. Mälu salvestamise mootor MySQL on sellega võrreldes aeglasem MariaDB.
Suurem ja kiirem ühendusbassein MariaDB kaasas täiustatud keermekogum, mis suudab töötada kiiremini ja toetab kuni 200,000 XNUMX+ ühendust. Niidibassein, mille pakub MySQL ei suuda toetada kuni 200,000 XNUMX ühendust korraga.
Täiustatud replikatsioon In MariaDB, saab replikatsiooni teha turvalisemalt ja kiiremini. Värskendusi saab teha ka 2x kiiremini võrreldes traditsioonilisega MySQL. MySQLkogukonna väljaanne võimaldab ühendada staatilise arvu lõime. MySQLettevõtte äriplaaniga on kaasas lõime võimalused.
Uued funktsioonid/laiendused MariaDB kaasas uued funktsioonid ja laiendused, sealhulgas JSON, WITH ja KILL avaldused. Uus MariaDB funktsioone ei pakuta MySQL.
Puuduvad funktsioonid MariaDB puuduvad mõned funktsioonid, mida pakub MySQL ettevõtte väljaanne. Selle lahendamiseks pakub see alternatiivseid avatud lähtekoodiga pistikprogramme. Seega MariaDB kasutajad saavad nautida samu funktsioone nagu MySQL Enterprise Editioni kasutajad. aasta Enterprise Edition MySQL kasutab patenteeritud koodi. Ainult kasutajad MySQL Enterprise Editionil on sellele juurdepääs.

Kuidas paigaldada MariaDB

Installige eraldiseisva rakendusena

Selleks, et kasutada MariaDB, peate selle oma arvutisse installima.

Paigaldamist saab teha, järgides alltoodud samme:

Step 1) Avage allpool URL
Laadige installifail alla lingist https://downloads.mariadb.org/

Step 2) Double installimise alustamiseks klõpsake failil
Kui allalaadimine on lõppenud, avage fail

Step 3) Klõpsake nuppu Edasi
Avanevas aknas klõpsake nuppu Edasi:

Paigaldamine MariaDB

Step 4) Nõustuge litsentsilepinguga
Seejärel klõpsake nuppu Edasi:

Paigaldamine MariaDB

Step 5) Vali MariaDB server
Valige installitavad funktsioonid ja klõpsake nuppu Edasi

Paigaldamine MariaDB

Step 6) Sisestage parool
Järgmises aknas peate muutma juurkasutaja parooli.

  1. Sisestage parool ja kinnitage see, sisestades sama parooli uuesti. Kui soovite lubada juurdepääsu kaugmasinatest, aktiveerige vajalik märkeruut.
  2. Kui olete valmis, klõpsake nuppu Edasi.

Paigaldamine MariaDB

Step 7) Sisestage nimi ja valige pordi number
Järgmises aknas tippige eksemplari nimi, valige pordi number ja määrake vajalik suurus. Klõpsake nuppu Edasi:

Paigaldamine MariaDB

Step 8) Klõpsake nuppu Edasi
Järgmises aknas klõpsake lihtsalt nuppu Edasi.

Step 9) Klõpsake nuppu Installi
Käivitage installimine, klõpsates nuppu Installi.

Paigaldamine MariaDB

Step 10) Kuvatakse edenemisriba
Kuvatakse edenemisriba, mis näitab installimise edenemist:

Paigaldamine MariaDB

Step 11) Klõpsake nuppu Lõpeta
Kui installimine on lõppenud, näete nuppu Lõpeta. Akna sulgemiseks klõpsake nuppu:

Paigaldamine MariaDB

Step 12) Õnnitleme!
Nüüd on teil MariaDB arvutisse installitud.

Töö käsuviibaga

Nüüd, kui teil on MariaDB arvutisse installitud, on aeg see käivitada ja kasutama hakata. Seda saab teha kaudu MariaDB käsurida.

Järgige alltoodud samme:

Step 1) Klõpsake nuppu Start, valige Kõik programmid ja seejärel klõpsake nuppu MariaDB...

Step 2) Vali MariaDB Command Prompt.

MariaDB Command Prompt

Step 3) . MariaDB käivitatakse käsuviip. Nüüd on aeg sisse logida. Peaksite sisse logima juurkasutajana ja installimisel määratud parooliga MariaDB. Tippige käsureale järgmine käsk:

MySQL -u root -p

Step 4) Sisestage parool ja vajutage tagastusklahvi. Peaksite olema sisse logitud, nagu allpool näidatud:

MariaDB Command Prompt

Olete nüüd sisse logitud MariaDB.

Andmetüübid

MariaDB toetab järgmisi andmetüüpe:

  • Stringi andmetüübid
  • Numbrilised andmetüübid
  • Kuupäeva/kellaaja andmetüübid
  • Suurte objektide andmetüübid

Stringi andmetüübid

Nende hulka kuulub järgmine:

Stringi andmetüüp Kirjeldus
char (suurus) Suurus tähistab salvestatavate märkide arvu. See salvestab maksimaalselt 255 tähemärki. Fikseeritud pikkusega stringid.
varchar (suurus) Suurus tähistab salvestatavate märkide arvu. See salvestab maksimaalselt 255 tähemärki. Muutuva pikkusega stringid.
tekst (suurus) Suurus tähistab salvestatavate märkide arvu. See salvestab maksimaalselt 255 tähemärki. Fikseeritud pikkusega stringid.
binaarne (suurus) Suurus tähistab salvestatavate märkide arvu. See salvestab maksimaalselt 255 tähemärki. Fikseeritud suurusega stringid.

Numbrilised andmetüübid

Nende hulka kuuluvad:

Numbrilised andmetüübid Kirjeldus
natuke Väga väike täisarv, mis võrdub tinyint(1)-ga. Märgiga väärtused jäävad vahemikku –128 kuni 127. Märgimärgita väärtused jäävad vahemikku 0 kuni 255.
int(m) Standardne täisarv. Märgiga väärtused jäävad vahemikku -2147483648 kuni 2147483647. Märgimärgita väärtused jäävad vahemikku 0 kuni 4294967295.
ujuk(m, d) Ühe täpsusega ujukomaarv.
double(m,d) Kahekordse täpsusega ujukomaarv.
ujuki (p) Ujukomaarv.

Kuupäeva/kellaaja andmetüübid

Nende hulka kuulub järgmine:

Kuupäeva/kellaaja andmetüüp Kirjeldus
kuupäev Kuvatakse kujul 'yyyy-mm-dd.' Väärtused jäävad vahemikku '1000-01-01' ja '9999-12-31'.
Datetime Kuvatakse kujul 'yyyy-mm-dd hh:mm:ss'. Väärtused jäävad vahemikku '1000-01-01 00:00:00' ja '9999-12-31 23:59:59'.
ajatempel (m) Kuvatakse kujul 'yyyy-mm-dd hh:mm:ss'. Väärtused jäävad vahemikku '1970-01-01 00:00:01' utc ja '2038-01-19 03:14:07' utc.
aeg Kuvatakse kujul 'hh:mm:ss'. Väärtused jäävad vahemikku '-838:59:59' ja '838:59:59'.

suurte objektide andmetüübid (LOB)

Nende hulka kuuluvad:

Suure objekti andmetüüp Kirjeldus
tilluke Selle maksimaalne suurus on 255 baiti.
plekk (suurus) Maksimaalne suurus on 65,535 XNUMX baiti.
keskmine täpp Selle maksimaalne suurus on 16,777,215 baiti.
pikk tekst See võtab maksimaalseks suuruseks 4 GB.

Looge andmebaas ja tabelid

Uue andmebaasi loomiseks MariaDB, peaksid teil olema eriõigused, mis antakse ainult juurkasutajale ja administraatoritele.

Uue andmebaasi loomiseks peaksite kasutama käsku CREATE DATABASE, mis võtab järgmise süntaksi:

CREATE DATABASE DatabaseName;

Sel juhul peate looma andmebaasi ja andma sellele nime Demo.

Alusta MariaDB käsuviiba ja logige sisse juurkasutajana, tippides järgmise käsu:

mysql -u root -p

Tippige juurparool ja vajutage tagastusklahvi. Teid logitakse sisse.

Nüüd käivitage järgmine käsk:

CREATE DATABASE Demo;

Looge andmebaas ja tabelid MariaDB

Seejärel olete loonud andmebaasi nimega Demo. Teil on hea kontrollida, kas andmebaasi loomine õnnestus või mitte. Peate kuvama ainult saadaolevate andmebaaside loendi, käivitades järgmise käsu:

SHOW DATABASES;

Looge andmebaas ja tabelid MariaDB

Ülaltoodud väljund näitab, et demo andmebaas on loendi osa, seega on andmebaas edukalt loodud.

MariaDB Valige Andmebaas

Et saaksite konkreetset andmebaasi kasutada või sellega töötada, peate selle olemasolevate andmebaaside loendist valima. Pärast andmebaasi valimist saate teha selliseid toiminguid nagu andmebaasis tabelite loomine.

Andmebaasi valimiseks tuleks kasutada käsku USE. See võtab allpool toodud süntaksi:

USE database_name;

Peate kasutama demo andmebaasi. Saate selle valida, käivitades järgmise käsu:

USE Demo;

Looge andmebaas ja tabelid MariaDB

Ülaltoodud pilt näitab, et MariaDB käsuviip on muutunud nullist valitud andmebaasi nimeks.

Nüüd saate demo andmebaasis tabeleid luua.

MariaDB - Loo tabel

Tabeli loomiseks peab olema valitud andmebaas. Tabelit saab luua käsu CREATE TABLE abil. Siin on käsu süntaks:

CREATE TABLE tableName (columnName columnType);

Saate määrata ühe veeru esmaseks võtmeks. See veerg ei tohiks lubada nullväärtusi.

Loome demo andmebaasis kaks tabelit, raamatu ja hinna tabelid. Igal tabelis on kaks veergu.

Alustame kahe veeru, ID ja nimega tabeli Raamatu loomisega. Käivitage järgmine käsk:

CREATE TABLE Book(  
id INT NOT NULL AUTO_INCREMENT,  
name VARCHAR(100) NOT NULL,  
PRIMARY KEY (id));  

Looge andmebaas ja tabelid MariaDB

Piirangut PRIMARY KEY on kasutatud id veeru määramiseks tabeli primaarvõtmeks. Atribuut AUTO_INCREMENT suurendab id veeru väärtusi automaatselt 1 võrra iga uue tabelisse sisestatud kirje puhul. Kõik veerud ei luba nullväärtusi.

Nüüd looge teine ​​tabel, hinnatabel:

CREATE TABLE Price(  
id INT NOT NULL AUTO_INCREMENT,  
price float NOT NULL,  
PRIMARY KEY (id));  

Looge andmebaas ja tabelid MariaDB

Veerg ID on seatud tabeli primaarvõtmeks.

Kuvatakse tabelid

Nüüd, kui olete kaks tabelit loonud, on hea, kui saate vastavusse viia, kas tabelite loomine õnnestus või mitte. Saate kuvada andmebaasis olevate tabelite loendi, käivitades järgmise käsu:

SHOW TABLES;

Looge andmebaas ja tabelid MariaDB

Ülaltoodud ekraanipilt näitab, et kaks tabelit loodi demo andmebaasis edukalt.

Kuvatakse tabeli struktuur

Konkreetse tabeli struktuuri nägemiseks võite kasutada käsku DESCRIBE, mida tavaliselt nimetatakse DESC. See võtab järgmise süntaksi:

DESC TableName;

Näiteks, et näha tabeli nimega Book struktuuri, saate käivitada järgmise käsu;

DESC Book;

Looge andmebaas ja tabelid MariaDB

Tabelis on kaks veergu. Hindade tabeli struktuuri nägemiseks saate käivitada järgmise käsu:

DESC Price;

Looge andmebaas ja tabelid MariaDB

CRUD ja klauslid

INSERT

Andmete sisestamiseks a MariaDB tabelis, peaksite kasutama käsku INSERT INTO. See käsk võtab allpool toodud süntaksi:

INSERT INTO tableName
(column_1, column_2, ... )  
VALUES  
(value1, value2, ... ),  
(value1, value2, ... ),  
...;   

Ülaltoodud süntaks näitab, et peate määrama tabeli veerud, millesse soovite andmeid sisestada, ja ka andmed, mida peate sisestama.

Sisestame raamatu tabelisse kirje:

INSERT INTO book  
(id, name)  
VALUES(1, 'MariaDB Book');  

CRUD ja Clauses-INSERT

Olete tabelisse lisanud ühe kirje. Sisestage kirje hinnatabelisse:

INSERT INTO price
(id, price)  
VALUES(1, 200);  

CRUD ja Clauses-INSERT

Kirje on loodud.

SELECT

SELECT-lause aitab meil vaadata või näha andmebaasi tabeli sisu. Näiteks tabeli Book sisu nägemiseks peate käivitama järgmise käsu:

SELECT * from book;

CRUD ja Clauses-INSERT

Nüüd vaadake hinnatabeli sisu:

SELECT * from price;

CRUD ja Clauses-INSERT

Mitme kirje sisestamine

Meil on võimalik a-sse sisestada mitu kirjet MariaDB laud korraga. Selle demonstreerimiseks käivitage järgmine näide:

INSERT INTO book
(id, name)  
VALUES  
(2,'MariaDB Book2'),  
(3,'MariaDB Book3'),  
(4,'MariaDB Book4'),  
(5,'MariaDB Book5');

Mitme kirje sisestamine

Saate teha tabelist päringu, et kontrollida, kas kirjed sisestati edukalt:

SELECT * FROM book;

Mitme kirje sisestamine

Kirjete sisestamine õnnestus. Sisestage tabelisse Hind mitu kirjet, käivitades järgmise näite:

INSERT INTO price 
(id, price)  
VALUES  
(2, 250),  
(3, 220),  
(4, 190),  
(5, 300); 

Mitme kirje sisestamine

Kontrollime, kas kirjete loomine õnnestus:

SELECT * FROM price;

Mitme kirje sisestamine

UPDATE

Käsk UPDATE aitab meil muuta või muuta kirjeid, mis on juba tabelisse sisestatud. Saate selle kombineerida WHERE-klausliga, et määrata värskendatav kirje. Siin on süntaks:

UPDATE tableName SET field=newValue, field2=newValue2,...  
[WHERE ...]  

UPDATE käsku saab kombineerida ka selliste klauslitega nagu SET, WHERE, LIMIT ja ORDER BY. Peagi näete seda:

Mõelge tabelile Hind koos järgmiste kirjetega:

CRUD ja Clauses-UPDATE

Muudame id-ga 1 raamatu hinna 200-lt 250-le:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD ja Clauses-UPDATE

Käsk toimis edukalt. Nüüd saate tabelist küsida, kas muudatus toimus:

CRUD ja Clauses-UPDATE

Ülaltoodud ekraanipilt näitab, et muudatus on rakendatud. Vaatleme tabelit Raamat järgmiste kirjetega:

CRUD ja Clauses-UPDATE

Muudame raamatu nimega Book uueks nimeks MariaDB Raamat 1. Pange tähele, et raamatu ID on 1. Siin on käsk selle jaoks:

UPDATE book
SET name = “MariaDB Book1”
WHERE id = 1;

CRUD ja Clauses-UPDATE

Kontrollige, kas muudatus on rakendatud:

CRUD ja Clauses-UPDATE

Ülaltoodud ekraanipilt näitab, et muudatus on edukalt rakendatud.

Ülaltoodud näidetes oleme muutnud ainult ühte veergu korraga. Siiski on meil võimalik mitut veergu korraga muuta. Näitame seda näite abil.

Kasutame Hindade tabelit järgmiste andmetega:

CRUD ja Clauses-UPDATE

Muutkem nii raamatu ID kui ka hind id-ga 5. Muudame selle id-ks 6 ja hinnaks 6. Käivitage järgmine käsk:

UPDATE price
SET id = 6,
price = 280
WHERE id = 5;

CRUD ja Clauses-UPDATE

Nüüd küsige tabelist, kas muudatus tehti edukalt:

CRUD ja Clauses-UPDATE

Muudatus tehti edukalt.

kustutama

Kasutame käsku DELETE, kui peame tabelist kustutama ühe või mitu kirjet. Siin on käsu süntaks:

DELETE FROM tableName  
[WHERE condition(s)]  
[ORDER BY exp [ ASC | DESC ]]  
[LIMIT numberRows];   

Kaaluge hinnatabelit järgmiste kirjetega:

CRUD ja Clauses-DELETE

Peame tabelist viimase kirje kustutama. Selle ID on 6 ja hind 280. Kustutame kirje:

DELETE FROM price
WHERE id = 6;   

CRUD ja Clauses-DELETE

Käsk toimis edukalt. Küsige tabelist, kas kustutamine õnnestus:

CRUD ja Clauses-DELETE

Väljund näitab, et kirje kustutati edukalt.

Kus

WHERE-klausel aitab meil määrata täpse asukoha, kus peame muudatuse tegema. Seda kasutatakse koos selliste lausetega nagu INSERT, SELECT, UPDATE ja DELETE. Vaadake hinnatabelit järgmiste andmetega:

CRUD ja klauslid-kus

Oletame, et peame nägema kirjeid, mille hind on alla 250. Saame käivitada järgmise käsu:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD ja klauslid-kus

Kõik kirjed, milles hind on alla 250, on tagastatud.

WHERE-klauslit saab kombineerida AND-lausega. Oletame, et peame nägema hinnatabelis kõiki kirjeid, kus hind on alla 250 ja id on suurem kui 3. Saame käivitada järgmise käsu:

SELECT *  
FROM price  
WHERE id > 3  
AND price < 250;   

CRUD ja klauslid-kus

Tagastatud on ainult üks plaat. Põhjus on selles, et see peab vastama kõigile määratud tingimustele, st id üle 3 ja hind alla 250. Kui mõnda neist tingimustest rikutakse, siis rekordit ei tagastata.

Klauslit saab kombineerida ka käsuga VÕI. Asendame eelmise käsu AND-i käsuga VÕI ja vaatame, millist väljundit saame:

SELECT *  
FROM price 
WHERE id > 3  
OR price < 250;   

CRUD ja klauslid-kus

Nüüd saame 2 rekordit 1 asemel. Seda seetõttu, et kvalifitseerumise rekord peab vastama ainult ühele määratud tingimustest.

nagu

Seda klauslit kasutatakse andmemustri määramiseks, kui pääsete juurde tabeliandmetele, mille puhul on vajalik täpne vaste. Seda saab kombineerida käskudega INSERT, UPDATE, SELECT ja DELETE.

Peaksite klauslile edastama otsitavate andmete mustri ja see tagastab kas tõene või väär. Siin on metamärgid, mida saab koos klausliga kasutada:

  • %: 0 või enama tähemärgi sobitamiseks.
  • _: ühe märgi sobitamiseks.

Siin on LIKE-klausli süntaks:

SELECT field_1, field_2,... FROM tableName1, tableName2,...  
WHERE fieldName LIKE condition;

Näitame, kuidas kasutada lauset % metamärgiga. Kasutame tabelit Book järgmiste kirjetega:

CRUD ja klauslid-kus

Peame nägema kõiki kirjeid, mille nimi algab tähega M. Saame käivitada järgmise käsu:

SELECT name  
FROM book  
WHERE name LIKE 'M%';  

CRUD ja klauslid-kus

Kõik kirjed on tagastatud, kuna nende nimed algavad M-tähega. Kõigi 4-ga lõppevate nimede nägemiseks võite käivitada järgmise käsu:

SELECT name  
FROM book  
WHERE name LIKE '%4';  

CRUD ja klauslid-kus

Tagastati ainult üks nimi, kuna see on ainus, mis vastab tingimusele.

Võime otsingumustri ümbritseda ka metamärgiga:

SELECT name  
FROM book  
WHERE name LIKE '%DB%';  

CRUD ja klauslid-kus

Muud kui metamärk %, saab LIKE-klauslit kasutada koos metamärgiga _. See on allkriipsu metamärk ja see otsib ainult ühte tähemärki.

Töötame hinnatabeliga järgmiste kirjetega:

CRUD ja klauslid-kus

Kontrollime kirjet, milles hind on nagu 1_0. Käivitame järgmise käsu:

SELECT *  
FROM price
WHERE price LIKE '1_0';  

CRUD ja klauslid-kus

Ta on tagastanud rekordi, mille hind on 190. Võime proovida ka teist mustrit:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD ja klauslid-kus

Meil on võimalik kasutada LIKE-klauslit koos operaatoriga NOT. See tagastab kõik kirjed, mis ei vasta määratud mustrile. Näiteks:

Kasutagem Hindade tabelit järgmiste kirjetega:

CRUD ja klauslid-kus

Leiame kõik kirjed, mille hind ei alga 2-ga:

SELECT *  
FROM price  
WHERE price NOT LIKE '2%';  

CRUD ja klauslid-kus

Ainult üks kirje ei vasta määratud mustrile.

Telli

See klausel aitab meil kirjeid järjestada kas kasvavas või kahanevas järjekorras. Kasutame seda koos SELECT-lausega, nagu allpool näidatud:

SELECT expression(s)  
FROM tables  
[WHERE condition(s)]  
ORDER BY exp [ ASC | DESC ];   

Meil on võimalik seda klauslit kasutada ilma ASC või DESC osa lisamata. Näiteks:

Kasutame hinnatabelit järgmiste kirjetega:

CRUD ja klauslid-kus

Käivitage tabeli vastu järgmine käsk:

SELECT * FROM price 
WHERE price LIKE '2%.'
ORDER BY price;   

CRUD ja klauslid-kus

Ülaltoodud käsus oleme tellinud hinna järgi. Plaadid on tellitud hindadega kasvavas järjekorras. See tähendab, et kui me järjekorda ei määra, toimub sortimine vaikimisi kasvavas järjekorras.

Käitame klausli valikuga DESC:

SELECT * FROM price
WHERE price LIKE '2%'  
ORDER BY price DESC;   

CRUD ja klauslid-kus

Kirjed on sorteeritud hindadega kahanevas järjekorras, nagu oleme täpsustanud.

Kasutame klauslit ORDER BY koos atribuudiga ASC:

SELECT * FROM price 
WHERE price LIKE '2%.'  
ORDER BY price ASC;   

CRUD ja klauslid-kus

Plaadid on tellitud, kuid hinnad kasvavas järjekorras. See sarnaneb sellega, kui kasutame klauslit ORDER BY ilma atribuutideta ASC või DESC.

DISTINCT

See klausel aitab meil tabelist kirjete valimisel kaotada duplikaadid. See tähendab, et see aitab meil saada ainulaadseid kirjeid. Selle süntaks on toodud allpool:

SELECT DISTINCT expression(s)  
FROM tableName  
[WHERE condition(s)];   

Selle demonstreerimiseks kasutame hinnatabelit järgmiste andmetega:

CRUD ja klauslid-DISTINCT

Kui valime tabelist hinnaveeru, saame järgmise tulemuse:

SELECT price FROM Price;

CRUD ja klauslid-DISTINCT

Meil on kaks plaati hinnaga 250, luues duplikaadi. Meil peavad olema ainult ainulaadsed kirjed. Saame neid filtreerida DISTINCT-klausli abil, nagu allpool näidatud:

SELECT DISTINCT price FROM Price;

CRUD ja klauslid-DISTINCT

Nüüd pole meil ülaltoodud väljundis ühtegi duplikaati.

alates

FROM-klausel, mida kasutatakse andmebaasi tabelist andmete toomiseks. See võib aidata ka laudade ühendamisel. Siin on käsu süntaks:

SELECT columnNames FROM tableName; 

Raamatutabeli sisu vaatamiseks käivitage järgmine käsk:

SELECT * FROM price;

CRUD ja Clauses-From

See klausel aitab teil andmebaasitabelist tuua ainult ühe veeru. Näiteks:

SELECT price FROM Price;

CRUD ja Clauses-From

Täpsemad ülesanded

Salvestatud protseduur

Protseduur on a MariaDB programm, millele saate parameetreid edastada. Protseduur ei tagasta väärtusi. Protseduuri loomiseks kasutame käsku CREATE PROCEDURE.

Protseduuri loomise ja kutsumise demonstreerimiseks loome protseduuri nimega myProcedure(), mis aitab meil raamatutabelist nimeveergu valida. Siin on protseduur:

DELIMITER $
    CREATE PROCEDURE myProcedure()
        BEGIN
            SELECT name FROM book;
        END;
;

Täiustatud ülesannete salvestamise protseduur

Protseduur on loodud. Oleme lihtsalt lisanud SELECT-lause protseduuri klauslitesse BEGIN ja END.

Nüüd saame protseduuri nimetada selle nime järgi, nagu allpool näidatud:

CALL myProcedure();

Täiustatud ülesannete salvestamise protseduur

Protseduur tagastab kutsumisel raamatutabeli nime veeru.

Saame luua protseduuri, mis võtab parameetri. Näiteks peame valima raamatu nime ja filtreerima raamatu ID abil. Selleks saame luua järgmise protseduuri:

DELIMITER $
    CREATE PROCEDURE myProcedure2(book_id int)
        BEGIN
            SELECT name FROM book WHERE id = book_id;
        END;
;

Täiustatud ülesannete salvestamise protseduur

Eespool oleme loonud protseduuri nimega myProcedure2(). See protseduur võtab ühe täisarvulise parameetri nimega book_id, mis on selle raamatu ID, mille nime peame nägema. Raamatu nime nägemiseks ID-ga 3 saame protseduuri kutsuda järgmiselt:

CALL myProcedure2(3);

Täiustatud ülesannete salvestamise protseduur

funktsioon

Erinevalt protseduuridest peame funktsioonidele edastama parameetrid ja funktsioon peab tagastama väärtuse. Funktsiooni loomiseks sisse MariaDB, kasutame lauset CREATE FUNCTION. Avaldus kasutab järgmist süntaksit:

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;

Ülaltoodud parameetreid kirjeldatakse allpool:

Parameeter Kirjeldus
DEFINER klausel See parameeter on valikuline. Kui te seda ei määra, saab defineerijast funktsiooni loonud kasutaja. Kui on vaja määrata mõni muu defineerija, lisage DEFINER-klausel, milles kasutajanimi on funktsiooni defineerija.
funktsiooni_nimi Nimi, mis tuleb sellele funktsioonile määrata MariaDB.
parameeter Funktsioonile edastatud parameeter(id). Funktsiooni loomise ajal käsitletakse kõiki parameetreid kui IN parameetrid (mitte OUT/INOUT parameetrid).
tagastamise_andmetüüp Funktsiooni tagastusväärtuse andmetüüp.
KEEL SQL See mõjutab kaasaskantavust, kuid mitte funktsiooni.
DETERMINISTIK Funktsioon tagastab ühe tulemuse ainult siis, kui sellele on antud mitu parameetrit.
EI OLE DETERMINISTLIK Funktsioonil on võimalik mitme parameetri korral tagastada erinev tulemus.
SISALDAB SQL-i Teatab MariaDB et see funktsioon sisaldab SQL-i. Andmebaas ei kontrolli, kas see on tõsi.
EI OLE SQL-i Seda klauslit ei kasutata ja see ei mõjuta teie funktsiooni.
LOEB SQL ANDMEID Ütleb MariaDB et see funktsioon kasutab andmete lugemiseks SELECT-lauseid, kuid ei muuda andmeid.
MUUDAB SQL ANDMEID Ütleb MariaDB et see funktsioon kasutab INSERT, DELETE, UPDATE ja muud DDL SQL-andmete muutmiseks.
deklaratsiooni-osa Siin tuleks deklareerida kohalikud muutujad.
käivitatav sektsioon Siia tuleks lisada funktsiooni kood.

Siin on näide MariaDB funktsioon:

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 ;

Funktsioon sisse MariaDB

Seejärel saame ülaltoodud funktsiooni kutsuda järgmiselt:

select sumFunc(1000);

Käsk tagastab järgmise:

Funktsioon sisse MariaDB

Kui olete funktsiooniga lõpetanud, on hea see kustutada. See on lihtne, kuna peate helistama ainult DROP FUNCTION lausele, mis võtab järgmise süntaksi:

DROP FUNCTION function_name;

Näiteks funktsiooni myFunc loobumiseks saame käivitada järgmise käsu:

DROP FUNCTION myFunc;

LIITU

Kui teil on vaja andmeid hankida korraga rohkem kui ühest tabelist, kasutage MariaDB LIITUB. See tähendab, et a LIITU töötab kahel või enamal laual. Toetatud on kolm järgmist tüüpi JOINS-i MariaDB:

  • SISEMINE/LIHTNE LIITUMINE
  • LEFT OUT JOIN/LEFT JOIN
  • RIGHT OUTTER JOIN/RIGHT JOIN

Arutame neid ükshaaval:

INNER JOIN

Sisemine liitumine tagastab kõik read tabelitest, milles liitumise tingimus on tõene. Selle süntaks on järgmine:

SELECT columns  
FROM table-1   
INNER JOIN table-2  
ON table-1.column = table-2.column;  

Näiteks:

Kasutame oma kahte lauda, ​​raamatut ja raamatut.

Raamatutabelil on järgmised andmed:

INNER JOIN

Hindade tabelis on järgmised andmed:

INNER JOIN

Eesmärk on ühendada tabelist Raamatud olev nimede veerg ja hinnatabeli hinnaveerg üheks tabelisse. See on võimalik sisemise ühendusega, nagu on näidatud allpool:

SELECT book.name, price.price 
FROM book   
INNER JOIN price 
ON book.id = price.id;   

Käsk tagastab järgmise:

INNER JOIN

VASAKU VÄLIMISE LIITUMINE

See liitmine tagastab kõik vasakpoolse tabeli read ja teisest tabelist ainult need read, mille liitumise tingimus on tõene. Selle süntaks on järgmine:

SELECT columns  
FROM table-1  
LEFT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

Märksõna OUTER on paigutatud nurksulgudesse, kuna see on valikuline.

Näiteks:

SELECT book.name, price.price 
FROM book   
LEFT JOIN price 
ON book.id = price.id;   

Käsk tagastab järgmise:

VASAKU VÄLIMISE LIITUMINE

Ülaltoodud tabeli viimasel kirjel pole vasakul vastet. Seetõttu on see asendatud NULL-iga.

PAREM VÄLILINE LIITUMINE

See liitmine tagastab kõik parempoolse tabeli read ja teisest tabelist ainult need read, mille liitumise tingimus on tõene. Selle süntaks on järgmine:

SELECT columns  
FROM table-1  
RIGHT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

Märksõna OUTER on paigutatud nurksulgudesse, kuna see on valikuline.

Näiteks:

SELECT book.name, price.price 
FROM book   
RIGHT JOIN price
ON book.id = price.id;   

Käsk tagastab järgmise:

PAREM VÄLILINE LIITUMINE

Põhjus on selles, et parempoolse tabeli kõik read sobitati teise tabeli ridadega. Kui mõned read ei ühti, on esimeses veerus NULL-id.