MariaDB Poradnik

Czym jest MariaDB?

MariaDB jest widelcem MySQL system zarządzania bazą danych. Jest tworzony przez oryginalnych twórców. To narzędzie DBMS oferuje możliwości przetwarzania danych zarówno dla zadań małych, jak i korporacyjnych.

MariaDB jest ulepszoną wersją MySQL. Zawiera wiele wbudowanych, potężnych funkcji oraz wiele ulepszeń użyteczności, bezpieczeństwa i wydajności, których nie można znaleźć MySQL.

Oto cechy MariaDB:

  • Działa na podstawie licencji GPL, BSD lub LGPL.
  • MariaDB obsługuje popularny i standardowy język zapytań.
  • Jest wyposażony w wiele silników pamięci masowej, w tym te o wysokiej wydajności, które można zintegrować z innymi systemami zarządzania relacyjnymi bazami danych.
  • Dostarcza technologię klastra Galera.
  • MariaDB obsługuje PHP, popularny język do tworzenia stron internetowych.
  • MariaDB może działać na różnych systemach operacyjnych i obsługuje wiele języków programowania.
  • MariaDB zawiera dodatkowe polecenia, które nie są dostępne w MySQL. MySQL posiada cechy, które mają negatywny wpływ na wydajność SZBD. Takie funkcje zostały zastąpione w MariaDB.

MariaDB vs MySQL

Poniżej znajduje się kilka kluczowych różnic między MariaDB vs MySQL

Parametr MariaDB MySQL
Więcej opcji dla silników pamięci masowej MariaDB ma 12 nowych silników przechowywania, w których nie znajdziesz MySQL. Ma mniej opcji przechowywania w porównaniu do MariaDB.
Ulepszenia prędkości MariaDB wykazuje lepszą prędkość w porównaniu do MySQL. Zawiera wiele funkcji optymalizujących prędkość. Takie funkcje obejmują widoki/tabele pochodne, podzapytania, kontrolę wykonania, dostęp do dysku i kontrolę optymalizatora. MySQL wykazuje mniejszą prędkość w porównaniu do MariaDB. Opiera się tylko na kilku funkcjach optymalizacji prędkości, na przykład indeksach skrótu.
Szybsza pamięć podręczna/indeksy Dzięki silnikowi przechowywania pamięci firmy MariaDB, instrukcję INSERT można wypełnić w 24% niż w standardzie MySQL. Silnik przechowywania pamięci MySQL jest wolniejszy w porównaniu z tym MariaDB.
Większa i szybsza pula połączeń MariaDB jest wyposażony w zaawansowaną pulę wątków, która może działać szybciej i obsługiwać do 200,000 XNUMX+ połączeń. Pula wątków udostępniana przez MySQL nie może obsłużyć do 200,000 XNUMX połączeń na raz.
Ulepszona replikacja In MariaDBreplikację można przeprowadzić bezpieczniej i szybciej. Aktualizacje można także przeprowadzać 2x szybciej w porównaniu do wersji tradycyjnej MySQL. MySQLWersja społecznościowa pozwala na połączenie statycznej liczby wątków. MySQLplan korporacyjny zawiera funkcje wątków.
Nowe funkcje/rozszerzenia MariaDB zawiera nowe funkcje i rozszerzenia, w tym instrukcje JSON, WITH i KILL. Nowa MariaDB funkcje nie są dostępne w MySQL.
Brakujące funkcje MariaDB brakuje niektórych funkcji zapewnianych przez MySQL wydanie korporacyjne. Aby rozwiązać ten problem, oferuje alternatywne wtyczki typu open source. Stąd, MariaDB użytkownicy mogą cieszyć się tymi samymi funkcjonalnościami, co MySQL Użytkownicy wersji Enterprise. Wersja dla przedsiębiorstw MySQL używa zastrzeżonego kodu. Tylko użytkownicy MySQL Wersja Enterprise ma do tego dostęp.

Jak zainstalować MariaDB

Zainstaluj jako samodzielną aplikację

W celu wykorzystania MariaDB, musisz zainstalować go na swoim komputerze.

Instalację można przeprowadzić wykonując poniższe kroki:

Krok 1) Otwórz poniższy adres URL
Pobierz plik instalacyjny z łącza https://downloads.mariadb.org/

Krok 2) Double kliknij plik, aby rozpocząć instalację
Po zakończeniu pobierania otwórz plik

Krok 3) Kliknij przycisk Dalej
W wyskakującym oknie kliknij przycisk Dalej:

Instalacja MariaDB

Krok 4) Zaakceptuj umowę licencyjną
Następnie kliknij przycisk Dalej:

Instalacja MariaDB

Krok 5) Dodaj MariaDB
Wybierz funkcje, które mają zostać zainstalowane, i kliknij Dalej

Instalacja MariaDB

Krok 6) Podaj hasło
W następnym oknie konieczna będzie zmiana hasła użytkownika root.

  1. Wprowadź hasło i potwierdź je, wpisując ponownie to samo hasło. Jeśli chcesz zezwolić na dostęp z komputerów zdalnych, zaznacz odpowiednie pole wyboru.
  2. Po zakończeniu kliknij przycisk Dalej.

Instalacja MariaDB

Krok 7) Wprowadź nazwę i wybierz numer portu
W kolejnym oknie wpisz nazwę instancji, wybierz numer portu i ustaw wymagany rozmiar. Kliknij przycisk Dalej:

Instalacja MariaDB

Krok 8) Kliknij Dalej
W następnym oknie wystarczy kliknąć przycisk Dalej.

Krok 9) Kliknij Zainstaluj
Uruchom instalację, klikając przycisk Instaluj.

Instalacja MariaDB

Krok 10) Pokazano pasek postępu
Wyświetli się pasek postępu pokazujący postęp instalacji:

Instalacja MariaDB

Krok 11) Kliknij przycisk Zakończ
Po zakończeniu instalacji zobaczysz przycisk Zakończ. Kliknij przycisk, aby zamknąć okno:

Instalacja MariaDB

Krok 12) Gratulacje!
Masz teraz MariaDB zainstalowane na twoim komputerze.

Praca z wierszem poleceń

Teraz, kiedy już masz MariaDB zainstalowany na Twoim komputerze, nadszedł czas, abyś go uruchomił i zaczął z niego korzystać. Można to zrobić poprzez MariaDB wiersz polecenia.

Wykonaj poniższe kroki:

Krok 1) Kliknij Start, wybierz Wszystkie programy i kliknij MariaDB...

Krok 2) Wybierz MariaDB Wiersz polecenia.

MariaDB Wiersz polecenia

Krok 3) MariaDB zostanie uruchomiony wiersz poleceń. Nadszedł czas na zalogowanie się. Należy zalogować się jako użytkownik root i podać hasło ustawione podczas instalacji MariaDB. Wpisz następujące polecenie w wierszu poleceń:

MySQL -u root -p

Krok 4) Wprowadź hasło i naciśnij klawisz Return. Powinieneś być zalogowany, jak pokazano poniżej:

MariaDB Wiersz polecenia

Jesteś teraz zalogowany MariaDB.

Typy danych

MariaDB obsługuje następujące typy danych:

  • Ciągowe typy danych
  • Liczbowe typy danych
  • Typy danych daty/godziny
  • Typy danych dużych obiektów

Typy danych łańcuchowych

Należą do nich:

Typ danych ciągu Opisy Konstrukcyjne
znak (rozmiar) Rozmiar oznacza liczbę znaków do zapisania. Przechowuje maksymalnie 255 znaków. Struny o stałej długości.
varchar (rozmiar) Rozmiar oznacza liczbę znaków do zapisania. Przechowuje maksymalnie 255 znaków. Struny o zmiennej długości.
rozmiar czcionki) Rozmiar oznacza liczbę znaków do zapisania. Przechowuje maksymalnie 255 znaków. Struny o stałej długości.
binarny (rozmiar) Rozmiar oznacza liczbę znaków do zapisania. Przechowuje maksymalnie 255 znaków. Struny o stałym rozmiarze.

Numeryczne typy danych

Obejmują one:

Numeryczne typy danych Opisy Konstrukcyjne
bit Bardzo mała wartość całkowita odpowiadająca tinyint(1). Wartości ze znakiem mieszczą się w zakresie od -128 do 127. Wartości bez znaku mieszczą się w zakresie od 0 do 255.
cal(m) Standardowa wartość całkowita. Wartości ze znakiem mieszczą się w zakresie od -2147483648 do 2147483647. Wartości bez znaku mieszczą się w zakresie od 0 do 4294967295.
pływak (m, d) Liczba zmiennoprzecinkowa z pojedynczą precyzją.
podwójny(m,d) Liczba zmiennoprzecinkowa o podwójnej precyzji.
pływak (p) Liczba zmiennoprzecinkowa.

Typy danych daty/godziny

Należą do nich:

Typ danych daty/godziny Opisy Konstrukcyjne
Data Wyświetlane w formacie „rrrr-mm-dd”. Wartości mieszczą się w zakresie od „1000-01-01” do „9999-12-31”.
Datetime Wyświetlane w formacie 'yyyy-mm-dd hh:mm:ss'. Wartości mieszczą się w zakresie od '1000-01-01 00:00:00' do '9999-12-31 23:59:59'.
znacznik czasu (m) Wyświetlane w formacie 'yyyy-mm-dd hh:mm:ss'. Wartości mieszczą się w zakresie od '1970-01-01 00:00:01' utc do '2038-01-19 03:14:07' utc.
Czas Wyświetlane w formie 'hh:mm:ss'. Wartości mieszczą się w zakresie od '-838:59:59' do '838:59:59'.

Typy danych dużych obiektów (LOB)

Obejmują one:

Typ danych dużego obiektu Opisy Konstrukcyjne
mała kropelka Jego maksymalny rozmiar to 255 bajtów.
kropelka (rozmiar) Maksymalny rozmiar wynosi 65,535 XNUMX bajtów.
średnia plama Jego maksymalny rozmiar to 16,777,215 bajtów.
długi tekst Maksymalny rozmiar to 4 GB.

Utwórz bazę danych i tabele

Aby utworzyć nową bazę danych w MariaDB, powinieneś mieć specjalne uprawnienia, które są przyznawane tylko użytkownikowi root i administratorom.

Aby utworzyć nową bazę danych, należy użyć polecenia CREATE DATABASE o następującej składni:

CREATE DATABASE DatabaseName;

W takim przypadku musisz stworzyć bazę danych i nadać jej nazwę Demo.

Zacząć MariaDB wiersza poleceń i zaloguj się jako użytkownik root, wpisując następujące polecenie:

mysql -u root -p

Wpisz hasło roota i naciśnij klawisz Return. Zostaniesz zalogowany.

Teraz uruchom następujące polecenie:

CREATE DATABASE Demo;

Utwórz bazę danych i tabele w MariaDB

Następnie utworzyłeś bazę danych o nazwie Demo. Dobrze będzie, jeśli potwierdzisz, czy baza danych została utworzona pomyślnie, czy nie. Musisz tylko wyświetlić listę dostępnych baz danych, uruchamiając następujące polecenie:

SHOW DATABASES;

Utwórz bazę danych i tabele w MariaDB

Powyższe dane wyjściowe pokazują, że baza danych Demo jest częścią listy, dlatego baza danych została utworzona pomyślnie.

MariaDB Wybierz bazę danych

Aby móc korzystać lub pracować na konkretnej bazie danych, należy ją wybrać z listy dostępnych baz danych. Po wybraniu bazy danych można wykonywać takie zadania, jak tworzenie tabel w bazie danych.

Aby wybrać bazę danych należy użyć komendy USE. Przyjmuje składnię podaną poniżej:

USE database_name;

Musisz użyć bazy danych Demo. Możesz ją wybrać, uruchamiając następujące polecenie:

USE Demo;

Utwórz bazę danych i tabele w MariaDB

Powyższe zdjęcie pokazuje, że MariaDB wiersz polecenia zmienił się z „brak” na nazwę wybranej bazy danych.

Możesz teraz śmiało tworzyć tabele w bazie danych Demo.

MariaDB – Utwórz tabelę

Aby móc utworzyć tabelę, musisz wybrać bazę danych. Tabelę można utworzyć za pomocą instrukcji CREATE TABLE. Oto składnia polecenia:

CREATE TABLE tableName (columnName columnType);

Możesz ustawić jedną z kolumn jako klucz podstawowy. Ta kolumna nie powinna zezwalać na wartości null.

Utworzymy dwie tabele w bazie danych Demo, tabelach Book i Cen. Każda tabela będzie miała dwie kolumny.

Zacznijmy od utworzenia tabeli Book z dwiema kolumnami, id i name. Uruchom następujące polecenie:

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

Utwórz bazę danych i tabele w MariaDB

Zastosowano ograniczenie PRIMARY KEY, aby ustawić kolumnę id jako klucz podstawowy tabeli. Właściwość AUTO_INCREMENT automatycznie zwiększy wartość kolumny id o 1 dla każdego nowego rekordu wstawionego do tabeli. Wszystkie kolumny nie dopuszczają wartości null.

Teraz utwórz drugą tabelę, tabelę cen:

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

Utwórz bazę danych i tabele w MariaDB

Kolumna id została ustawiona jako klucz podstawowy tabeli.

Pokazywanie tabel

Teraz, gdy utworzyłeś dwie tabele, dobrze będzie, jeśli sprawdzisz, czy tabele zostały utworzone pomyślnie, czy nie. Możesz wyświetlić listę tabel zawartych w bazie danych, uruchamiając następujące polecenie:

SHOW TABLES;

Utwórz bazę danych i tabele w MariaDB

Powyższy zrzut ekranu pokazuje, że dwie tabele zostały pomyślnie utworzone w bazie danych Demo.

Pokazywanie struktury tabeli

Aby zobaczyć strukturę dowolnej tabeli, możesz użyć polecenia DESCRIBE, powszechnie skracanego jako DESC. Przyjmuje ono następującą składnię:

DESC TableName;

Na przykład, aby zobaczyć strukturę tabeli o nazwie Książka, możesz uruchomić następujące polecenie:

DESC Book;

Utwórz bazę danych i tabele w MariaDB

Tabela ma dwie kolumny. Aby zobaczyć strukturę tabeli Price, możesz uruchomić następujące polecenie:

DESC Price;

Utwórz bazę danych i tabele w MariaDB

CRUD i klauzule

INSERT

Aby wstawić dane do pliku a MariaDB tabeli, powinieneś użyć instrukcji INSERT INTO. To polecenie przyjmuje składnię podaną poniżej:

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

Powyższa składnia pokazuje, że musisz określić kolumny tabeli, do których chcesz wstawić dane, a także dane, które chcesz wstawić.

Wstawmy rekord do tabeli Book:

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

CRUD i klauzule-INSERT

Wstawiłeś pojedynczy rekord do tabeli. Wstaw rekord do tabeli cen:

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

CRUD i klauzule-INSERT

Rekord został utworzony.

SELECT

Polecenie SELECT pomaga nam przeglądać lub zobaczyć zawartość tabeli bazy danych. Aby zobaczyć zawartość tabeli Book, na przykład, musisz uruchomić następujące polecenie:

SELECT * from book;

CRUD i klauzule-INSERT

Teraz przejrzyj zawartość tabeli cen:

SELECT * from price;

CRUD i klauzule-INSERT

Wstawianie wielu rekordów

Możliwe jest wstawienie wielu rekordów do pliku MariaDB tabela na raz. Aby to zademonstrować, uruchom następujący przykład:

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

Wstawianie wielu rekordów

Możesz wysłać zapytanie do tabeli, aby sprawdzić, czy rekordy zostały pomyślnie wstawione:

SELECT * FROM book;

Wstawianie wielu rekordów

Rekordy zostały pomyślnie wstawione. Wstaw wiele rekordów do tabeli cen, uruchamiając ten przykład:

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

Wstawianie wielu rekordów

Sprawdźmy, czy rekordy zostały pomyślnie utworzone:

SELECT * FROM price;

Wstawianie wielu rekordów

Aktualizacja

Polecenie UPDATE pomaga nam zmienić lub zmodyfikować rekordy, które zostały już wstawione do tabeli. Można ją połączyć z klauzulą ​​WHERE, aby określić rekord, który ma zostać zaktualizowany. Oto składnia:

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

Polecenie UPDATE można także łączyć z klauzulami takimi jak SET, WHERE, LIMIT i ORDER BY. Wkrótce to zobaczysz:

Rozważmy tabelę o nazwie Cena zawierającą następujące rekordy:

CRUD i klauzule-AKTUALIZACJA

Zmieńmy cenę książki o identyfikatorze 1 z 200 na 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD i klauzule-AKTUALIZACJA

Komenda została wykonana pomyślnie. Możesz teraz wysłać zapytanie do tabeli, aby sprawdzić, czy zmiana miała miejsce:

CRUD i klauzule-AKTUALIZACJA

Powyższy zrzut ekranu pokazuje, że zmiana została zaimplementowana. Rozważ tabelę Book z następującymi rekordami:

CRUD i klauzule-AKTUALIZACJA

Zmieńmy nazwę książki o nazwie Książka na MariaDB Książka 1. Zauważ, że książka ma identyfikator 1. Oto polecenie:

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

CRUD i klauzule-AKTUALIZACJA

Sprawdź, czy zmiana została wdrożona:

CRUD i klauzule-AKTUALIZACJA

Powyższy zrzut ekranu pokazuje, że zmiana została pomyślnie wdrożona.

W powyższych przykładach zmienialiśmy tylko jedną kolumnę na raz. Istnieje jednak możliwość jednoczesnej zmiany wielu kolumn. Zademonstrujmy to na przykładzie.

Użyjmy tabeli cen z następującymi danymi:

CRUD i klauzule-AKTUALIZACJA

Zmieńmy zarówno identyfikator, jak i cenę książki, nadając jej identyfikator 5. Zmienimy jej identyfikator na 6, a cenę na 6. Uruchom następujące polecenie:

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

CRUD i klauzule-AKTUALIZACJA

Teraz wykonaj zapytanie do tabeli, aby sprawdzić, czy zmiana została pomyślnie dokonana:

CRUD i klauzule-AKTUALIZACJA

Zmiana została wprowadzona pomyślnie.

Usuń

Polecenie DELETE używamy, gdy chcemy usunąć jeden lub wiele rekordów z tabeli. Oto składnia polecenia:

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

Rozważ tabelę cen zawierającą następujące rekordy:

CRUD i klauzule-USUŃ

Musimy usunąć ostatni rekord z tabeli. Ma identyfikator 6 i cenę 280. Usuńmy rekord:

DELETE FROM price
WHERE id = 6;   

CRUD i klauzule-USUŃ

Komenda została wykonana pomyślnie. Zapytajmy tabelę, czy usunięcie się powiodło:

CRUD i klauzule-USUŃ

Dane wyjściowe pokazują, że rekord został pomyślnie usunięty.

Gdzie

Klauzula WHERE pomaga nam określić dokładną lokalizację, w której musimy dokonać zmiany. Jest używana razem z poleceniami takimi jak INSERT, SELECT, UPDATE i DELETE. Rozważmy tabelę Price z następującymi danymi:

CRUD i Klauzule-Gdzie

Załóżmy, że musimy zobaczyć rekordy, w których cena jest mniejsza niż 250. Możemy uruchomić następujące polecenie:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD i Klauzule-Gdzie

Wszystkie rekordy, w których cena jest niższa niż 250 zostały zwrócone.

Klauzulę WHERE można połączyć z poleceniem AND. Załóżmy, że chcemy zobaczyć wszystkie rekordy w tabeli Price, w których cena jest poniżej 250, a id jest powyżej 3. Możemy uruchomić następujące polecenie:

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

CRUD i Klauzule-Gdzie

Zwrócono tylko jeden rekord. Powodem jest to, że musi spełniać wszystkie określone warunki, czyli id ​​powyżej 3 i cenę poniżej 250. W przypadku naruszenia któregokolwiek z tych warunków, rekord nie zostanie zwrócony.

Klauzulę można także połączyć z poleceniem OR. Zamieńmy AND w naszym poprzednim poleceniu na OR i zobaczmy, jaki wynik otrzymamy:

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

CRUD i Klauzule-Gdzie

Otrzymujemy teraz 2 rekordy zamiast 1. Dzieje się tak dlatego, że aby rekord kwalifikacji mógł spełnić tylko jeden z określonych warunków.

Jak

Ta klauzula służy do określenia wzorca danych podczas uzyskiwania dostępu do danych tabeli, w których konieczne jest dokładne dopasowanie. Można je łączyć z instrukcjami INSERT, UPDATE, SELECT i DELETE.

Powinieneś przekazać do klauzuli wzorzec danych, których szukasz, a zwróci ona wartość true lub false. Oto znaki wieloznaczne, których można używać razem z klauzulą:

  • %: dla dopasowania 0 lub więcej znaków.
  • _: do dopasowania pojedynczego znaku.

Oto składnia klauzuli LIKE:

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

Pokażmy, jak używać klauzuli ze znakiem wieloznacznym %. Użyjmy tabeli Book z następującymi rekordami:

CRUD i Klauzule-Gdzie

Musimy zobaczyć wszystkie rekordy, w których nazwa zaczyna się od litery M. Możemy uruchomić następujące polecenie:

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

CRUD i Klauzule-Gdzie

Zwrócono wszystkie rekordy, ponieważ ich nazwy zaczynają się na literę M. Aby zobaczyć wszystkie nazwy kończące się na 4, możesz uruchomić następujące polecenie:

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

CRUD i Klauzule-Gdzie

Zwrócono tylko jedno imię, ponieważ jako jedyne spełnia ono warunek.

Możemy również otoczyć wzorzec wyszukiwania symbolem wieloznacznym:

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

CRUD i Klauzule-Gdzie

Oprócz symbolu wieloznacznego % klauzula LIKE może być używana razem z symbolem wieloznacznym _. Jest to znak wieloznaczny podkreślenia, który będzie wyszukiwał tylko jeden znak.

Pracujmy z tabelą cen z następującymi rekordami:

CRUD i Klauzule-Gdzie

Sprawdźmy rekord, w którym cena jest taka jak 1_0. Uruchomimy następujące polecenie:

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

CRUD i Klauzule-Gdzie

Wrócił rekord w którym cena wynosi 190. Możemy też spróbować innego wzoru:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD i Klauzule-Gdzie

Możliwe jest użycie klauzuli LIKE razem z operatorem NOT. Zwróci to wszystkie rekordy, które nie spełniają określonego wzorca. Na przykład:

Użyjmy tabeli cen z następującymi rekordami:

CRUD i Klauzule-Gdzie

Znajdźmy wszystkie rekordy, w których cena nie zaczyna się od 2:

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

CRUD i Klauzule-Gdzie

Tylko jeden rekord nie jest zgodny z określonym wzorcem.

Zamów przez

Klauzula ta pomaga nam uporządkować nasze dane w kolejności rosnącej lub malejącej. Używamy go z instrukcją SELECT, jak pokazano poniżej:

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

Możliwe jest użycie tej klauzuli bez dodawania części ASC lub DESC. Na przykład:

Użyjemy tabeli cen z następującymi rekordami:

CRUD i Klauzule-Gdzie

Uruchom następujące polecenie dla tabeli:

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

CRUD i Klauzule-Gdzie

W powyższym poleceniu zamawialiśmy według ceny. Rekordy zostały uporządkowane według cen rosnących. Oznacza to, że jeśli nie określimy kolejności, domyślnie sortowanie odbywa się w kolejności rosnącej.

Uruchommy klauzulę z opcją DESC:

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

CRUD i Klauzule-Gdzie

Rekordy zostały posortowane według ceny w kolejności malejącej, tak jak to określiliśmy.

Użyjmy klauzuli ORDER BY razem z atrybutem ASC:

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

CRUD i Klauzule-Gdzie

Płyty zostały uporządkowane, ale z cenami rosnącymi. Przypomina to sytuację, gdy używamy klauzuli ORDER BY bez atrybutów ASC lub DESC.

DISTINCT

Ta klauzula pomaga nam wyeliminować duplikaty podczas wybierania rekordów z tabeli. Oznacza to, że pomaga nam zdobywać unikalne rekordy. Jego składnia jest podana poniżej:

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

Aby to zademonstrować, wykorzystamy tabelę cen zawierającą następujące dane:

CRUD i klauzule-DISTINCT

Wybierając kolumnę ceny z tabeli, otrzymamy następujący wynik:

SELECT price FROM Price;

CRUD i klauzule-DISTINCT

Mamy dwie płyty z ceną 250, tworząc duplikat. Musimy mieć tylko unikalne rekordy. Możemy je filtrować za pomocą klauzuli DISTINCT, jak pokazano poniżej:

SELECT DISTINCT price FROM Price;

CRUD i klauzule-DISTINCT

Nie mamy teraz żadnych duplikatów w powyższych wynikach.

Cena Od

Klauzula FROM używana do pobierania danych z tabeli bazy danych. Może być również pomocny podczas łączenia stołów. Oto składnia polecenia:

SELECT columnNames FROM tableName; 

Aby zobaczyć zawartość tabeli książek, uruchom następujące polecenie:

SELECT * FROM price;

CRUD i Klauzule-Od

Klauzula może pomóc w pobraniu tylko jednej kolumny z tabeli bazy danych. Na przykład:

SELECT price FROM Price;

CRUD i Klauzule-Od

Zaawansowane zadania

Procedura składowana

Procedura to: MariaDB program, do którego można przekazywać parametry. Procedura nie zwraca wartości. Aby utworzyć procedurę, używamy polecenia CREATE PROCEDURE.

Aby zademonstrować, jak utworzyć i wywołać procedurę, utworzymy procedurę o nazwie myProcedure(), która pomoże nam wybrać kolumnę nazwy z tabeli książki. Oto procedura:

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

Zaawansowana procedura przechowywana w zadaniach

Procedura została utworzona. Po prostu umieściliśmy instrukcję SELECT w klauzulach BEGIN i END procedury.

Teraz możemy wywołać procedurę po nazwie, jak pokazano poniżej:

CALL myProcedure();

Zaawansowana procedura przechowywana w zadaniach

Procedura po wywołaniu zwraca kolumnę nazwy tabeli książki.

Możemy utworzyć procedurę, która przyjmuje parametr. Na przykład musimy wybrać nazwę książki i filtrować za pomocą identyfikatora książki. Możemy utworzyć następującą procedurę w tym celu:

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

Zaawansowana procedura przechowywana w zadaniach

Powyżej stworzyliśmy procedurę o nazwie myProcedure2(). Ta procedura przyjmuje jeden parametr typu całkowitego o nazwie book_id, który jest identyfikatorem książki, której nazwę musimy zobaczyć. Aby zobaczyć nazwę książki o identyfikatorze 3, możemy wywołać procedurę w następujący sposób:

CALL myProcedure2(3);

Zaawansowana procedura przechowywana w zadaniach

Funkcjonować

W przeciwieństwie do procedur, musimy przekazywać parametry do funkcji, a funkcja musi zwracać wartość. Aby utworzyć funkcję w MariaDB, używamy instrukcji CREATE FUNCTION. Instrukcja przyjmuje następującą składnię:

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;

Powyższe parametry opisano poniżej:

Parametr Opisy Konstrukcyjne
Klauzula DEFINER Ten parametr jest opcjonalny. Jeśli tego nie określisz, osobą definiującą stanie się użytkownik, który utworzył funkcję. Jeżeli zaistnieje potrzeba określenia innego definicji, należy dołączyć klauzulę DEFINER, w której nazwa_użytkownika będzie definicją funkcji.
nazwa_funkcji Nazwa, która ma być przypisana tej funkcji w pliku MariaDB.
parametr Parametr(y) przekazany do funkcji. Podczas tworzenia funkcji wszystkie parametry traktowane są jako Parametry IN (zamiast parametrów OUT/INOUT).
typ_danych_powrotu Typ danych wartości zwracanej przez funkcję.
JĘZYKSQL Wpływa to na przenośność, ale nie na funkcję.
DETERMINISTYCZNY Funkcja zwróci jeden wynik tylko wtedy, gdy zostanie podana liczba parametrów.
NIE DETERMINISTYCZNY Funkcja może zwrócić inny wynik, jeśli podana zostanie liczba parametrów.
ZAWIERA SQL Informuje MariaDB że ta funkcja zawiera SQL. Baza nie zweryfikuje, czy to prawda.
BEZ SQL Klauzula ta nie jest używana i nie ma wpływu na Twoją funkcję.
CZYTA DANYCH SQL mówi MariaDB że ta funkcja użyje instrukcji SELECT do odczytania danych, ale nie zmodyfikuje danych.
MODYFIKUJE DANYCH SQL mówi MariaDB że ta funkcja będzie używać INSERT, DELETE, UPDATE i innych DDL instrukcje modyfikujące dane SQL.
sekcja deklaracji W tym miejscu należy zadeklarować zmienne lokalne.
sekcja wykonywalna Należy tu dodać kod funkcji.

Oto przykład MariaDB funkcjonować:

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 ;

Funkcja w MariaDB

Następnie możemy wywołać powyższą funkcję w następujący sposób:

select sumFunc(1000);

Polecenie zwróci następującą informację:

Funkcja w MariaDB

Gdy skończysz z funkcją, dobrze będzie ją usunąć. Jest to proste, ponieważ wystarczy wywołać instrukcję DROP FUNCTION, która przyjmuje następującą składnię:

DROP FUNCTION function_name;

Na przykład, aby usunąć funkcję o nazwie myFunc, możemy uruchomić następujące polecenie:

DROP FUNCTION myFunc;

DOŁĄCZ

Jeśli chcesz pobrać dane z więcej niż jednej tabeli jednocześnie, użyj MariaDB DOŁĄCZA. Oznacza to, że DOŁĄCZ działa na dwóch lub więcej tabelach. Obsługiwane są następujące trzy typy JOINS MariaDB:

  • POŁĄCZENIE WEWNĘTRZNE/PROSTE
  • LEWE POŁĄCZENIE ZEWNĘTRZNE/POŁĄCZENIE LEWE
  • PRAWE POŁĄCZENIE ZEWNĘTRZNE/PRAWE POŁĄCZENIE

Omówmy je jeden po drugim:

INNER JOIN

Sprzężenie wewnętrzne zwraca wszystkie wiersze z tabel, w których warunek złączenia jest spełniony. Jego składnia jest następująca:

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

Na przykład:

Będziemy korzystać z naszych dwóch stołów, książek i książki.

Tabela książek zawiera następujące dane:

INNER JOIN

Tabela cen zawiera następujące dane:

INNER JOIN

Celem jest połączenie kolumny nazwy z tabeli Książka i kolumny ceny z tabeli Cena w jedną tabelę. Jest to możliwe w przypadku sprzężenia wewnętrznego, jak pokazano poniżej:

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

Polecenie zwraca następującą wartość:

INNER JOIN

LEWE POŁĄCZENIE ZEWNĘTRZNE

To złączenie zwraca wszystkie wiersze z tabeli po lewej stronie i tylko te wiersze, w których warunek złączenia jest spełniony, z drugiej tabeli. Jego składnia jest następująca:

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

Słowo kluczowe OUTER umieszczono w nawiasach kwadratowych, ponieważ jest opcjonalne.

Na przykład:

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

Polecenie zwraca następującą wartość:

LEWE POŁĄCZENIE ZEWNĘTRZNE

Ostatni rekord w powyższej tabeli nie ma pasującej wartości po lewej stronie. Dlatego został zastąpiony przez NULL.

PRAWE POŁĄCZENIE ZEWNĘTRZNE

To złączenie zwraca wszystkie wiersze z tabeli po prawej stronie i tylko te wiersze, w których warunek złączenia jest spełniony, z drugiej tabeli. Jego składnia jest następująca:

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

Słowo kluczowe OUTER umieszczono w nawiasach kwadratowych, ponieważ jest opcjonalne.

Na przykład:

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

Polecenie zwraca następującą wartość:

PRAWE POŁĄCZENIE ZEWNĘTRZNE

Powodem jest to, że wszystkie wiersze w tabeli po prawej stronie zostały dopasowane do wierszy w drugiej tabeli. Gdyby niektóre wiersze nie pasowały, w pierwszej kolumnie mielibyśmy wartość NULL.