MariaDB Handledning för nybörjare: Lär dig med EXEMPEL

Vad är MariaDB?

MariaDB är en gaffel i MySQL -databashanteringssystemet. Det är skapat av sina ursprungliga utvecklare. Detta DBMS -verktyg erbjuder databehandlingsfunktioner för både små och företagsuppgifter.

MariaDB är en förbättrad version av MySQL. Den levereras med många inbyggda kraftfulla funktioner och många användbarheter, säkerhets- och prestandaförbättringar som du inte hittar i MySQL.

Här är funktionerna i MariaDB:

  • Den fungerar under GPL-, BSD- eller LGPL -licenser.
  • MariaDB stöder ett populärt och standardiserat frågespråk.
  • Den levereras med många lagringsmotorer, inklusive de högpresterande som kan integreras med andra relationsdatabashanteringssystem.
  • Den tillhandahåller Galera -klustertekniken.
  • MariaDB stöder PHP, ett populärt språk för webbutveckling.
  • MariaDB kan köras på olika operativsystem och stöder många programmeringsspråk.
  • MariaDB kommer med ytterligare kommandon som inte är tillgängliga i MySQL. MySQL har funktioner som har en negativ inverkan på DBMS: s prestanda. Sådana funktioner har ersatts i MariaDB.

I denna handledning för MariaDB lär du dig:

MariaDB kontra MySQL

ParameterMariaDBMySQL
Fler alternativ för lagringsmotorerMariaDB har 12 nya lagringsmotorer som du inte hittar i MySQL.Den har färre lagringsalternativ jämfört med MariaDB.
HastighetsförbättringarMariaDB visar en förbättrad hastighet jämfört med MySQL. Den levereras med många funktioner för att optimera hastigheten. Sådana funktioner inkluderar härledda vyer/tabeller, underfråga, körningskontroll, diskåtkomst och optimeringsstyrning.MySQL uppvisar en långsammare hastighet jämfört med MariaDB. Den förlitar sig bara på några få funktioner för hastighetsoptimering, till exempel hashindex.
Snabbare cache/indexMed MariaDB: s minneslagringsmotor kan ett INSERT -uttalande slutföras 24% än i standard MySQL.Minneslagringsmotorn för MySQL är långsammare jämfört med den MariaDB.
Större och snabbare anslutningspoolMariaDB har en avancerad trådpool som kan köras snabbare och stödja upp till 200 000+ anslutningar.Den trådpool som tillhandahålls av MySQL kan inte stödja upp till 200 000 anslutningar per gång.
Förbättrad replikeringI MariaDB kan replikering göras säkrare och snabbare. Uppdateringar kan också göras 2x snabbare jämfört med den traditionella MySQL.MySQL's community edition gör det möjligt att ansluta ett statiskt antal trådar. MySQL: s företagsplan har trådfunktioner.
Nya funktioner/tilläggMariaDB kommer med nya funktioner och tillägg inklusive JSON, WITH och KILL -uttalanden.De nya MariaDB -funktionerna finns inte i MySQL.
Saknade funktionerMariaDB saknar några av de funktioner som tillhandahålls av MySQL Enterprise Edition. För att åtgärda detta, erbjuder det alternativa plug-ins med öppen källkod. Därför kan MariaDB -användare njuta av samma funktioner som MySQL Enterprise Edition -användare.Enterprise Edition av MySQL använder en proprietär kod. Endast användare av MySQL Enterprise Edition har tillgång till detta.

Installation av MariaDB

Installera som en fristående applikation

För att kunna använda MariaDB måste du installera det på din dator.

Installationen kan göras genom att följa stegen nedan:

Steg 1) Ladda ner installationsfilen från följande URL:

https://downloads.mariadb.org/

Steg 2) När nedladdningen är klar dubbelklickar du på filen för att starta installationen.

Steg 3) Klicka på knappen Nästa i fönstret som dyker upp:

Steg 4) Godkänn sedan licensavtalet genom att aktivera kryssrutan och klicka sedan på knappen Nästa:

Steg 5) Välj sedan de funktioner som ska installeras och klicka på knappen Nästa.

Steg 6) I nästa fönster måste du ändra lösenordet för rotanvändaren.

  1. Ange lösenordet och bekräfta det genom att skriva in samma lösenord igen. Om du vill tillåta åtkomst från fjärrmaskiner, aktivera den nödvändiga kryssrutan.
  2. När du är klar klickar du på knappen Nästa.

Steg 7) I nästa fönster skriver du ett namn för förekomsten, väljer portnummer och anger önskad storlek. Klicka på knappen Nästa:

Steg 8) Klicka på knappen Nästa i nästa fönster.

Steg 9) Starta installationen genom att klicka på knappen Installera.

Steg 10) En förloppsindikator som visar hur installationen fortskrider visas:

Steg 11) När installationen är klar ser du knappen Slutför. Klicka på knappen för att stänga fönstret:

Steg 12) Grattis! Du har nu installerat MariaDB på din dator.

Arbeta med kommandotolken

Nu när du har MariaDB installerat på din dator är det dags för dig att starta den och börja använda den. Detta kan göras via kommandotolken MariaDB.

Följ stegen nedan:

Steg 1) Klicka på Start, välj Alla program och klicka sedan på MariaDB ...

Steg 2) Välj en MariaDB -kommandotolk.

Steg 3) Kommandotolken MariaDB startas. Det är nu dags att logga in. Du bör logga in som rotanvändare och lösenordet som du ställde in under installationen av MariaDB. Skriv följande kommando på kommandotolken: | _+_ |

Steg 4) Ange lösenordet och tryck på returtangenten. Du bör vara inloggad, enligt nedan:

Du är nu inloggad på MariaDB.

Datatyper

MariaDB stöder följande datatyper:

  • Strängdatatyper
  • Numeriska datatyper
  • Datatyper för datum/tid
  • Datatyper med stora objekt

Strängdatatyper

Dessa inkluderar följande:

Strängdatatyp Beskrivning
röding (storlek)Storleken anger antalet tecken som ska lagras. Den lagrar högst 255 tecken. Strängar med fast längd.
varchar (storlek)Storleken anger antalet tecken som ska lagras. Den lagrar högst 255 tecken. Strängar med variabel längd.
textstorlek)Storleken anger antalet tecken som ska lagras. Den lagrar högst 255 tecken. Strängar med fast längd.
binär (storlek)Storleken anger antalet tecken som ska lagras. Den lagrar högst 255 tecken. Strängar med fast storlek.

Numeriska datatyper

De inkluderar följande:

Numeriska datatyperBeskrivning
bitEtt mycket litet heltal som motsvarar tinyint (1). Signerade värden ligger mellan -128 och 127. Osignerade värden ligger mellan 0 och 255.
int (m)Ett standardtalsvärde. Signerade värden ligger mellan -2147483648 och 2147483647. Osignerade värden ligger mellan 0 och 4294967295.
flyta (m, d)Ett flytande nummer med enkel precision.
dubbel (m, d)Ett flytnummer med dubbel precision.
flyta (p)Ett flytnummer.

Datatyper för datum/tid

Dessa inkluderar följande:

Datum/tid Datatyp Beskrivning
DatumVisas i formen 'åååå-mm-dd.' Värdena ligger mellan '1000-01-01' och '9999-12-31'.
Datum TidVisas i formen 'åååå-mm-dd hh: mm: ss'. Värdena varierar mellan '1000-01-01 00:00:00' och '9999-12-31 23:59:59'.
tidsstämpel (m)Visas i formen 'åååå-mm-dd hh: mm: ss'. Värdena varierar mellan '1970-01-01 00:00:01' utc och '2038-01-19 03:14:07' utc.
TidVisas i formen 'hh: mm: ss'. Värdena ligger mellan '-838: 59: 59' och '838: 59: 59'.

Datatyper för stora objekt (LOB)

De inkluderar följande:

Stort objekt Datatyp Beskrivning
litenbloggDess maximala storlek är 255 byte.
klump (storlek)Tar 65 535 byte som maximal storlek.
mediumbloggDess maximala storlek är 16 777 215 byte.
långtextDet tar 4 GB som maximal storlek.

Skapa en databas och tabeller

För att skapa en ny databas i MariaDB bör du ha särskilda privilegier som endast beviljas rotanvändaren och administratörerna.

För att skapa en ny databas bör du använda kommandot SKAPA DATABASE som tar följande syntax: | _+_ |

I det här fallet måste du skapa en databas och ge den namnet Demo.

Starta kommandotolken MariaDB och logga in som rotanvändare genom att skriva följande kommando: | _+_ |

Skriv in rotlösenordet och tryck på returtangenten. Du kommer att vara inloggad.

Kör nu följande kommando: | _+_ |

Du har sedan skapat en databas som heter Demo. Det är bra för dig att bekräfta om databasen skapades framgångsrikt eller inte. Du behöver bara visa listan över tillgängliga databaser genom att köra följande kommando: | _+_ |

Ovanstående utdata visar att demodatabasen är en del av listan, därför skapades databasen framgångsrikt.

Välja en databas

För att du ska kunna använda eller arbeta med en viss databas måste du välja den från listan över tillgängliga databaser. När du har valt en databas kan du utföra uppgifter som att skapa tabeller i databasen.

För att välja en databas bör du använda kommandot USE. Den tar syntaxen nedan: | _+_ |

Du måste använda demodatabasen. Du kan välja det genom att köra följande kommando: | _+_ |

Bilden ovan visar att kommandotolken MariaDB har ändrats från ingen till namnet på den valda databasen.

Du kan nu fortsätta och skapa tabeller i demodatabasen.

Skapa ett bord

För att du ska kunna skapa en tabell måste du ha valt en databas. Tabellen kan skapas med CREATE TABLE -satsen. Här är syntaxen för kommandot: | _+_ |

Du kan ställa in en av kolumnerna som huvudnyckel. Denna kolumn bör inte tillåta nullvärden.

Vi skapar två tabeller i demodatabasen, bok- och pristabeller. Varje tabell kommer att ha två kolumner.

Låt oss börja med att skapa boktabellen med två kolumner, id och namn. Kör följande kommando: | _+_ |

PRIMARY KEY -begränsningen har använts för att ange id -kolumnen som huvudnyckel för tabellen. Egenskapen AUTO_INCREMENT ökar värdena för id -kolumnen med 1 automatiskt för varje ny post som läggs in i tabellen. Alla kolumner tillåter inte nullvärden.

Skapa nu den andra tabellen, pristabellen: | _+_ |

Id -kolumnen har angetts som huvudnyckel för tabellen.

Visar tabeller

Nu när du har skapat de två tabellerna är det bra för dig att överensstämma om tabellerna skapades framgångsrikt eller inte. Du kan visa listan över tabeller i en databas genom att köra följande kommando: | _+_ |

Ovanstående skärmdump visar att de två tabellerna skapades framgångsrikt i demodatabasen.

Visar tabellstruktur

För att se strukturen för en viss tabell kan du använda kommandot DESCRIBE, vanligtvis förkortat som DESC. Den tar följande syntax: | _+_ |

Om du till exempel vill se strukturen i tabellen som heter Bok kan du köra följande kommando; | _+_ |

Tabellen har två kolumner. För att se strukturen i pristabellen kan du köra följande kommando: | _+_ |

GRUDD och klausuler

FÖRA IN

Om du vill infoga data i en MariaDB -tabell bör du använda INSERT INTO -satsen. Detta kommando tar syntaxen nedan: | _+_ |

Ovanstående syntax visar att du måste ange tabellkolumnerna där du vill infoga data såväl som data som du behöver infoga.

Låt oss infoga en post i boktabellen: | _+_ |

Du har infogat en enda post i tabellen. Infoga en post i pristabellen: | _+_ |

Skivan har skapats.

VÄLJ

SELECT -satsen hjälper oss att se eller se innehållet i en databastabell. För att se innehållet i boktabellen, till exempel, måste du köra följande kommando: | _+_ |

Se nu innehållet i pristabellen: | _+_ |

Infoga flera poster

Det är möjligt för oss att infoga flera poster i ett MariaDB -bord när som helst. För att demonstrera detta, kör följande exempel: | _+_ |

Du kan fråga tabellen för att kontrollera om posterna har infogats: | _+_ |

Posterna har infogats. Infoga flera poster i pristabellen genom att köra detta exempel: | _+_ |

Låt oss bekräfta om posterna skapades framgångsrikt: | _+_ |

UPPDATERING

UPDATE -kommandot hjälper oss att ändra eller ändra de poster som redan har infogats i en tabell. Du kan kombinera den med WHERE -satsen för att ange posten som ska uppdateras. Här är syntaxen: | _+_ |

UPDATE -kommandot kan också kombineras med satser som SET, WHERE, LIMIT och ORDER BY. Du kommer att se detta inom kort:

Tänk på tabellen Price med följande poster:

Låt oss ändra priset på boken med ett ID på 1 från 200 till 250: | _+_ |

Kommandot kördes framgångsrikt. Du kan nu fråga tabellen för att se om ändringen skedde:

Ovanstående skärmdump visar att ändringen har genomförts. Tänk på tabellboken med följande poster:

Låt oss ändra namnet på boken Book till MariaDB Book1. Lägg märke till att boken har ett id på 1. Här är kommandot för detta: | _+_ |

Kontrollera om ändringen har genomförts:

Ovanstående skärmdump visar att ändringen har genomförts framgångsrikt.

I exemplen ovan har vi bara ändrat en kolumn åt gången. Det är dock möjligt för oss att ändra flera kolumner samtidigt. Låt oss visa detta med hjälp av ett exempel.

Låt oss använda pristabellen med följande data:

Låt oss ändra både id och pris för boken med ett id på 5. Vi kommer att ändra dess id till 6 och pris till 6. Kör följande kommando: | _+_ |

Fråga nu tabellen för att kontrollera om ändringen gjordes:

Ändringen gjordes framgångsrikt.

Radera

Vi använder kommandot DELETE när vi behöver ta bort antingen en eller flera poster från en tabell. Här är syntaxen för kommandot: | _+_ |

Tänk på pristabellen med följande poster:

Vi måste ta bort den sista posten från tabellen. Den har ett id på 6 och ett pris på 280. Låt oss ta bort posten: | _+_ |

Kommandot kördes framgångsrikt. Låt oss fråga tabellen för att bekräfta om borttagningen lyckades:

Utdata visar att posten har raderats.

Var

WHERE -klausulen hjälper oss att specificera den exakta platsen där vi behöver göra en ändring. Den används tillsammans med uttalanden som INSERT, SELECT, UPDATE och DELETE. Tänk på pristabellen med följande data:

Antag att vi måste se de poster där priset är mindre än 250. Vi kan köra följande kommando: | _+_ |

Alla poster där priset är under 250 har returnerats.

WHERE -satsen kan kombineras med AND -satsen. Antag att vi måste se alla poster i pristabellen där priset är under 250 och id är över 3. Vi kan köra följande kommando: | _+_ |

Endast en post har returnerats. Anledningen är att den måste uppfylla alla villkor som har angetts, det vill säga id över 3 och pris under 250. Om något av dessa villkor bryts kommer posten inte att returneras.

Klausulen kan också kombineras med kommandot OR. Låt oss ersätta OCH i vårt tidigare kommando med OR och se vilken typ av utdata vi får: | _+_ |

Vi får nu 2 rekord snarare än 1. Detta beror på att det för kvalificeringsrekord bara måste uppfylla ett av de angivna villkoren.

Tycka om

Denna klausul används för att specificera datamönstret vid åtkomst till tabelldata där en exakt matchning är nödvändig. Den kan kombineras med INSERT, UPDATE, SELECT och DELETE -satserna.

Du bör skicka datormönstret du letar efter till klausulen, och det kommer att returnera antingen sant eller falskt. Här är jokertecken som kan användas tillsammans med klausulen:

  • %: för att matcha antingen 0 eller fler tecken.
  • _: för att matcha ett enda tecken.

Här är syntaxen för LIKE -satsen: | _+_ |

Låt oss visa hur du använder klausulen med % jokertecken. Låt oss använda boktabellen med följande poster:

Vi måste se alla poster där namnet börjar med M. Vi kan köra följande kommando: | _+_ |

Alla poster har returnerats eftersom deras namn börjar med bokstaven M. För att se alla namn som slutar med 4 kan du köra följande kommando: | _+_ |

Endast ett namn har returnerats eftersom det är det enda som uppfyller villkoret.

Vi kan också omge sökmönstret med jokertecken: | _+_ |

Annat än % wildcard kan LIKE -satsen användas tillsammans med _ wildcard. Detta är jokertecknet med understreck, och det kommer bara att leta efter ett enda tecken.

Låt oss arbeta med pristabellen med följande poster:

Låt oss leta efter rekordet där priset är 1_0. Vi kör följande kommando: | _+_ |

Det har returnerat rekordet där priset är 190. Vi kan också prova ett annat mönster: | _+_ |

Det är möjligt för oss att använda LIKE -klausulen tillsammans med NOT -operatören. Detta returnerar alla poster som inte uppfyller det angivna mönstret. Till exempel:

Låt oss använda pristabellen med följande poster:

Låt oss hitta alla poster där priset inte börjar med 2: | _+_ |

Endast en post uppfyller inte det angivna mönstret.

Sortera efter

Denna klausul hjälper oss att sortera ut våra poster i antingen stigande eller fallande ordning. Vi använder det med SELECT -satsen, som visas nedan: | _+_ |

Det är möjligt för oss att använda denna klausul utan att lägga till vare sig ASC- eller DESC -delen. Till exempel:

Vi använder pristabellen med följande poster:

Kör följande kommando mot tabellen: | _+_ |

I kommandot ovan har vi beställt efter priset. Posterna har beställts med priserna i stigande ordning. Det betyder att när vi inte specificerar ordningen sker sorteringen i stigande ordning som standard.

Låt oss köra klausulen med DESC -alternativet: | _+_ |

Posterna har sorterats med priset i fallande ordning som vi har angett.

Låt oss använda ORDER BY -satsen tillsammans med ASC -attributet: | _+_ |

Posterna har beställts men med priserna i stigande ordning. Detta liknar när vi använder ORDER BY -klausulen utan ASC- eller DESC -attribut.

DISTINKT

Denna klausul hjälper oss att göra av med dubbletter när vi väljer poster från en tabell. Det betyder att det hjälper oss att få unika poster. Syntaxen ges nedan: | _+_ |

För att demonstrera detta använder vi pristabellen med följande data:

När vi väljer priskolumnen från tabellen får vi följande resultat: | _+_ |

Vi har två poster med ett pris på 250, vilket skapar en duplikat. Vi behöver bara ha unika poster. Vi kan filtrera dessa med hjälp av DISTINCT -satsen enligt nedan: | _+_ |

Vi har nu inga dubbletter i ovanstående utdata.

Från

FROM -satsen som används för att hämta data från en databastabell. Det kan också hjälpa när du går med i bord. Här är syntaxen för kommandot: | _+_ |

För att se innehållet i boktabellen, kör följande kommando: | _+_ |

Klausulen kan hjälpa dig att hämta bara en enda kolumn från en databastabell. Till exempel: | _+_ |

Avancerade uppgifter

Lagrad procedur

Ett förfarande är ett MariaDB -program som du kan skicka parametrar till. Ett förfarande returnerar inte värden. För att skapa ett förfarande använder vi kommandot SKAPA FÖRFARANDE.

För att visa hur man skapar och anropar ett förfarande skapar vi ett förfarande som heter myProcedure () som hjälper oss att välja namnkolumnen från boktabellen. Här är proceduren: | _+_ |

Förfarandet har skapats. Vi har helt enkelt bifogat SELECT -satsen i proceduren BEGIN och END.

Nu kan vi kalla proceduren med dess namn enligt nedan: | _+_ |

Proceduren returnerar namnkolumnen i boktabellen när den anropas.

Vi kan skapa ett förfarande som tar in en parameter. Till exempel måste vi välja namnet på boken och filtrera med bok -id. Vi kan skapa följande procedur för detta: | _+_ |

Ovan har vi skapat ett förfarande som heter myProcedure2 (). Denna procedur tar en heltalsparameter som heter book_id som är id för boken vars namn vi behöver se. För att se namnet på boken med ett id på 3 kan vi kalla proceduren enligt följande: | _+_ |

Fungera

Till skillnad från procedurer måste vi överföra parametrar till funktioner och en funktion måste returnera ett värde. För att skapa en funktion i MariaDB använder vi CREATE FUNCTION -satsen. Påståendet tar följande syntax: | _+_ |

Ovanstående parametrar beskrivs nedan:

ParameterBeskrivning
DEFINER -klausulDenna parameter är valfri. Om du inte anger det blir definieraren användaren som skapade funktionen. Om det finns ett behov av att ange en annan definierare, inkludera DEFINER -satsen där användarnamnet kommer att vara funktionens definierare.
funktionsnamnNamnet som ska tilldelas denna funktion i MariaDB.
parameterParameteren / parametrarna skickas till funktionen. Under skapandet av funktionen behandlas alla parametrar som IN -parametrar (istället för OUT/INOUT -parametrar).
return_datatypeDatatypen för funktionens returvärde.
SPRÅK SQLDet påverkar portabiliteten men inte funktionen.
DETERMINISTISKFunktionen returnerar bara ett resultat när det ges ett antal parametrar.
INTE DETERMINISTISKTDet är möjligt för funktionen att returnera ett annat resultat när det ges ett antal parametrar.
INNEHÅLLER SQLInformerar MariaDB om att den här funktionen innehåller SQL. Databasen kommer inte att verifiera om detta är sant.
INGEN SQLDenna klausul används inte och har ingen inverkan på din funktion.
LÄSER SQL DATABerättar för MariaDB att den här funktionen kommer att använda SELECT -satser för att läsa data, men det kommer inte att ändra data.
ÄNDRAR SQL -DATABerättar för MariaDB att denna funktion kommer att använda INSERT, DELETE, UPDATE och andra DDL -satser för att ändra SQL -data.
deklarationssektionDet är här lokala variabler ska deklareras.
körbar sektionFunktionskoden bör läggas till här.

Här är ett exempel på MariaDB -funktion: | _+_ |

Vi kan sedan kalla ovanstående funktion enligt följande: | _+_ |

Kommandot returnerar följande:

När du är klar med en funktion är det bra för dig att ta bort den. Detta är enkelt eftersom du bara behöver anropa DROP FUNCTION -satsen som tar följande syntax: | _+_ |

För att till exempel släppa funktionen myFunc kan vi köra följande kommando: | _+_ |

ANSLUTA SIG

När du behöver hämta data från mer än en tabell i taget, använd MariaDB JOINS. Det betyder att en JOIN fungerar på två eller flera bord. Följande tre typer av JOINS stöds i MariaDB:

  • INNER/ENKEL GÅ MED
  • VÄNSTER YTTRE JOIN/VÄNSTER JOIN
  • HÖGER YTTRE GÅ MED/HÖGRE GÅ MED

Låt oss diskutera dem en efter en:

INRE KOPPLING

Den inre kopplingen returnerar alla rader från tabellerna där sammanfogningsvillkoret är sant. Syntaxen är följande: | _+_ |

Till exempel:

Vi kommer att använda våra två bord, böcker och bok.

Bokbordet har följande data:

Pristabellen har följande data:

Målet är att foga namnkolumnen från boktabellen och priskolumnen från pristabellen till en enda tabell. Detta är möjligt med en inre skarv, som visas nedan: | _+_ |

Kommandot returnerar följande:

VÄNSTER YTTRE GÅ MED

Denna koppling returnerar alla rader från tabellen till vänster och endast rader där sammanfogningsvillkoret är sant från den andra tabellen. Syntaxen är följande: | _+_ |

Nyckelordet YTTRE har placerats inom hakparenteser eftersom det är valfritt.

Till exempel: | _+_ |

Kommandot returnerar följande:

Den sista posten i tabellen ovan har inget matchande värde till vänster. Det är därför det har ersatts med NULL.

HÖGER YTTRE GÅ MED

Denna koppling returnerar alla rader från den högra tabellen och endast rader där sammanfogningsvillkoret är sant från den andra tabellen. Syntaxen är följande: | _+_ |

Nyckelordet YTTRE har placerats inom hakparenteser eftersom det är valfritt.

Till exempel: | _+_ |

Kommandot returnerar följande:

Anledningen är att alla rader i den högra tabellen matchades med de i den andra tabellen. Om några av raderna inte matchade skulle vi ha NULL i den första kolumnen.