MariaDB Tutorial: leer syntaxis, opdrachten met voorbeelden

Wat is MariaDB?

MariaDB is een vork van het MySQL-databasebeheersysteem. Het is gemaakt door de oorspronkelijke ontwikkelaars. Deze DBMS-tool biedt gegevensverwerkingsmogelijkheden voor zowel kleine als zakelijke taken.

MariaDB is een verbeterde versie van MySQL. Het wordt geleverd met talloze ingebouwde krachtige functies en vele bruikbaarheids-, beveiligings- en prestatieverbeteringen die u niet in MySQL kunt vinden.

Hier zijn de kenmerken van MariaDB:

  • Het werkt onder GPL-, BSD- of LGPL-licenties.
  • MariaDB ondersteunt een populaire en standaard querytaal.
  • Het wordt geleverd met veel opslagengines, waaronder de krachtige die kunnen worden geïntegreerd met andere relationele databasebeheersystemen.
  • Het biedt de Galera-clustertechnologie.
  • MariaDB ondersteunt PHP, een populaire taal voor webontwikkeling.
  • MariaDB kan op verschillende besturingssystemen draaien en ondersteunt talrijke programmeertalen.
  • MariaDB wordt geleverd met extra opdrachten die niet beschikbaar zijn in MySQL. MySQL heeft functies die een negatieve invloed hebben op de prestaties van het DBMS. Dergelijke functies zijn vervangen in MariaDB.

MariaDB versus MySQL

Hieronder staan ​​enkele belangrijke verschillen tussen MariaDB versus MySQL

Parameter MariaDB MySQL
Meer opties voor opslagmotoren MariaDB heeft 12 nieuwe opslag-engines die je niet zult vinden in MySQL. Het heeft minder opslagmogelijkheden vergeleken met MariaDB.
Snelheidsverbeteringen MariaDB toont een verbeterde snelheid in vergelijking met MySQL. Het wordt geleverd met tal van functies voor het optimaliseren van de snelheid. Dergelijke functies omvatten afgeleide weergaven/tabellen, subquery, uitvoeringscontrole, schijftoegang en optimalisatiecontrole. MySQL vertoont een lagere snelheid in vergelijking met MariaDB. Het vertrouwt op slechts een paar functies voor snelheidsoptimalisatie, bijvoorbeeld hash-indexen.
Snellere cache/indexen Met de geheugenopslagengine van MariaDB, kan een INSERT-instructie 24% worden voltooid dan in de standaard MySQL. De geheugenopslagengine van MySQL is in vergelijking daarmee langzamer MariaDB.
Grotere en snellere verbindingspool MariaDB wordt geleverd met een geavanceerde threadpool die sneller kan werken en tot wel 200,000+ verbindingen ondersteunt. De threadpool van MySQL kan niet maximaal 200,000 verbindingen per keer ondersteunen.
Verbeterde replicatie In MariaDB, kan replicatie veiliger en sneller worden uitgevoerd. Updates kunnen bovendien 2x sneller worden uitgevoerd vergeleken met het traditionele MySQL. Met de communityeditie van MySQL kan een statisch aantal threads worden verbonden. Het ondernemingsplan van MySQL wordt geleverd met threadmogelijkheden.
Nieuwe functies/uitbreidingen MariaDB wordt geleverd met nieuwe functies en uitbreidingen, waaronder de JSON-, WITH- en KILL-instructies. De nieuwe MariaDB functies zijn niet beschikbaar in MySQL.
Ontbrekende functies MariaDB mist enkele van de functies van de MySQL enterprise-editie. Om dit aan te pakken, biedt het alternatieve open-source plug-ins. Vandaar, MariaDB gebruikers kunnen genieten van dezelfde functionaliteiten als MySQL Enterprise Edition-gebruikers. De Enterprise-editie van MySQL gebruikt een eigen code. Alleen gebruikers van MySQL Enterprise Edition hebben hier toegang toe.

Hoe te installeren MariaDB

Installeer als een zelfstandige applicatie

Om te kunnen gebruiken MariaDB, moet u het op uw computer installeren.

De installatie kan worden gedaan via following de onderstaande stappen:

Stap 1) Open onderstaande URL
Download het installatiebestand via de link https://downloads.mariadb.org/

Stap 2) Double klik op het bestand om de installatie te starten
Zodra het downloaden is voltooid, opent u Bestand

Stap 3) Klik op de knop Volgende
In het venster dat verschijnt, klikt u op de knop Volgende:

Installatie van MariaDB

Stap 4) Accepteer de licentieovereenkomst
Klik vervolgens op de knop Volgende:

Installatie van MariaDB

Stap 5) Kies MariaDB server
Kies de functies die moeten worden geïnstalleerd en klik op Volgende

Installatie van MariaDB

Stap 6) Voer het wachtwoord in
In het volgende venster wordt u gevraagd het wachtwoord voor de rootgebruiker te wijzigen.

  1. Voer het wachtwoord in en bevestig het door hetzelfde wachtwoord opnieuw te typen. Als u toegang vanaf externe machines wilt toestaan, activeert u de benodigde controlebox.
  2. Als u klaar bent, klikt u op de knop Volgende.

Installatie van MariaDB

Stap 7) Voer naam in en kies poortnummer
Typ in het volgende venster een naam voor het exemplaar, kies het poortnummer en stel de benodigde grootte in. Klik op de knop Volgende:

Installatie van MariaDB

Stap 8) Klik op Volgende
In het volgende venster klikt u eenvoudig op de knop Volgende.

Stap 9) Klik op Installeren
Start de installatie door op de knop Installeren te klikken.

Installatie van MariaDB

Stap 10) Er wordt een voortgangsbalk weergegeven
Een voortgangsbalkwing de voortgang van de installatie wordt getoond:

Installatie van MariaDB

Stap 11) Klik op de knop Voltooien
Zodra de installatie is voltooid, ziet u de knop Voltooien. Klik op de knop om het venster te sluiten:

Installatie van MariaDB

Stap 12) Gefeliciteerd!
Je hebt nu MariaDB geïnstalleerd op uw computer.

Werken met opdrachtprompt

Nu dat je hebt MariaDB geïnstalleerd op uw computer, is het tijd om het te starten en te gaan gebruiken. Dit kan via de MariaDB opdrachtprompt.

Volg de onderstaande stappen:

Stap 1) Klik op Start, kies Alle programma's en klik vervolgens op MariaDB...

Stap 2) Kies een MariaDB Opdrachtprompt.

MariaDB Command Prompt

Stap 3) Het MariaDB opdrachtprompt wordt gestart. Het is nu tijd om in te loggen. U dient in te loggen als rootgebruiker en met het wachtwoord dat u tijdens de installatie hebt ingesteld MariaDB. Typ het volgendewing opdracht op de opdrachtprompt:

MySQL -u root -p

Stap 4) Voer het wachtwoord in en druk op de Return-toets. U moet ingelogd zijn, zoals hieronder weergegeven:

MariaDB Command Prompt

U bent nu ingelogd MariaDB.

Gegevenstypen

MariaDB ondersteunt de volgendewing gegevenstypen:

  • Tekenreeks gegevenstypen
  • Numerieke gegevenstypen
  • Gegevenstypen voor datum/tijd
  • Grote objectgegevenstypen

Tekenreeksgegevenstypen

Deze omvatten de volgendewing:

Tekenreeksgegevenstype Omschrijving
teken (grootte) De grootte geeft het aantal tekens aan dat moet worden opgeslagen. Er kunnen maximaal 255 tekens worden opgeslagen. Snaren met vaste lengte.
Varchar(grootte) De grootte geeft het aantal tekens aan dat moet worden opgeslagen. Er kunnen maximaal 255 tekens worden opgeslagen. Snaren met variabele lengte.
lettergrootte) De grootte geeft het aantal tekens aan dat moet worden opgeslagen. Er kunnen maximaal 255 tekens worden opgeslagen. Snaren met vaste lengte.
binair(grootte) De grootte geeft het aantal tekens aan dat moet worden opgeslagen. Er kunnen maximaal 255 tekens worden opgeslagen. Snaren met een vast formaat.

Numerieke gegevenstypen

Het gaat om de volgende vissoorten:

Numerieke gegevenstypen Omschrijving
beetje Een zeer kleine gehele waarde, gelijk aan tinyint(1). Ondertekende waarden liggen tussen -128 en 127. Niet-ondertekende waarden liggen tussen 0 en 255.
int(m) Een standaard geheel getalwaarde. Ondertekende waarden liggen tussen -2147483648 en 2147483647. Niet-ondertekende waarden liggen tussen 0 en 4294967295.
vlotter(m, d) Een getal met drijvende komma met enkele precisie.
double(m,d) Een drijvende-kommagetal met double precisie.
zweven(p) Een drijvende-kommagetal.

Datum-/tijdgegevenstypen

Deze omvatten de volgendewing:

Datum/tijd gegevenstype Omschrijving
Periode Weergegeven in de vorm 'jjjj-mm-dd.' Waarden variëren tussen '1000-01-01' en '9999-12-31'.
Datum Tijd Weergegeven in de notatie 'jjjj-mm-dd uu:mm:ss'. Waarden variëren tussen '1000-01-01 00:00:00' en '9999-12-31 23:59:59'.
tijdstempel(m) Weergegeven in de notatie 'jjjj-mm-dd uu:mm:ss'. Waarden variëren tussen '1970-01-01 00:00:01' utc en '2038-01-19 03:14:07' utc.
Tijd Weergegeven in de vorm 'uu:mm:ss'. Waarden variëren tussen '-838:59:59' en '838:59:59'.

Gegevenstypen voor grote objecten (LOB)

Het gaat om de volgende vissoorten:

Groot object Gegevenstype Omschrijving
klein kloddertje De maximale grootte is 255 bytes.
klodder (grootte) Neemt 65,535 bytes als maximale grootte.
middelgrote klodder De maximale grootte is 16,777,215 bytes.
lange tekst De maximale grootte is 4 GB.

Maak een database en tabellen

Om een ​​nieuwe database aan te maken in MariaDB, zou u speciale rechten moeten hebben die alleen aan de rootgebruiker en beheerders worden verleend.

Om een ​​nieuwe database te maken, moet u de opdracht CREATE DATABASE gebruiken, waarvoor de volgende opdracht nodig is: following syntaxis:

CREATE DATABASE DatabaseName;

In dit geval moet u een database maken en deze de naam Demo geven.

Start de MariaDB opdrachtprompt en log in als rootgebruiker door het volgende te typen: following opdracht:

mysql -u root -p

Typ het root-wachtwoord en druk op de Return-toets. U wordt ingelogd.

Voer nu de volgende stap uitwing opdracht:

CREATE DATABASE Demo;

Maak een database en tabellen in MariaDB

U hebt vervolgens een database gemaakt met de naam Demo. Het is goed voor u om te bevestigen of de database met succes is aangemaakt of niet. U hoeft alleen de lijst met beschikbare databases weer te geven door het volgende commando uit te voerenwing opdracht:

SHOW DATABASES;

Maak een database en tabellen in MariaDB

Uit de bovenstaande uitvoer blijkt dat de demodatabase deel uitmaakt van de lijst en dat de database dus met succes is gemaakt.

MariaDB Selecteer Database

Om een ​​bepaalde database te kunnen gebruiken of eraan te werken, moet u deze selecteren uit de lijst met beschikbare databases. Nadat u een database hebt geselecteerd, kunt u taken uitvoeren zoals het maken van tabellen in de database.

Om een ​​database te selecteren, moet u de opdracht USE gebruiken. Er is de onderstaande syntaxis voor nodig:

USE database_name;

U moet de demodatabase gebruiken. U kunt het selecteren door het volgende uit te voerenwing opdracht:

USE Demo;

Maak een database en tabellen in MariaDB

Op de bovenstaande afbeelding is te zien dat de MariaDB opdrachtprompt is gewijzigd van geen in de naam van de database die is geselecteerd.

U kunt nu doorgaan en tabellen maken in de Demo-database.

MariaDB – Tabel maken

Om een ​​tabel te kunnen maken, moet u een database hebben geselecteerd. De tabel kan worden gemaakt met behulp van de instructie CREATE TABLE. Hier is de syntaxis voor de opdracht:

CREATE TABLE tableName (columnName columnType);

U kunt een van de kolommen instellen als primaire sleutel. Deze kolom mag geen null-waarden toestaan.

We zullen twee tabellen maken binnen de Demo-database: Boek- en Prijstabellen. Elke tabel heeft twee kolommen.

Laten we beginnen met het maken van de Boekentabel met twee kolommen: id en naam. Voer het volgende uitwing opdracht:

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

Maak een database en tabellen in MariaDB

De PRIMARY KEY-beperking is gebruikt om de id-kolom in te stellen als de primaire sleutel voor de tabel. De eigenschap AUTO_INCREMENT verhoogt de waarden van de id-kolom automatisch met 1 voor elke nieuwe record die in de tabel wordt ingevoegd. In alle kolommen zijn geen nulwaarden toegestaan.

Maak nu de tweede tabel, de prijstabel:

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

Maak een database en tabellen in MariaDB

De id-kolom is ingesteld als de primaire sleutel voor de tabel.

Showing Tafels

Nu u de twee tabellen heeft gemaakt, is het goed voor u om te bepalen of de tabellen met succes zijn gemaakt of niet. U kunt de lijst met tabellen in een database weergeven door het volgende commando uit te voerenwing opdracht:

SHOW TABLES;

Maak een database en tabellen in MariaDB

De bovenstaande schermafbeelding laat zien dat de twee tabellen met succes zijn gemaakt in de Demo-database.

Showing Tafelstructuur

Om de structuur van een bepaalde tabel te zien, kunt u de opdracht DESCRIBE gebruiken, gewoonlijk afgekort als DESC. Het duurt de volgendewing syntaxis:

DESC TableName;

Als u bijvoorbeeld de structuur van de tabel met de naam Book wilt zien, kunt u het volgende uitvoeren: following opdracht;

DESC Book;

Maak een database en tabellen in MariaDB

De tabel heeft twee kolommen. Om de structuur van de prijstabel te zien, kunt u het volgende uitvoerenwing opdracht:

DESC Price;

Maak een database en tabellen in MariaDB

CRUD en clausules

INSERT

Om gegevens in te voegen in een MariaDB tabel, moet u de instructie INSERT INTO gebruiken. Deze opdracht heeft de onderstaande syntaxis:

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

Uit de bovenstaande syntaxis blijkt dat u de tabelkolommen moet opgeven waarin u gegevens wilt invoegen, evenals de gegevens die u moet invoegen.

Laten we een record in de Boek-tabel invoegen:

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

CRUD en clausules-INSERT

U hebt één record in de tabel ingevoegd. Voeg een record in de prijstabel in:

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

CRUD en clausules-INSERT

De record is gemaakt.

SELECT

De SELECT-instructie helpt ons de inhoud van een databasetabel te bekijken of te zien. Om bijvoorbeeld de inhoud van de tabel Boek te zien, moet u het bestand following opdracht:

SELECT * from book;

CRUD en clausules-INSERT

Bekijk nu de inhoud van de prijstabel:

SELECT * from price;

CRUD en clausules-INSERT

Meerdere records invoegen

Het is voor ons mogelijk om meerdere records in een MariaDB tafel in een keer. Om dit aan te tonen, voert u het volgende uitwing voorbeeld:

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

Meerdere records invoegen

U kunt de tabel raadplegen om te controleren of de records succesvol zijn ingevoegd:

SELECT * FROM book;

Meerdere records invoegen

De records zijn succesvol ingevoegd. Voeg meerdere records in de prijstabel in door dit voorbeeld uit te voeren:

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

Meerdere records invoegen

Laten we bevestigen of de records met succes zijn gemaakt:

SELECT * FROM price;

Meerdere records invoegen

UPDATE

Met het UPDATE-commando kunnen we de records die al in een tabel zijn ingevoegd, wijzigen of aanpassen. U kunt het combineren met de WHERE-clausule om het record op te geven dat moet worden bijgewerkt. Hier is de syntaxis:

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

De opdracht UPDATE kan ook worden gecombineerd met clausules zoals SET, WHERE, LIMIT en ORDER BY. Dit zie je binnenkort:

Beschouw de tabel met de naam Prijs met het volgendewing verslagen:

CRUD en clausules-UPDATE

Laten we de prijs van het boek met een id van 1 veranderen van 200 naar 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD en clausules-UPDATE

De opdracht is met succes uitgevoerd. U kunt nu de tabel raadplegen om te zien of de wijziging heeft plaatsgevonden:

CRUD en clausules-UPDATE

Uit bovenstaande schermafbeelding blijkt dat de wijziging is doorgevoerd. Beschouw de tabel Boek met de volgende informatiewing verslagen:

CRUD en clausules-UPDATE

Laten we de naam van het boek met de naam Boek veranderen in MariaDB Boek 1. Merk op dat het boek de ID 1 heeft. Hier is het commando hiervoor:

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

CRUD en clausules-UPDATE

Controleer of de wijziging is doorgevoerd:

CRUD en clausules-UPDATE

Uit bovenstaande schermafbeelding blijkt dat de wijziging succesvol is doorgevoerd.

In de bovenstaande voorbeelden hebben we slechts één kolom tegelijk gewijzigd. Het is echter mogelijk dat wij meerdere kolommen in één keer wijzigen. Laten we dit aantonen aan de hand van een voorbeeld.

Laten we de prijstabel gebruiken met de volgende informatiewing data:

CRUD en clausules-UPDATE

Laten we zowel de id als de prijs van het boek veranderen met een id van 5. We zullen de id veranderen in 6 en de prijs in 6. Voer het volgende uitwing opdracht:

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

CRUD en clausules-UPDATE

Voer nu een query uit in de tabel om te controleren of de wijziging succesvol is doorgevoerd:

CRUD en clausules-UPDATE

De wijziging is succesvol doorgevoerd.

Verwijder

We gebruiken de opdracht DELETE wanneer we één of meerdere records uit een tabel moeten verwijderen. Hier is de syntaxis voor de opdracht:

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

Beschouw de prijstabel met het volgendewing verslagen:

CRUD en Clausules-DELETE

We moeten het laatste record uit de tabel verwijderen. Het heeft een ID van 6 en een prijs van 280. Laten we het record verwijderen:

DELETE FROM price
WHERE id = 6;   

CRUD en Clausules-DELETE

De opdracht is met succes uitgevoerd. Laten we de tabel doorzoeken om te bevestigen of de verwijdering succesvol was:

CRUD en Clausules-DELETE

Uit de uitvoer blijkt dat de record met succes is verwijderd.

Waar

De WHERE-clausule helpt ons de exacte locatie te specificeren waar we een wijziging moeten aanbrengen. Het wordt gebruikt in combinatie met instructies zoals INSERT, SELECT, UPDATE en DELETE. Beschouw de prijstabel met het volgendewing data:

CRUD en clausules-waar

Stel dat we de records moeten zien waarin de prijs lager is dan 250. We kunnen het volgende uitvoerenwing opdracht:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD en clausules-waar

Alle records waarin de prijs lager is dan 250 zijn teruggestuurd.

De WHERE-clausule kan worden gecombineerd met de AND-instructie. Stel dat we alle records in de prijstabel moeten zien waarin de prijs lager is dan 250 en de id hoger is dan 3. We kunnen het volgende uitvoerenwing opdracht:

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

CRUD en clausules-waar

Er is slechts één record geretourneerd. De reden hiervoor is dat het aan alle voorwaarden moet voldoen die zijn gespecificeerd, dat wil zeggen: id boven 3 en prijs onder 250. Als een van deze voorwaarden wordt geschonden, wordt de plaat niet geretourneerd.

De clausule kan ook worden gecombineerd met het OR-commando. Laten we de AND in ons vorige commando vervangen door OR en zien wat voor soort uitvoer we ontvangen:

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

CRUD en clausules-waar

We krijgen nu 2 records in plaats van 1. Dit komt omdat een record van kwalificatie slechts aan één van de gespecificeerde voorwaarden hoeft te voldoen.

Like

Deze clausule wordt gebruikt om het gegevenspatroon te specificeren bij het benaderen van tabelgegevens waarin een exacte overeenkomst noodzakelijk is. Het kan worden gecombineerd met de instructies INSERT, UPDATE, SELECT en DELETE.

U moet het gegevenspatroon dat u zoekt doorgeven aan de clausule, en deze zal waar of onwaar retourneren. Dit zijn de jokertekens die samen met de clausule kunnen worden gebruikt:

  • %: voor het matchen van 0 of meer tekens.
  • _: voor het matchen van één enkel teken.

Hier is de syntaxis voor de LIKE-clausule:

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

Laten we demonstreren hoe u de clausule met het jokerteken % gebruikt. Laten we de boekentabel gebruiken met de volgende informatiewing verslagen:

CRUD en clausules-waar

We moeten alle records zien waarin de naam begint met M. We kunnen de follo uitvoerenwing opdracht:

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

CRUD en clausules-waar

Alle records zijn geretourneerd omdat hun namen beginnen met de letter M. Om alle namen te zien die eindigen op 4, kunt u het volgende uitvoerenwing opdracht:

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

CRUD en clausules-waar

Er is slechts één naam geretourneerd omdat dit de enige is die aan de voorwaarde voldoet.

We kunnen het zoekpatroon ook omringen met een jokerteken:

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

CRUD en clausules-waar

Behalve het jokerteken % kan de clausule LIKE samen met het jokerteken _ worden gebruikt. Dit is het jokerteken voor het onderstrepingsteken en zoekt slechts naar één teken.

Laten we met de prijstabel werken met de volgende informatiewing verslagen:

CRUD en clausules-waar

Laten we kijken naar het record waarin de prijs ongeveer 1_0 is. Wij voeren de volgende stappen uitwing opdracht:

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

CRUD en clausules-waar

Het heeft het record geretourneerd waarin de prijs 190 is. We kunnen ook een ander patroon proberen:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD en clausules-waar

Het is voor ons mogelijk om de LIKE-clausule samen met de NOT-operator te gebruiken. Hierdoor worden alle records geretourneerd die niet aan het opgegeven patroon voldoen. Bijvoorbeeld:

Laten we de prijstabel gebruiken met de volgende informatiewing verslagen:

CRUD en clausules-waar

Laten we alle records zoeken waar de prijs niet met 2 begint:

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

CRUD en clausules-waar

Slechts één record voldoet niet aan het opgegeven patroon.

Bestel Door

Deze clausule helpt ons onze records in oplopende of aflopende volgorde te sorteren. We gebruiken het met de SELECT-instructie, zoals hieronder weergegeven:

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

Het is voor ons mogelijk om deze clausule te gebruiken zonder het ASC- of DESC-gedeelte toe te voegen. Bijvoorbeeld:

We zullen de prijstabel gebruiken met de volgende informatiewing verslagen:

CRUD en clausules-waar

Voer het volgende uitwing commando tegen de tafel:

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

CRUD en clausules-waar

In de bovenstaande opdracht hebben we op prijs besteld. De platen zijn geordend met de prijzen in oplopende volgorde. Dat betekent dat wanneer we de volgorde niet opgeven, de sortering standaard in oplopende volgorde gebeurt.

Laten we de clausule uitvoeren met de DESC-optie:

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

CRUD en clausules-waar

De records zijn gesorteerd op prijs in aflopende volgorde zoals wij hebben aangegeven.

Laten we de ORDER BY-clausule samen met het ASC-attribuut gebruiken:

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

CRUD en clausules-waar

De platen zijn besteld, maar met de prijzen in oplopende volgorde. Dit is vergelijkbaar met wanneer we de ORDER BY-clausule gebruiken zonder ASC- of DESC-attributen.

DISTINCT

Deze clausule helpt ons om duplicaten te voorkomen bij het selecteren van records uit een tabel. Dit betekent dat het ons helpt unieke records te verkrijgen. De syntaxis ervan wordt hieronder gegeven:

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

Om dit aan te tonen, gebruiken we de Prijstabel met het volgendewing data:

CRUD en clausules-DISTINCT

Wanneer we de prijskolom uit de tabel selecteren, krijgen we de volgende informatiewing resultaat:

SELECT price FROM Price;

CRUD en clausules-DISTINCT

We hebben twee records met een prijs van 250, waardoor er een duplicaat ontstaat. We hebben alleen unieke records nodig. We kunnen deze filteren met behulp van de DISTINCT-clausule, zoals hieronder weergegeven:

SELECT DISTINCT price FROM Price;

CRUD en clausules-DISTINCT

We hebben nu geen duplicaten in de bovenstaande uitvoer.

Van

De FROM-clausule die wordt gebruikt voor het ophalen van gegevens uit een databasetabel. Het kan ook helpen bij het samenvoegen van tabellen. Hier is de syntaxis voor de opdracht:

SELECT columnNames FROM tableName; 

Als u de inhoud van de boekentabel wilt zien, voert u het volgende uitwing opdracht:

SELECT * FROM price;

CRUD en clausules-van

De clausule kan u helpen slechts één enkele kolom uit een databasetabel op te halen. Bijvoorbeeld:

SELECT price FROM Price;

CRUD en clausules-van

Geavanceerde taken

Opgeslagen procedure

Een procedure is een MariaDB programma waaraan u parameters kunt doorgeven. Een procedure retourneert geen waarden. Om een ​​procedure te maken, gebruiken we het commando CREATE PROCEDURE.

Om te demonstreren hoe u een procedure kunt maken en aanroepen, zullen we een procedure maken met de naam myProcedure() waarmee we de naamkolom uit de boekentabel kunnen selecteren. Hier is de procedure:

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

Geavanceerde taken-opgeslagen procedure

De procedure is gemaakt. We hebben eenvoudigweg de SELECT-instructie tussen de BEGIN- en END-clausules van de procedure geplaatst.

Nu kunnen we de procedure bij de naam noemen, zoals hieronder weergegeven:

CALL myProcedure();

Geavanceerde taken-opgeslagen procedure

De procedure retourneert de naamkolom van de boekentabel wanneer deze wordt aangeroepen.

We kunnen een procedure maken waarin een parameter wordt opgenomen. We moeten bijvoorbeeld de naam van het boek selecteren en filteren op basis van de boek-ID. We kunnen de volgende creërenwing werkwijze hiervoor:

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

Geavanceerde taken-opgeslagen procedure

Hierboven hebben we een procedure gemaakt met de naam myProcedure2(). Voor deze procedure is één geheel getalparameter nodig met de naam book_id, wat de id is van het boek waarvan we de naam moeten zien. Om de naam van het boek met ID 3 te zien, kunnen we de procedure als volgt aanroepen:

CALL myProcedure2(3);

Geavanceerde taken-opgeslagen procedure

Functie

In tegenstelling tot procedures moeten we parameters doorgeven aan functies en moet een functie een waarde retourneren. Om een ​​functie aan te maken in MariaDB, gebruiken we de instructie CREATE FUNCTION. De verklaring luidt als volgtwing syntaxis:

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;

De bovenstaande parameters worden hieronder beschreven:

Parameter Omschrijving
DEFINER-clausule Deze parameter is optioneel. Als u dit niet opgeeft, wordt de definieeraar de gebruiker die de functie heeft gemaakt. Als het nodig is een andere definieeraar op te geven, neem dan de DEFINER-clausule op waarin de gebruikersnaam de definieeraar van de functie zal zijn.
functienaam De naam die aan deze functie moet worden toegewezen in het MariaDB.
parameter De parameter(s) die aan de functie zijn doorgegeven. Tijdens het maken van de functie worden alle parameters behandeld als IN-parameters (in plaats van OUT/INOUT-parameters).
return_datatype Het gegevenstype van de retourwaarde van de functie.
TAAL SQL Het beïnvloedt de draagbaarheid, maar niet de functie.
DETERMINISTISCH De functie retourneert slechts één resultaat als er een aantal parameters wordt opgegeven.
NIET DETERMINISTISCH Het is mogelijk dat de functie een ander resultaat retourneert als er een aantal parameters wordt opgegeven.
BEVAT SQL informeert MariaDB dat deze functie SQL bevat. De database zal niet verifiëren of dit waar is.
GEEN SQL Deze clausule wordt niet gebruikt en heeft geen invloed op uw functie.
LEEST SQL-GEGEVENS vertelt MariaDB dat deze functie SELECT-instructies zal gebruiken om gegevens te lezen, maar de gegevens niet zal wijzigen.
WIJZIGT SQL-GEGEVENS vertelt MariaDB dat deze functie INSERT, DELETE, UPDATE en andere zal gebruiken DDL instructies om SQL-gegevens te wijzigen.
aangifte-sectie Dit is waar lokale variabelen moeten worden gedeclareerd.
uitvoerbare sectie De functiecode moet hier worden toegevoegd.

Hier is een voorbeeld MariaDB functie:

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 ;

Functie in MariaDB

We kunnen de bovenstaande functie dan als volgt aanroepen:

select sumFunc(1000);

De opdracht retourneert het volgendewing:

Functie in MariaDB

Als u klaar bent met een functie, kunt u deze het beste verwijderen. Dit is eenvoudig omdat u alleen de DROP FUNCTION-instructie hoeft aan te roepen die de following syntaxis:

DROP FUNCTION function_name;

Als u bijvoorbeeld de functie met de naam myFunc wilt verwijderen, kunnen we het volgende uitvoeren: following opdracht:

DROP FUNCTION myFunc;

AANMELDEN

Als u gegevens uit meer dan één tabel tegelijk wilt ophalen, gebruikt u MariaDB DOET MEE. Dit betekent dat een AANMELDEN werkt op twee of meer tafels. De volgendewing Er worden drie typen JOINS ondersteund MariaDB:

  • BINNEN/EENVOUDIG AANSLUITEN
  • LINKS BUITENVERBINDEN/LINKS VERBINDEN
  • RECHTS BUITEN JOIN/RECHTS JOIN

Laten we ze één voor één bespreken:

INNER JOIN

De inner join retourneert alle rijen uit de tabellen waarin de join-voorwaarde waar is. De syntaxis is als volgt:

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

Bijvoorbeeld:

We zullen onze twee tabellen, boeken en boek gebruiken.

De boekentafel heeft het volgendewing data:

INNER JOIN

De prijstabel bevat het volgendewing data:

INNER JOIN

Het doel is om de naamkolom uit de Boekentabel en de prijskolom uit de Prijstabel samen te voegen tot één tabel. Dit is mogelijk met een inner join, zoals hieronder gedemonstreerd:

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

De opdracht retourneert het volgendewing:

INNER JOIN

LINKER BUITENSTE JOIN

Deze join retourneert alle rijen uit de linkertabel en alleen de rijen waarin de join-voorwaarde waar is uit de andere tabel. De syntaxis is als volgt:

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

Het trefwoord OUTER is in het vierkant geplaatst brackets omdat het optioneel is.

Bijvoorbeeld:

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

De opdracht retourneert het volgendewing:

LINKER BUITENSTE JOIN

Het laatste record in de bovenstaande tabel heeft aan de linkerkant geen overeenkomende waarde. Daarom is het vervangen door NULL.

RECHTS BUITENSTE JOIN

Deze join retourneert alle rijen uit de rechtertabel en alleen de rijen waarin de join-voorwaarde waar is uit de andere tabel. De syntaxis is als volgt:

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

Het trefwoord OUTER is in het vierkant geplaatst brackets omdat het optioneel is.

Bijvoorbeeld:

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

De opdracht retourneert het volgendewing:

RECHTS BUITENSTE JOIN

De reden is dat alle rijen in de rechtertabel overeenkomen met die in de andere tabel. Als sommige rijen niet overeenkomen, zouden we NULL's in de eerste kolom hebben.