MariaDB konzultace

Co je to MariaDB?

MariaDB je vidlička MySQL Systém pro správu databází. Je vytvořen jeho původními vývojáři. Tento nástroj DBMS nabízí možnosti zpracování dat pro malé i podnikové úlohy.

MariaDB je vylepšená verze MySQL. Dodává se s mnoha vestavěnými výkonnými funkcemi a mnoha vylepšeními použitelnosti, zabezpečení a výkonu, které nenajdete MySQL.

Zde jsou vlastnosti MariaDB:

  • Funguje pod licencemi GPL, BSD nebo LGPL.
  • MariaDB podporuje populární a standardní dotazovací jazyk.
  • Dodává se s mnoha úložnými moduly, včetně těch vysoce výkonných, které lze integrovat s jinými systémy správy relačních databází.
  • Poskytuje clusterovou technologii Galera.
  • MariaDB podporuje PHP, oblíbený jazyk pro vývoj webových aplikací.
  • MariaDB může běžet na různých operačních systémech a podporuje mnoho programovacích jazyků.
  • MariaDB přichází s dalšími příkazy, které nejsou dostupné v MySQL. MySQL má vlastnosti, které mají negativní dopad na výkon DBMS. Tyto funkce byly nahrazeny v MariaDB.

MariaDB vs MySQL

Níže jsou uvedeny některé klíčové rozdíly mezi nimi MariaDB vs MySQL

Parametr MariaDB MySQL
Další možnosti pro Storage Engines MariaDB má 12 nových úložišť, které nenajdete MySQL. Má méně možností pro skladování ve srovnání s MariaDB.
Vylepšení rychlosti MariaDB vykazuje zlepšenou rychlost ve srovnání s MySQL. Dodává se s řadou funkcí pro optimalizaci rychlosti. Mezi takové funkce patří odvozené pohledy/tabulky, poddotaz, řízení provádění, přístup k disku a řízení optimalizátoru. MySQL vykazuje nižší rychlost ve srovnání s MariaDB. Spoléhá se pouze na několik funkcí pro optimalizaci rychlosti, například hash indexy.
Rychlejší cache/indexy S modulem Memory Storage Engine of MariaDB, příkaz INSERT lze vyplnit o 24 % než ve standardu MySQL. Motor úložiště paměti MySQL je ve srovnání s tím pomalejší MariaDB.
Větší a rychlejší fond připojení MariaDB přichází s pokročilým fondem vláken, který je schopen běžet rychleji a podporuje až 200,000 XNUMX+ připojení. Fond vláken, který poskytuje MySQL nemůže podporovat až 200,000 XNUMX připojení za čas.
Vylepšená replikace In MariaDB, replikaci lze provádět bezpečněji a rychleji. Aktualizace lze také provést 2x rychleji ve srovnání s tradičními MySQL. MySQLKomunitní vydání umožňuje připojit statický počet vláken. MySQLPodnikový plán společnosti přichází s funkcemi vláken.
Nové funkce/rozšíření MariaDB přichází s novými funkcemi a rozšířeními včetně příkazů JSON, WITH a KILL. Nový MariaDB funkce nejsou poskytovány v MySQL.
Chybějící funkce MariaDB postrádá některé funkce, které poskytuje MySQL podnikové vydání. K vyřešení tohoto problému nabízí alternativní pluginy s otevřeným zdrojovým kódem. Proto, MariaDB uživatelé mohou využívat stejné funkce jako MySQL Uživatelé Enterprise Edition. Enterprise Edition of MySQL používá proprietární kód. Pouze uživatelé MySQL Enterprise Edition k tomu mají přístup.

Jak nainstalovat MariaDB

Nainstalujte jako samostatnou aplikaci

Aby bylo možné používat MariaDB, musíte si jej nainstalovat do počítače.

Instalaci lze provést podle následujících kroků:

Krok 1) Otevřít adresu URL níže
Stáhněte si instalační soubor z odkazu https://downloads.mariadb.org/

Krok 2) Double kliknutím na soubor spusťte instalaci
Po dokončení stahování otevřete soubor

Krok 3) Klikněte na tlačítko Další
V okně, které se otevře, klikněte na tlačítko Další:

Instalace MariaDB

Krok 4) Přijměte licenční smlouvu
Poté klikněte na tlačítko Další:

Instalace MariaDB

Krok 5) Vybrat MariaDB Server
Vyberte funkce, které chcete nainstalovat, a klepněte na tlačítko Další

Instalace MariaDB

Krok 6) Zadejte heslo
V dalším okně budete požádáni o změnu hesla pro uživatele root.

  1. Zadejte heslo a potvrďte jej opětovným zadáním stejného hesla. Pokud chcete povolit přístup ze vzdálených počítačů, aktivujte potřebné zaškrtávací políčko.
  2. Po dokončení klikněte na tlačítko Další.

Instalace MariaDB

Krok 7) Zadejte název a vyberte číslo portu
V dalším okně zadejte název instance, zvolte číslo portu a nastavte potřebnou velikost. Klikněte na tlačítko Další:

Instalace MariaDB

Krok 8) Klepněte na tlačítko Další
V dalším okně stačí kliknout na tlačítko Další.

Krok 9) Klepněte na Instalovat
Spusťte instalaci kliknutím na tlačítko Instalovat.

Instalace MariaDB

Krok 10) A Je zobrazen ukazatel průběhu
Zobrazí se indikátor průběhu instalace:

Instalace MariaDB

Krok 11) Klikněte na tlačítko Dokončit
Po dokončení instalace se zobrazí tlačítko Dokončit. Kliknutím na tlačítko zavřete okno:

Instalace MariaDB

Krok 12) Gratulace!
Nyní máte MariaDB v počítači.

Práce s příkazovým řádkem

Teď to máte MariaDB nainstalovaný na vašem počítači, je čas, abyste jej spustili a začali používat. To lze provést prostřednictvím MariaDB příkazový řádek.

Postupujte podle níže uvedených kroků:

Krok 1) Klikněte na Start, vyberte Všechny programy a poté klikněte MariaDB...

Krok 2) Vyberte si MariaDB Příkazový řádek.

MariaDB Příkazový řádek

Krok 3) Jedno MariaDB bude spuštěn příkazový řádek. Nyní je čas se přihlásit. Měli byste se přihlásit jako uživatel root a heslo, které jste nastavili během instalace MariaDB. Na příkazovém řádku zadejte následující příkaz:

MySQL -u root -p

Krok 4) Zadejte heslo a stiskněte klávesu Return. Měli byste být přihlášeni, jak je uvedeno níže:

MariaDB Příkazový řádek

Nyní jste přihlášeni MariaDB.

Typy dat

MariaDB podporuje následující datové typy:

  • Řetězcové datové typy
  • Číselné datové typy
  • Typy dat datum/čas
  • Datové typy velkých objektů

Datové typy řetězců

Mezi ně patří následující:

Typ dat řetězce Description
znak (velikost) Velikost udává počet znaků, které se mají uložit. Ukládá maximálně 255 znaků. Struny s pevnou délkou.
varchar (velikost) Velikost udává počet znaků, které se mají uložit. Ukládá maximálně 255 znaků. Řetězce s proměnnou délkou.
velikost textu) Velikost udává počet znaků, které se mají uložit. Ukládá maximálně 255 znaků. Struny s pevnou délkou.
binární (velikost) Velikost udává počet znaků, které se mají uložit. Ukládá maximálně 255 znaků. Struny s pevnou velikostí.

Číselné datové typy

Zahrnují následující:

Číselné datové typy Description
bit Velmi malá celočíselná hodnota ekvivalentní tinyint(1). Hodnoty se znaménkem se pohybují mezi -128 a 127. Hodnoty bez znaménka se pohybují mezi 0 a 255.
int(m) Standardní celočíselná hodnota. Hodnoty se znaménkem se pohybují mezi -2147483648 a 2147483647. Hodnoty bez znaménka se pohybují mezi 0 a 4294967295.
plovoucí (m, d) Číslo s plovoucí desetinnou čárkou s jednoduchou přesností.
dvojité (m, d) Číslo s plovoucí desetinnou čárkou s dvojnásobnou přesností.
plovoucí (p) Číslo s plovoucí desetinnou čárkou.

Typy dat data/času

Mezi ně patří následující:

Datum/čas Typ dat Description
Datum Zobrazí se ve tvaru 'rrrr-mm-dd.' Hodnoty se pohybují mezi '1000-01-01' a '9999-12-31'.
Čas schůzky Zobrazuje se ve tvaru 'yyyy-mm-dd hh:mm:ss'. Hodnoty se pohybují mezi '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
časové razítko (m) Zobrazuje se ve tvaru 'yyyy-mm-dd hh:mm:ss'. Hodnoty se pohybují mezi '1970-01-01 00:00:01' utc a '2038-01-19 03:14:07' utc.
Čas Zobrazuje se ve tvaru 'hh:mm:ss'. Hodnoty se pohybují mezi '-838:59:59' a '838:59:59'.

Datové typy velkých objektů (LOB)

Zahrnují následující:

Datový typ velkého objektu Description
tinyblob Jeho maximální velikost je 255 bajtů.
blob (velikost) Zabere 65,535 XNUMX bajtů jako maximální velikost.
střední blob Jeho maximální velikost je 16,777,215 bajtů.
dlouhý text Jako maximální velikost bere 4 GB.

Vytvořte databázi a tabulky

Chcete-li vytvořit novou databázi v MariaDB, měli byste mít speciální oprávnění, která jsou udělena pouze uživateli root a správcům.

Chcete-li vytvořit novou databázi, měli byste použít příkaz CREATE DATABASE, který má následující syntaxi:

CREATE DATABASE DatabaseName;

V tomto případě musíte vytvořit databázi a dát jí název Demo.

Spusťte MariaDB příkazového řádku a přihlaste se jako uživatel root zadáním následujícího příkazu:

mysql -u root -p

Zadejte heslo uživatele root a stiskněte klávesu Return. Budete přihlášeni.

Nyní spusťte následující příkaz:

CREATE DATABASE Demo;

Vytvořte databázi a tabulky v MariaDB

Poté jste vytvořili databázi s názvem Demo. Bude dobré, abyste si potvrdili, zda byla databáze vytvořena úspěšně nebo ne. Stačí pouze zobrazit seznam dostupných databází spuštěním následujícího příkazu:

SHOW DATABASES;

Vytvořte databázi a tabulky v MariaDB

Výše uvedený výstup ukazuje, že Demo databáze je součástí seznamu, takže databáze byla úspěšně vytvořena.

MariaDB Vyberte databázi

Abyste mohli používat konkrétní databázi nebo na ní pracovat, musíte ji vybrat ze seznamu dostupných databází. Po výběru databáze můžete provádět úkoly, jako je vytváření tabulek v rámci databáze.

Chcete-li vybrat databázi, měli byste použít příkaz USE. Využívá níže uvedenou syntaxi:

USE database_name;

Musíte použít Demo databázi. Můžete jej vybrat spuštěním následujícího příkazu:

USE Demo;

Vytvořte databázi a tabulky v MariaDB

Výše uvedený obrázek ukazuje, že MariaDB příkazového řádku se změnil z žádné na název databáze, která byla vybrána.

Nyní můžete pokračovat a vytvářet tabulky v demo databázi.

MariaDB – Vytvořit tabulku

Abyste mohli vytvořit tabulku, musíte mít vybranou databázi. Tabulku lze vytvořit pomocí příkazu CREATE TABLE. Zde je syntaxe příkazu:

CREATE TABLE tableName (columnName columnType);

Jeden ze sloupců můžete nastavit jako primární klíč. Tento sloupec by neměl umožňovat hodnoty null.

V rámci Demo databáze vytvoříme dvě tabulky, Book a Price. Každá tabulka bude mít dva sloupce.

Začněme vytvořením tabulky Kniha se dvěma sloupci, id a name. Spusťte následující příkaz:

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

Vytvořte databázi a tabulky v MariaDB

K nastavení sloupce id jako primárního klíče pro tabulku bylo použito omezení PRIMARY KEY. Vlastnost AUTO_INCREMENT automaticky zvýší hodnoty sloupce id o 1 pro každý nový záznam vložený do tabulky. Všechny sloupce neumožňují hodnoty null.

Nyní vytvořte druhou tabulku, tabulku cen:

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

Vytvořte databázi a tabulky v MariaDB

Sloupec id byl nastaven jako primární klíč pro tabulku.

Zobrazení tabulek

Nyní, když jste vytvořili dvě tabulky, bude pro vás dobré ověřit, zda byly tabulky vytvořeny úspěšně nebo ne. Seznam tabulek obsažených v databázi můžete zobrazit spuštěním následujícího příkazu:

SHOW TABLES;

Vytvořte databázi a tabulky v MariaDB

Výše uvedený snímek obrazovky ukazuje, že tyto dvě tabulky byly úspěšně vytvořeny v demo databázi.

Zobrazení struktury tabulky

Chcete-li zobrazit strukturu jakékoli konkrétní tabulky, můžete použít příkaz DESCRIBE, běžně označovaný jako DESC. Vyžaduje následující syntaxi:

DESC TableName;

Chcete-li například zobrazit strukturu tabulky s názvem Kniha, můžete spustit následující příkaz;

DESC Book;

Vytvořte databázi a tabulky v MariaDB

Tabulka má dva sloupce. Chcete-li zobrazit strukturu cenové tabulky, můžete spustit následující příkaz:

DESC Price;

Vytvořte databázi a tabulky v MariaDB

CRUD a klauzule

INSERT

Chcete-li vložit data do a MariaDB tabulky, měli byste použít příkaz INSERT INTO. Tento příkaz má níže uvedenou syntaxi:

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

Výše uvedená syntaxe ukazuje, že musíte určit sloupce tabulky, do kterých chcete vložit data, a také data, která potřebujete vložit.

Vložíme záznam do tabulky Kniha:

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

CRUD a klauzule-INSERT

Do tabulky jste vložili jeden záznam. Vložte záznam do cenové tabulky:

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

CRUD a klauzule-INSERT

Záznam byl vytvořen.

SELECT

Příkaz SELECT nám pomáhá zobrazit nebo zobrazit obsah databázové tabulky. Chcete-li například zobrazit obsah tabulky Kniha, musíte spustit následující příkaz:

SELECT * from book;

CRUD a klauzule-INSERT

Nyní si prohlédněte obsah cenové tabulky:

SELECT * from price;

CRUD a klauzule-INSERT

Vkládání více záznamů

Je možné, abychom do a MariaDB stůl za pochodem. Chcete-li to demonstrovat, spusťte následující příklad:

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

Vkládání více záznamů

V tabulce můžete zkontrolovat, zda byly záznamy úspěšně vloženy:

SELECT * FROM book;

Vkládání více záznamů

Záznamy byly úspěšně vloženy. Spuštěním tohoto příkladu vložte více záznamů do tabulky ceny:

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

Vkládání více záznamů

Ověřte, zda byly záznamy úspěšně vytvořeny:

SELECT * FROM price;

Vkládání více záznamů

UPDATE

Příkaz UPDATE nám pomáhá změnit nebo upravit záznamy, které již byly do tabulky vloženy. Můžete jej zkombinovat s klauzulí WHERE a určit záznam, který má být aktualizován. Zde je syntaxe:

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

Příkaz UPDATE lze také kombinovat s klauzulemi, jako jsou SET, WHERE, LIMIT a ORDER BY. Za chvíli uvidíte toto:

Zvažte tabulku s názvem Cena s následujícími záznamy:

CRUD a doložky-AKTUALIZACE

Změňme cenu knihy s ID 1 z 200 na 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD a doložky-AKTUALIZACE

Příkaz proběhl úspěšně. Nyní se můžete dotázat na tabulku a zjistit, zda ke změně došlo:

CRUD a doložky-AKTUALIZACE

Výše uvedený snímek obrazovky ukazuje, že změna byla implementována. Zvažte tabulku Book s následujícími záznamy:

CRUD a doložky-AKTUALIZACE

Změňme název knihy s názvem Kniha na MariaDB Kniha1. Všimněte si, že kniha má id 1. Zde je příkaz:

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

CRUD a doložky-AKTUALIZACE

Zkontrolujte, zda byla změna implementována:

CRUD a doložky-AKTUALIZACE

Výše uvedený snímek obrazovky ukazuje, že změna byla úspěšně implementována.

Ve výše uvedených příkladech jsme změnili pouze jeden sloupec najednou. Je však možné změnit více sloupců najednou. Ukažme si to na příkladu.

Použijme cenovou tabulku s následujícími údaji:

CRUD a doložky-AKTUALIZACE

Změňme id i cenu knihy s id 5. Změníme její id na 6 a cenu na 6. Spusťte následující příkaz:

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

CRUD a doložky-AKTUALIZACE

Nyní zadejte dotaz do tabulky a zkontrolujte, zda byla změna provedena úspěšně:

CRUD a doložky-AKTUALIZACE

Změna byla úspěšně provedena.

Vymazat

Příkaz DELETE používáme, když potřebujeme odstranit jeden nebo více záznamů z tabulky. Zde je syntaxe příkazu:

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

Zvažte cenovou tabulku s následujícími záznamy:

CRUD a klauzule-DELETE

Musíme smazat poslední záznam z tabulky. Má id 6 a cenu 280. Smažeme záznam:

DELETE FROM price
WHERE id = 6;   

CRUD a klauzule-DELETE

Příkaz proběhl úspěšně. Zkusme se dotázat na tabulku, abychom potvrdili, zda bylo smazání úspěšné:

CRUD a klauzule-DELETE

Výstup ukazuje, že záznam byl úspěšně smazán.

Kde

Klauzule WHERE nám pomáhá určit přesné místo, kde potřebujeme provést změnu. Používá se společně s příkazy jako INSERT, SELECT, UPDATE a DELETE. Zvažte cenovou tabulku s následujícími údaji:

CRUD a klauzule-kde

Předpokládejme, že potřebujeme vidět záznamy, ve kterých je cena nižší než 250. Můžeme spustit následující příkaz:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD a klauzule-kde

Všechny záznamy, ve kterých je cena nižší než 250, byly vráceny.

Klauzuli WHERE lze kombinovat s příkazem AND. Předpokládejme, že potřebujeme vidět všechny záznamy v tabulce Price, kde je cena nižší než 250 a ID je vyšší než 3. Můžeme spustit následující příkaz:

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

CRUD a klauzule-kde

Byl vrácen pouze jeden záznam. Důvodem je, že musí splňovat všechny stanovené podmínky, tedy id nad 3 a cenu pod 250. Při porušení některé z těchto podmínek se záznam nevrací.

Klauzuli lze také kombinovat s příkazem OR. Nahraďte AND v našem předchozím příkazu za NEBO a podívejme se na druh výstupu, který dostáváme:

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

CRUD a klauzule-kde

Nyní dostáváme 2 záznamy místo 1. Je to proto, že pro záznam kvalifikace musí splňovat pouze jednu ze specifikovaných podmínek.

Like

Tato klauzule se používá k určení vzoru dat při přístupu k datům tabulky, ve kterých je nutná přesná shoda. Lze jej kombinovat s příkazy INSERT, UPDATE, SELECT a DELETE.

Vzorec dat, který hledáte, byste měli předat klauzuli a ta vrátí buď true, nebo false. Zde jsou zástupné znaky, které lze použít společně s klauzulí:

  • %: pro shodu 0 nebo více znaků.
  • _: pro shodu jednoho znaku.

Zde je syntaxe klauzule LIKE:

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

Ukažme si, jak použít klauzuli se zástupným znakem %. Použijme tabulku Kniha s následujícími záznamy:

CRUD a klauzule-kde

Musíme vidět všechny záznamy, ve kterých název začíná na M. Můžeme spustit následující příkaz:

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

CRUD a klauzule-kde

Všechny záznamy byly vráceny, protože jejich názvy začínají písmenem M. Chcete-li zobrazit všechny názvy končící na 4, můžete spustit následující příkaz:

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

CRUD a klauzule-kde

Bylo vráceno pouze jedno jméno, protože jako jediné splňuje podmínku.

Vzor vyhledávání můžeme také obklopit zástupným znakem:

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

CRUD a klauzule-kde

Kromě zástupného znaku % lze klauzuli LIKE použít společně se zástupným znakem _. Toto je zástupný znak podtržítka a bude hledat pouze jeden znak.

Pojďme pracovat s tabulkou Cena s následujícími záznamy:

CRUD a klauzule-kde

Pojďme zkontrolovat záznam, ve kterém je cena jako 1_0. Spustíme následující příkaz:

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

CRUD a klauzule-kde

Vrátil záznam, ve kterém je cena 190. Můžeme také zkusit jiný vzor:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD a klauzule-kde

Je možné, že klauzuli LIKE použijeme společně s operátorem NOT. Tím se vrátí všechny záznamy, které nesplňují zadaný vzor. Například:

Použijme tabulku cen s následujícími záznamy:

CRUD a klauzule-kde

Pojďme najít všechny záznamy, kde cena nezačíná 2:

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

CRUD a klauzule-kde

Pouze jeden záznam nesplňuje zadaný vzor.

Seřadit podle

Tato klauzule nám pomáhá třídit naše záznamy ve vzestupném nebo sestupném pořadí. Používáme jej s příkazem SELECT, jak je ukázáno níže:

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

Tuto klauzuli můžeme použít bez přidání části ASC nebo DESC. Například:

Použijeme cenovou tabulku s následujícími záznamy:

CRUD a klauzule-kde

Spusťte následující příkaz proti tabulce:

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

CRUD a klauzule-kde

Ve výše uvedeném příkazu jsme objednali podle ceny. Záznamy byly seřazeny s cenami ve vzestupném pořadí. To znamená, že když neuvedeme pořadí, řazení se ve výchozím nastavení provádí vzestupně.

Spusťte klauzuli s volbou DESC:

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

CRUD a klauzule-kde

Záznamy byly seřazeny s cenou v sestupném pořadí, jak jsme zadali.

Použijme klauzuli ORDER BY spolu s atributem ASC:

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

CRUD a klauzule-kde

Záznamy byly objednány, ale s cenami ve vzestupném pořadí. Je to podobné, jako když použijeme klauzuli ORDER BY bez atributů ASC nebo DESC.

DISTINCT

Tato klauzule nám pomáhá zbavit se duplicit při výběru záznamů z tabulky. To znamená, že nám pomáhá získat jedinečné záznamy. Jeho syntaxe je uvedena níže:

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

Abychom to demonstrovali, použijeme cenovou tabulku s následujícími údaji:

CRUD a klauzule-DISTINCT

Když z tabulky vybereme sloupec ceny, dostaneme následující výsledek:

SELECT price FROM Price;

CRUD a klauzule-DISTINCT

Máme dva záznamy s cenou 250,- vytváříme duplikát. Potřebujeme mít pouze jedinečné záznamy. Můžeme je filtrovat pomocí klauzule DISTINCT, jak je uvedeno níže:

SELECT DISTINCT price FROM Price;

CRUD a klauzule-DISTINCT

Ve výše uvedeném výstupu nyní nemáme žádné duplikáty.

od

Klauzule FROM používaná pro načítání dat z databázové tabulky. Může také pomoci při spojování stolů. Zde je syntaxe příkazu:

SELECT columnNames FROM tableName; 

Chcete-li zobrazit obsah tabulky knihy, spusťte následující příkaz:

SELECT * FROM price;

CRUD a klauzule-od

Klauzule vám může pomoci načíst pouze jeden sloupec z databázové tabulky. Například:

SELECT price FROM Price;

CRUD a klauzule-od

Pokročilé úkoly

Uložené procedury

Postup je a MariaDB program, kterému můžete předávat parametry. Procedura nevrací hodnoty. K vytvoření procedury použijeme příkaz CREATE PROCEDURE.

Abychom předvedli, jak vytvořit a volat proceduru, vytvoříme proceduru s názvem myProcedure(), která nám pomůže vybrat sloupec názvu z tabulky knihy. Zde je postup:

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

Advanced Tasks-Stored Procedure

Postup byl vytvořen. Příkaz SELECT jsme jednoduše uzavřeli do klauzulí BEGIN a END procedury.

Nyní můžeme proceduru nazvat jejím jménem, ​​jak je uvedeno níže:

CALL myProcedure();

Advanced Tasks-Stored Procedure

Procedura při volání vrací sloupec názvu tabulky knihy.

Můžeme vytvořit proceduru, která přebírá parametr. Potřebujeme například vybrat název knihy a filtrovat pomocí ID knihy. K tomu můžeme vytvořit následující postup:

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

Advanced Tasks-Stored Procedure

Výše jsme vytvořili proceduru s názvem myProcedure2(). Tento postup přebírá jeden celočíselný parametr s názvem book_id, což je id knihy, jejíž jméno potřebujeme vidět. Abychom viděli název knihy s ID 3, můžeme proceduru zavolat následovně:

CALL myProcedure2(3);

Advanced Tasks-Stored Procedure

funkce

Na rozdíl od procedur musíme funkcím předávat parametry a funkce musí vracet hodnotu. Chcete-li vytvořit funkci v MariaDB, použijeme příkaz CREATE FUNCTION. Příkaz má následující syntaxi:

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;

Výše uvedené parametry jsou popsány níže:

Parametr Description
klauzule DEFINER Tento parametr je volitelný. Pokud jej nezadáte, definujícím se stane uživatel, který funkci vytvořil. Pokud je potřeba zadat jiný definující prvek, zahrňte klauzuli DEFINER, ve které bude uživatelské_jméno definicí funkce.
název_funkce Název, který má být přiřazen této funkci v MariaDB.
parametr Parametr(y) předaný funkci. Při vytváření funkce se se všemi parametry zachází jako IN parametry (spíše než parametry OUT/INOUT).
return_datatype Datový typ návratové hodnoty funkce.
JAZYK SQL Ovlivňuje přenosnost, ale ne funkci.
DETERMINISTICKÝ Funkce vrátí jeden výsledek, pouze pokud je zadán počet parametrů.
NENÍ DETERMINISTICKÉ Je možné, že funkce vrátí jiný výsledek, když je zadán určitý počet parametrů.
OBSAHUJE SQL Informuje MariaDB že tato funkce obsahuje SQL. Databáze neověří, zda je to pravda.
ŽÁDNÉ SQL Tato klauzule se nepoužívá a nemá žádný vliv na vaši funkci.
ČTE DATA SQL Řekne MariaDB že tato funkce bude používat příkazy SELECT ke čtení dat, ale data nezmění.
UPRAVUJE DATA SQL Řekne MariaDB že tato funkce bude používat INSERT, DELETE, UPDATE a další DDL příkazy pro úpravu dat SQL.
prohlášení-sekce Zde by měly být deklarovány lokální proměnné.
spustitelný-sekce Zde by měl být přidán kód funkce.

Zde je příklad MariaDB funkce:

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 ;

Funkce v MariaDB

Výše uvedenou funkci pak můžeme zavolat následovně:

select sumFunc(1000);

Příkaz vrátí následující:

Funkce v MariaDB

Jakmile s funkcí skončíte, bude pro vás dobré ji smazat. To je snadné, protože stačí zavolat příkaz DROP FUNCTION, který má následující syntaxi:

DROP FUNCTION function_name;

Chcete-li například zrušit funkci s názvem myFunc, můžeme spustit následující příkaz:

DROP FUNCTION myFunc;

REGISTRACE

Pokud potřebujete načíst data z více než jedné tabulky najednou, použijte MariaDB PŘIPOJÍ SE. To znamená, že a REGISTRACE pracuje na dvou nebo více stolech. Jsou podporovány následující tři typy JOINS MariaDB:

  • VNITŘNÍ/JEDNODUCHÉ SPOJENÍ
  • LEFT OUTER JOIN/LEFT JOIN
  • PRAVÉ VNĚJŠÍ SPOJENÍ/PRAVÉ SPOJENÍ

Pojďme si je probrat jeden po druhém:

INNER JOIN

Vnitřní spojení vrátí všechny řádky z tabulek, ve kterých je podmínka spojení pravdivá. Jeho syntaxe je následující:

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

Například:

Použijeme naše dva stoly, knihy a knihu.

Tabulka knihy obsahuje následující údaje:

INNER JOIN

Cenová tabulka obsahuje následující údaje:

INNER JOIN

Cílem je spojit sloupec s názvem z tabulky Kniha a sloupec s cenou z tabulky Cena do jedné tabulky. To je možné pomocí vnitřního spojení, jak je ukázáno níže:

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

Příkaz vrátí následující:

INNER JOIN

LEVÁ VNĚJŠÍ SPOJENÍ

Toto spojení vrátí všechny řádky z levé tabulky a pouze řádky, ve kterých je podmínka spojení pravdivá z druhé tabulky. Jeho syntaxe je následující:

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

Klíčové slovo OUTER bylo umístěno do hranatých závorek, protože je nepovinné.

Například:

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

Příkaz vrátí následující:

LEVÁ VNĚJŠÍ SPOJENÍ

Poslední záznam ve výše uvedené tabulce nemá vlevo žádnou odpovídající hodnotu. Proto byl nahrazen NULL.

PRAVÝ VNĚJŠÍ SPOJ

Toto spojení vrátí všechny řádky z tabulky napravo a pouze řádky, ve kterých je podmínka spojení pravdivá, z druhé tabulky. Jeho syntaxe je následující:

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

Klíčové slovo OUTER bylo umístěno do hranatých závorek, protože je nepovinné.

Například:

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

Příkaz vrátí následující:

PRAVÝ VNĚJŠÍ SPOJ

Důvodem je, že všechny řádky v tabulce vpravo byly spárovány s řádky v druhé tabulce. Pokud by se některé řádky neshodovaly, měli bychom v prvním sloupci hodnoty NULL.