MariaDB Vodič: Naučite sintaksu, naredbe s primjerima

Što je MariaDB?

MariaDB je vilica od MySQL sustav za upravljanje bazom podataka. Kreirali su ga izvorni programeri. Ovaj DBMS alat nudi mogućnosti obrade podataka za male i poslovne zadatke.

MariaDB je poboljšana verzija MySQL. Dolazi s brojnim ugrađenim moćnim značajkama i mnogim poboljšanjima upotrebljivosti, sigurnosti i performansi koje ne možete pronaći MySQL.

Ovdje su značajke MariaDB:

  • Djeluje pod GPL, BSD ili LGPL licencama.
  • MariaDB podržava popularan i standardni jezik za upite.
  • Dolazi s mnogo mehanizama za pohranu podataka, uključujući one visokih performansi koji se mogu integrirati s drugim sustavima za upravljanje relacijskim bazama podataka.
  • Pruža tehnologiju klastera Galera.
  • MariaDB podržava PHP, popularan jezik za web razvoj.
  • MariaDB može raditi na različitim operativnim sustavima i podržava brojne programske jezike.
  • MariaDB dolazi s dodatnim naredbama koje nisu dostupne u MySQL. MySQL ima značajke koje imaju negativan utjecaj na performanse DBMS-a. Takve značajke zamijenjene su u MariaDB.

MariaDB vs MySQL

U nastavku su neke ključne razlike između MariaDB vs MySQL

Parametar MariaDB MySQL
Više opcija za pohranu podataka MariaDB ima 12 novih mehanizama za pohranu u kojima nećete pronaći MySQL. Ima manje mogućnosti za pohranu u usporedbi s MariaDB.
Poboljšanja brzine MariaDB pokazuje poboljšanu brzinu u usporedbi s MySQL. Dolazi s brojnim značajkama za optimizaciju brzine. Takve značajke uključuju izvedene prikaze/tablice, podupit, kontrolu izvršenja, pristup disku i kontrolu optimizatora. MySQL pokazuje manju brzinu u usporedbi s MariaDB. Oslanja se na samo nekoliko značajki za optimizaciju brzine, na primjer, hash indekse.
Brža predmemorija/indeksi S motorom za pohranu memorije od MariaDB, naredba INSERT može biti dovršena 24% nego u standardu MySQL. Mehanizam za pohranu memorije MySQL je sporiji u odnosu na to MariaDB.
Veći i brži skup povezivanja MariaDB dolazi s naprednim skupom niti koji može raditi brže i podržava do 200,000+ veza. Skup niti koje pruža MySQL ne može podržati do 200,000 veza po vremenu.
Poboljšana replikacija In MariaDB, replikacija se može obaviti sigurnije i brže. Ažuriranja se također mogu obaviti 2x brže u usporedbi s tradicionalnim MySQL. MySQLIzdanje zajednice omogućuje statično povezivanje nizova. MySQLEnterprise plan dolazi s mogućnostima niti.
Nove značajke/proširenja MariaDB dolazi s novim značajkama i proširenjima uključujući naredbe JSON, WITH i KILL. Novo MariaDB značajke nisu dostupne u MySQL.
Nedostaju značajke MariaDB nedostaju neke značajke koje nudi MySQL poduzeće izdanje. Kako bi to riješio, nudi alternativne dodatke otvorenog koda. Stoga, MariaDB korisnici mogu uživati ​​u istim funkcijama kao MySQL Korisnici Enterprise Edition. Enterprise Edition of MySQL koristi vlasnički kod. Samo korisnici MySQL Enterprise Edition imaju pristup ovome.

Kako instalirati MariaDB

Instalirajte kao samostalnu aplikaciju

Da biste mogli koristiti MariaDB, morate ga instalirati na svoje računalo.

Instalacija se može izvršiti slijedeći dolje navedene korake:

Korak 1) Otvori ispod URL-a
Preuzmite instalacijsku datoteku s poveznice https://downloads.mariadb.org/

Korak 2) Double kliknite datoteku za početak instalacije
Kada je preuzimanje završeno, otvorite datoteku

Korak 3) Pritisnite gumb Dalje
U prozoru koji se pojavi kliknite gumb Dalje:

Instalacija MariaDB

Korak 4) Prihvatite licencni ugovor
Zatim kliknite gumb Dalje:

Instalacija MariaDB

Korak 5) Odaberite MariaDB Server
Odaberite značajke koje želite instalirati i kliknite Dalje

Instalacija MariaDB

Korak 6) Unesite lozinku
U sljedećem prozoru od vas će se tražiti da promijenite lozinku za root korisnika.

  1. Unesite lozinku i potvrdite je ponovnim upisivanjem iste lozinke. Ako želite dopustiti pristup s udaljenih računala, aktivirajte potreban potvrdni okvir.
  2. Kada završite, kliknite gumb Dalje.

Instalacija MariaDB

Korak 7) Unesite ime i odaberite broj priključka
U sljedećem prozoru upišite naziv instance, odaberite broj porta i postavite potrebnu veličinu. Pritisnite gumb Dalje:

Instalacija MariaDB

Korak 8) Kliknite Dalje
U sljedećem prozoru jednostavno kliknite gumb Dalje.

Korak 9) Kliknite na Instaliraj
Pokrenite instalaciju klikom na gumb Instaliraj.

Instalacija MariaDB

Korak 10) Prikazana traka napretka
Prikazat će se traka napretka koja prikazuje napredak instalacije:

Instalacija MariaDB

Korak 11) Pritisnite gumb Završi
Kada instalacija završi, vidjet ćete gumb Završi. Pritisnite gumb za zatvaranje prozora:

Instalacija MariaDB

Korak 12) Čestitamo!
Sad jesi MariaDB instaliran na vašem računalu.

Rad s naredbenim redkom

Sad kad jesi MariaDB instaliran na vašem računalu, vrijeme je da ga pokrenete i počnete koristiti. To se može učiniti putem MariaDB naredbeni redak.

Slijedite korake navedene u nastavku:

Korak 1) Pritisnite Start, odaberite Svi programi i kliknite MariaDB...

Korak 2) Odaberite MariaDB Naredbenog retka.

MariaDB Command Prompt

Korak 3) The MariaDB pokrenut će se naredbeni redak. Sada je vrijeme za prijavu. Morate se prijaviti kao root korisnik i lozinku koju ste postavili tijekom instalacije MariaDB. Upišite sljedeću naredbu u naredbeni redak:

MySQL -u root -p

Korak 4) Unesite lozinku i pritisnite tipku za povratak. Trebali biste biti prijavljeni, kao što je prikazano u nastavku:

MariaDB Command Prompt

Sada ste prijavljeni MariaDB.

Vrste podataka

MariaDB podržava sljedeće vrste podataka:

  • String tipovi podataka
  • Numerički tipovi podataka
  • Vrste podataka datum/vrijeme
  • Tipovi podataka velikih objekata

String tipovi podataka

To uključuje sljedeće:

Tip podataka niza Description
char (veličina) Veličina označava broj znakova koji se pohranjuju. Pohranjuje maksimalno 255 znakova. Žice fiksne duljine.
varchar(veličina) Veličina označava broj znakova koji se pohranjuju. Pohranjuje maksimalno 255 znakova. Nizovi promjenjive duljine.
tekst (veličina) Veličina označava broj znakova koji se pohranjuju. Pohranjuje maksimalno 255 znakova. Žice fiksne duljine.
binarni (veličina) Veličina označava broj znakova koji se pohranjuju. Pohranjuje maksimalno 255 znakova. Nizovi fiksne veličine.

Numeričke vrste podataka

Oni uključuju sljedeće:

Numeričke vrste podataka Description
bit Vrlo mala vrijednost cijelog broja ekvivalentna tinyint(1). Vrijednosti s predznakom kreću se između -128 i 127. Vrijednosti bez predznaka kreću se između 0 i 255.
int(m) Standardna vrijednost cijelog broja. Vrijednosti s predznakom kreću se između -2147483648 i 2147483647. Vrijednosti bez predznaka kreću se između 0 i 4294967295.
float(m, d) Broj s pomičnim zarezom s jednostrukom preciznošću.
dvostruko (m,d) Broj s pomičnim zarezom s dvostrukom preciznošću.
float(p) Broj s pomičnim zarezom.

Vrste podataka datum/vrijeme

To uključuje sljedeće:

Vrsta podataka datum/vrijeme Description
Datum Prikazuje se u obliku 'gggg-mm-dd.' Vrijednosti se kreću između '1000-01-01' i '9999-12-31'.
datum Vrijeme Prikazuje se u obliku 'gggg-mm-dd hh:mm:ss'. Vrijednosti se kreću između '1000-01-01 00:00:00' i '9999-12-31 23:59:59'.
vremenska oznaka (m) Prikazuje se u obliku 'gggg-mm-dd hh:mm:ss'. Vrijednosti se kreću između '1970-01-01 00:00:01' utc i '2038-01-19 03:14:07' utc.
Vrijeme Prikazuje se u obliku 'hh:mm:ss'. Vrijednosti se kreću između '-838:59:59' i '838:59:59'.

Veliki objektni tipovi podataka (LOB)

Oni uključuju sljedeće:

Tip podataka velikog objekta Description
sićušna mrljica Njegova najveća veličina je 255 bajtova.
mrlja (veličina) Uzima 65,535 XNUMX bajtova kao maksimalnu veličinu.
srednja mrlja Njegova najveća veličina je 16,777,215 bajtova.
dugačak tekst Kao maksimalna veličina potrebno je 4 GB.

Napravite bazu podataka i tablice

Za stvaranje nove baze podataka u MariaDB, trebali biste imati posebne privilegije koje su dodijeljene samo root korisniku i administratorima.

Da biste stvorili novu bazu podataka, trebali biste koristiti naredbu CREATE DATABASE koja ima sljedeću sintaksu:

CREATE DATABASE DatabaseName;

U ovom slučaju morate kreirati bazu podataka i dati joj naziv Demo.

Pokrenite MariaDB naredbeni redak i prijavite se kao root korisnik upisivanjem sljedeće naredbe:

mysql -u root -p

Upišite root lozinku i pritisnite tipku return. Bit ćete prijavljeni.

Sada pokrenite sljedeću naredbu:

CREATE DATABASE Demo;

Stvorite bazu podataka i tablice u MariaDB

Zatim ste stvorili bazu podataka pod nazivom Demo. Bilo bi dobro da potvrdite je li baza podataka uspješno kreirana ili ne. Morate samo prikazati popis dostupnih baza podataka pokretanjem sljedeće naredbe:

SHOW DATABASES;

Stvorite bazu podataka i tablice u MariaDB

Gornji rezultat pokazuje da je Demo baza podataka dio popisa, stoga je baza podataka uspješno stvorena.

MariaDB Odaberite Baza podataka

Da biste mogli koristiti ili raditi na određenoj bazi podataka, morate je odabrati s popisa dostupnih baza podataka. Nakon odabira baze podataka, možete obavljati zadatke kao što je stvaranje tablica unutar baze podataka.

Za odabir baze podataka trebate koristiti naredbu USE. Potrebna je sintaksa navedena u nastavku:

USE database_name;

Morate koristiti Demo bazu podataka. Možete ga odabrati pokretanjem sljedeće naredbe:

USE Demo;

Stvorite bazu podataka i tablice u MariaDB

Gornja slika pokazuje da je MariaDB naredbeni redak promijenio se iz none u naziv baze podataka koja je odabrana.

Sada možete nastaviti i stvarati tablice unutar Demo baze podataka.

MariaDB – Napravi tablicu

Da biste mogli izraditi tablicu, morate imati odabranu bazu podataka. Tablica se može kreirati pomoću naredbe CREATE TABLE. Evo sintakse za naredbu:

CREATE TABLE tableName (columnName columnType);

Možete postaviti jedan od stupaca da bude primarni ključ. Ovaj stupac ne smije dopuštati nulte vrijednosti.

Napravit ćemo dvije tablice unutar Demo baze podataka, tablice Book i Price. Svaka tablica će imati dva stupca.

Započnimo stvaranjem tablice Book s dva stupca, id i name. Pokrenite sljedeću naredbu:

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

Stvorite bazu podataka i tablice u MariaDB

Ograničenje PRIMARY KEY korišteno je za postavljanje id stupca kao primarnog ključa za tablicu. Svojstvo AUTO_INCREMENT automatski će povećati vrijednosti stupca id za 1 za svaki novi zapis umetnut u tablicu. Svi stupci neće dopustiti nulte vrijednosti.

Sada kreirajte drugu tablicu, tablicu cijena:

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

Stvorite bazu podataka i tablice u MariaDB

Id stupac je postavljen kao primarni ključ za tablicu.

Prikaz tablica

Sada kada ste izradili dvije tablice, bilo bi dobro za vas utvrditi jesu li tablice izrađene uspješno ili ne. Popis tablica sadržanih u bazi podataka možete prikazati izvođenjem sljedeće naredbe:

SHOW TABLES;

Stvorite bazu podataka i tablice u MariaDB

Gornji snimak zaslona pokazuje da su dvije tablice uspješno stvorene unutar baze podataka Demo.

Prikaz strukture tablice

Da biste vidjeli strukturu bilo koje određene tablice, možete upotrijebiti naredbu DESCRIBE, obično skraćenu kao DESC. Potrebna je sljedeća sintaksa:

DESC TableName;

Na primjer, da vidite strukturu tablice pod nazivom Knjiga, možete pokrenuti sljedeću naredbu;

DESC Book;

Stvorite bazu podataka i tablice u MariaDB

Tablica ima dva stupca. Da biste vidjeli strukturu tablice cijena, možete pokrenuti sljedeću naredbu:

DESC Price;

Stvorite bazu podataka i tablice u MariaDB

CRUD i klauzule

INSERT

Za umetanje podataka u a MariaDB tablici, trebali biste koristiti naredbu INSERT INTO. Ova naredba uzima sintaksu danu u nastavku:

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

Gornja sintaksa pokazuje da morate navesti stupce tablice u koje želite umetnuti podatke kao i podatke koje trebate umetnuti.

Umetnimo zapis u tablicu knjige:

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

CRUD i klauzule-INSERT

U tablicu ste umetnuli jedan zapis. Umetnite zapis u tablicu cijena:

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

CRUD i klauzule-INSERT

Zapis je stvoren.

SELECT

Naredba SELECT pomaže nam da pregledamo ili vidimo sadržaj tablice baze podataka. Da biste vidjeli sadržaj tablice knjiga, na primjer, trebate pokrenuti sljedeću naredbu:

SELECT * from book;

CRUD i klauzule-INSERT

Sada pogledajte sadržaj tablice cijena:

SELECT * from price;

CRUD i klauzule-INSERT

Umetanje više zapisa

Moguće je da umetnemo više zapisa u a MariaDB stol u pokretu. Da biste to demonstrirali, pokrenite sljedeći primjer:

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

Umetanje više zapisa

Možete postaviti upit tablici da biste provjerili jesu li zapisi uspješno umetnuti:

SELECT * FROM book;

Umetanje više zapisa

Zapisi su uspješno umetnuti. Umetnite više zapisa u tablicu cijena pokretanjem ovog primjera:

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

Umetanje više zapisa

Potvrdimo jesu li zapisi uspješno kreirani:

SELECT * FROM price;

Umetanje više zapisa

UPDATE

Naredba UPDATE nam pomaže promijeniti ili modificirati zapise koji su već umetnuti u tablicu. Možete ga kombinirati s klauzulom WHERE kako biste odredili zapis koji treba ažurirati. Evo sintakse:

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

Naredba UPDATE također se može kombinirati s klauzulama kao što su SET, WHERE, LIMIT i ORDER BY. Vidjet ćete ovo uskoro:

Razmotrite tablicu pod nazivom Cijena sa sljedećim zapisima:

CRUD i klauzule - AŽURIRANJE

Promijenimo cijenu knjige s id-om 1 sa 200 na 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD i klauzule - AŽURIRANJE

Naredba je uspješno izvedena. Sada možete postaviti upit tablici da vidite je li došlo do promjene:

CRUD i klauzule - AŽURIRANJE

Gornji snimak zaslona pokazuje da je promjena provedena. Razmotrite tablicu Knjigu sa sljedećim zapisima:

CRUD i klauzule - AŽURIRANJE

Promijenimo ime knjige pod nazivom Knjiga u MariaDB Knjiga1. Primijetite da knjiga ima ID 1. Evo naredbe za ovo:

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

CRUD i klauzule - AŽURIRANJE

Provjerite je li promjena provedena:

CRUD i klauzule - AŽURIRANJE

Gornji snimak zaslona pokazuje da je promjena uspješno implementirana.

U gornjim primjerima promijenili smo samo jedan po jedan stupac. Međutim, moguće je promijeniti više stupaca odjednom. Pokažimo to na primjeru.

Poslužimo se tablicom cijena sa sljedećim podacima:

CRUD i klauzule - AŽURIRANJE

Promijenimo i ID i cijenu knjige s ID-om 5. Promijenit ćemo njezin ID na 6, a cijenu na 6. Pokrenite sljedeću naredbu:

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

CRUD i klauzule - AŽURIRANJE

Sada postavite upit tablici da provjerite je li promjena uspješno napravljena:

CRUD i klauzule - AŽURIRANJE

Promjena je uspješno izvršena.

Izbrisati

Naredbu DELETE koristimo kada trebamo izbrisati jedan ili više zapisa iz tablice. Evo sintakse za naredbu:

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

Razmotrite tablicu cijena sa sljedećim zapisima:

CRUD i klauzule-DELETE

Moramo izbrisati zadnji zapis iz tablice. Ima ID 6 i cijenu 280. Izbrišite zapis:

DELETE FROM price
WHERE id = 6;   

CRUD i klauzule-DELETE

Naredba je uspješno izvedena. Upitajmo tablicu da potvrdimo je li brisanje uspješno:

CRUD i klauzule-DELETE

Izlaz pokazuje da je zapis uspješno izbrisan.

Gdje

WHERE klauzula nam pomaže odrediti točnu lokaciju na kojoj trebamo napraviti promjenu. Koristi se zajedno s izjavama kao što su INSERT, SELECT, UPDATE i DELETE. Razmotrite tablicu cijena sa sljedećim podacima:

CRUD i klauzule - gdje

Pretpostavimo da trebamo vidjeti zapise u kojima je cijena manja od 250. Možemo pokrenuti sljedeću naredbu:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD i klauzule - gdje

Svi zapisi u kojima je cijena ispod 250 su vraćeni.

Odredba WHERE može se kombinirati s naredbom AND. Pretpostavimo da trebamo vidjeti sve zapise u tablici cijena gdje je cijena ispod 250, a id iznad 3. Možemo pokrenuti sljedeću naredbu:

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

CRUD i klauzule - gdje

Vraćen je samo jedan zapis. Razlog tome je što mora ispunjavati sve uvjete koji su navedeni, odnosno id iznad 3 i cijenu ispod 250. Ako se prekrši bilo koji od ovih uvjeta, zapis se neće vratiti.

Klauzula se također može kombinirati s naredbom OR. Zamijenimo AND u našoj prethodnoj naredbi s OR i pogledajmo kakav izlaz dobivamo:

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

CRUD i klauzule - gdje

Sada dobivamo 2 zapisa umjesto 1. To je zato što, da bi zapis bio kvalificiran, mora zadovoljiti samo jedan od navedenih uvjeta.

Like

Ova se klauzula koristi za određivanje uzorka podataka kada se pristupa podacima tablice u kojima je potrebno točno podudaranje. Može se kombinirati s izjavama INSERT, UPDATE, SELECT i DELETE.

Trebali biste klauzuli proslijediti obrazac podataka koji tražite, a ona će vratiti ili true ili false. Ovo su zamjenski znakovi koji se mogu koristiti zajedno s klauzulom:

  • %: za podudaranje 0 ili više znakova.
  • _: za podudaranje jednog znaka.

Evo sintakse za klauzulu LIKE:

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

Pokažimo kako koristiti klauzulu sa zamjenskim znakom %. Iskoristimo tablicu Book sa sljedećim zapisima:

CRUD i klauzule - gdje

Moramo vidjeti sve zapise u kojima ime počinje s M. Možemo pokrenuti sljedeću naredbu:

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

CRUD i klauzule - gdje

Svi zapisi su vraćeni jer njihova imena počinju slovom M. Da biste vidjeli sva imena koja završavaju sa 4, možete pokrenuti sljedeću naredbu:

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

CRUD i klauzule - gdje

Vraćeno je samo jedno ime jer jedino ono ispunjava uvjet.

Također možemo okružiti obrazac pretraživanja zamjenskim znakom:

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

CRUD i klauzule - gdje

Osim zamjenskog znaka %, klauzula LIKE može se koristiti zajedno sa zamjenskim znakom _. Ovo je zamjenski znak za podvlaku i tražit će samo jedan znak.

Radimo s tablicom cijena sa sljedećim zapisima:

CRUD i klauzule - gdje

Provjerimo zapis u kojem je cijena 1_0. Pokrećemo sljedeću naredbu:

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

CRUD i klauzule - gdje

Vratio je zapis u kojem je cijena 190. Također možemo pokušati s drugim uzorkom:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD i klauzule - gdje

Moguće je koristiti klauzulu LIKE zajedno s operatorom NOT. Ovo će vratiti sve zapise koji ne zadovoljavaju navedeni uzorak. Na primjer:

Iskoristimo tablicu cijena sa sljedećim zapisima:

CRUD i klauzule - gdje

Pronađimo sve zapise u kojima cijena ne počinje s 2:

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

CRUD i klauzule - gdje

Samo jedan zapis ne zadovoljava navedeni obrazac.

Naruči po

Ova nam klauzula pomaže razvrstati naše zapise bilo uzlaznim bilo silaznim redoslijedom. Koristimo ga s naredbom SELECT, kao što je prikazano u nastavku:

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

Moguće je koristiti ovu klauzulu bez dodavanja ASC ili DESC dijela. Na primjer:

Koristit ćemo tablicu cijena sa sljedećim zapisima:

CRUD i klauzule - gdje

Izvedite sljedeću naredbu nad tablicom:

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

CRUD i klauzule - gdje

U gornjoj naredbi poredali smo po cijeni. Zapisi su poredani s cijenama uzlaznim redoslijedom. To znači da kada ne navedemo redoslijed, sortiranje se prema zadanim postavkama vrši uzlaznim redoslijedom.

Pokrenimo klauzulu s DESC opcijom:

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

CRUD i klauzule - gdje

Zapisi su poredani s cijenom silaznim redoslijedom kako smo naveli.

Upotrijebimo klauzulu ORDER BY zajedno s ASC atributom:

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

CRUD i klauzule - gdje

Zapisi su poredani, ali s cijenama u uzlaznom redoslijedu. Ovo je slično kao kad koristimo klauzulu ORDER BY bez ASC ili DESC atributa.

DISTINCT

Ova klauzula nam pomaže da uklonimo duplikate pri odabiru zapisa iz tablice. To znači da nam pomaže da dobijemo jedinstvene zapise. Njegova sintaksa je navedena u nastavku:

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

Da bismo to demonstrirali, koristit ćemo tablicu cijena sa sljedećim podacima:

CRUD i klauzule - DISTINCT

Kada iz tablice izaberemo stupac cijena, dobivamo sljedeći rezultat:

SELECT price FROM Price;

CRUD i klauzule - DISTINCT

Imamo dva zapisa s cijenom od 250, stvarajući duplikat. Moramo imati samo jedinstvene zapise. Možemo ih filtrirati pomoću klauzule DISTINCT kao što je prikazano u nastavku:

SELECT DISTINCT price FROM Price;

CRUD i klauzule - DISTINCT

Sada nemamo nijedan duplikat u gornjem izlazu.

Od

Klauzula FROM koja se koristi za dohvaćanje podataka iz tablice baze podataka. Može pomoći i kod spajanja stolova. Evo sintakse za naredbu:

SELECT columnNames FROM tableName; 

Da biste vidjeli sadržaj tablice knjiga, pokrenite sljedeću naredbu:

SELECT * FROM price;

CRUD i klauzule-iz

Klauzula vam može pomoći da dohvatite samo jedan stupac iz tablice baze podataka. Na primjer:

SELECT price FROM Price;

CRUD i klauzule-iz

Napredni zadaci

Pohranjeni postupak

Postupak je a MariaDB program kojem možete proslijediti parametre. Procedura ne vraća vrijednosti. Za izradu procedure koristimo naredbu CREATE PROCEDURE.

Da bismo demonstrirali kako stvoriti i pozvati proceduru, stvorit ćemo proceduru pod nazivom myProcedure() koja nam pomaže odabrati stupac imena iz tablice knjige. Evo postupka:

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

Napredni zadaci-pohranjeni postupak

Procedura je kreirana. Jednostavno smo zatvorili naredbu SELECT unutar klauzula BEGIN i END procedure.

Sada možemo proceduru nazvati njenim imenom kao što je prikazano u nastavku:

CALL myProcedure();

Napredni zadaci-pohranjeni postupak

Procedura vraća stupac naziva tablice knjige kada se pozove.

Možemo kreirati proceduru koja uzima parametar. Na primjer, trebamo odabrati naziv knjige i filtrirati pomoću ID-a knjige. Za to možemo kreirati sljedeći postupak:

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

Napredni zadaci-pohranjeni postupak

Gore smo stvorili proceduru pod nazivom myProcedure2(). Ova procedura uzima jedan cjelobrojni parametar pod nazivom book_id koji je ID knjige čije ime trebamo vidjeti. Da bismo vidjeli naziv knjige s ID-om 3, možemo pozvati proceduru na sljedeći način:

CALL myProcedure2(3);

Napredni zadaci-pohranjeni postupak

funkcija

Za razliku od procedura, moramo proslijediti parametre funkcijama, a funkcija mora vratiti vrijednost. Za stvaranje funkcije u MariaDB, koristimo naredbu CREATE FUNCTION. Izjava ima sljedeću sintaksu:

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;

Gore navedeni parametri opisani su u nastavku:

Parametar Description
klauzula DEFINER Ovaj parametar nije obavezan. Ako to ne navedete, definirač će postati korisnik koji je stvorio funkciju. Ako postoji potreba za specificiranjem drugog definitora, uključite klauzulu DEFINER u kojoj će user_name biti definitor funkcije.
naziv_funkcije Naziv koji će se dodijeliti ovoj funkciji u MariaDB.
parametar Parametar(i) proslijeđen funkciji. Tijekom kreiranja funkcije svi parametri se tretiraju kao IN parametri (umjesto parametara OUT/INOUT).
povratni_tip_podataka Tip podataka povratne vrijednosti funkcije.
JEZIK SQL Utječe na prenosivost, ali ne i na funkciju.
DETERMINISTIČKA Funkcija će vratiti jedan rezultat samo ako joj je zadan niz parametara.
NIJE DETERMINISTIČKO Moguće je da funkcija vrati drugačiji rezultat kada joj se zada niz parametara.
SADRŽI SQL obavještava MariaDB da ova funkcija sadrži SQL. Baza podataka neće provjeriti je li to točno.
NEMA SQL-a Ova klauzula se ne koristi i nema utjecaja na vašu funkciju.
ČITA SQL PODATKE govori MariaDB da će ova funkcija koristiti SELECT naredbe za čitanje podataka, ali neće modificirati podatke.
MIJENJA SQL PODATKE govori MariaDB da će ova funkcija koristiti INSERT, DELETE, UPDATE i druge DDL izjave za izmjenu SQL podataka.
deklaracija-odjeljak Ovdje treba deklarirati lokalne varijable.
izvršni-odjeljak Ovdje treba dodati kod funkcije.

Evo primjera MariaDB funkcija:

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 ;

Funkcija u MariaDB

Tada možemo pozvati gornju funkciju na sljedeći način:

select sumFunc(1000);

Naredba će vratiti sljedeće:

Funkcija u MariaDB

Nakon što završite s nekom funkcijom, bilo bi dobro da je izbrišete. Ovo je jednostavno jer morate samo pozvati naredbu DROP FUNCTION koja ima sljedeću sintaksu:

DROP FUNCTION function_name;

Na primjer, da ispustimo funkciju pod nazivom myFunc, možemo pokrenuti sljedeću naredbu:

DROP FUNCTION myFunc;

PRIDRUŽITE

Kada trebate dohvatiti podatke iz više od jedne tablice odjednom, koristite MariaDB PRIDRUŽUJE SE. To znači da a PRIDRUŽITE radi na dva ili više stolova. Sljedeće tri vrste JOIN-ova su podržane u MariaDB:

  • UNUTARNJI/JEDNOSTAVNI SPOJ
  • LIJEVI VANJSKI SPOJ/LIJEVI SPOJ
  • DESNI VANJSKI SPOJ/DESNI SPOJ

Razmotrimo ih jednu po jednu:

INNER JOIN

Unutarnje spajanje vraća sve retke iz tablica u kojima je uvjet spajanja istinit. Sintaksa mu je sljedeća:

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

Na primjer:

Koristit ćemo naša dva stola, knjige i knjigu.

Tablica knjiga ima sljedeće podatke:

INNER JOIN

Tablica cijena sadrži sljedeće podatke:

INNER JOIN

Cilj je spojiti stupac naziva iz tablice Knjiga i stupac cijene iz tablice Cijena u jednu tablicu. To je moguće s unutarnjim spajanjem, kao što je prikazano u nastavku:

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

Naredba vraća sljedeće:

INNER JOIN

LIJEVI VANJSKI SPOJ

Ovo spajanje vraća sve retke iz lijeve tablice i samo retke u kojima je uvjet spajanja istinit iz druge tablice. Sintaksa mu je sljedeća:

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

Ključna riječ OUTER stavljena je u uglate zagrade jer nije obavezna.

Na primjer:

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

Naredba vraća sljedeće:

LIJEVI VANJSKI SPOJ

Posljednji zapis u gornjoj tablici nema odgovarajuću vrijednost na lijevoj strani. Zbog toga je zamijenjen s NULL.

DESNI VANJSKI SPOJ

Ovo spajanje vraća sve retke iz desne tablice i samo retke u kojima je uvjet spajanja istinit iz druge tablice. Sintaksa mu je sljedeća:

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

Ključna riječ OUTER stavljena je u uglate zagrade jer nije obavezna.

Na primjer:

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

Naredba vraća sljedeće:

DESNI VANJSKI SPOJ

Razlog je taj što su svi retci u desnoj tablici usklađeni s onima u drugoj tablici. Ako se neki od redaka ne poklapaju, imali bismo NULL u prvom stupcu.