In dit artikel leggen wij de basics uit van het beheren van MariaDB via command-line (e.g. voor VPS'en met Ubuntu, Debian, of CentOS). Wil je MariaDB eerst installeren? Raadpleeg dan een van de volgende handleidingen:
- MariaDB installeren in Ubuntu 16.04 of 18.04
- MariaDB installeren in Debian 9
- MariaDB installeren in CentOS 7
Voor het beheren van MariaDB via command-ine gebruik je een SQL-shell. De SQL-shell is een interfactieve interface die je aanroept via command-line met het commando:
mysql -u root -p
-u staat voor user, root is de gebruiker is waarmee je de SQL-shell start en -p zorgt dat je een prompt krijgt voor een wachtwoord.
Veel gebruikte commando's
Na het starten van de SQL-shell kun je daadwerkelijk databases aanmaken en bewerken. Hieronder volgen enkele voorbeelden van commando's voor het aanmaken en beheren van databases.
-
Database aanmaken:Vervang 'jedatabase' door de naam van de database die je aan wil maken.
CREATE DATABASE jedatabase;
-
Gebruiker aanmaken:Vervang 'username' door de gewenste gebruikersnaam en 'password' door het gewenste wachtwoord voor die gebruiker.
CREATE USER 'username'@'LOCALHOST' IDENTIFIED BY 'password';
-
Alle database namen weergeven:
SHOW DATABASES;
-
Rechten geven tot een database:Vervang eventueel 'ALL' door de naam van het privilege / de rechten die je wil geven als je niet volledige rechten tot een database wil geven. Op deze pagina vind je een overzicht van alle mogelijke rechten die je een gebruiker kunt geven.
GRANT ALL ON jedatabase.* TO 'username'@'LOCALHOST';
Vervang 'jedatabase' door de naam van de gewenste database (of * voor alle databases) en 'username' door de gebruikersnaam die je toegang wil geven. -
Niewe gebruikers / wijzigingen in rechten toepassen:
Wanneer je een nieuwe gebruiker aanmaakt, of rechten aanpast, worden die wijzigingen pas toegepast wanneer je ze verwerkt met het commando:FLUSH PRIVILEGES;
-
De status van MariaDB tonen:
STATUS;
-
Een database selecteren:Waarbij je 'jedatabase' vervangt door de daadwerkelijke naam van de database. Deze stap is nodig om bewerkingen op een database te kunnen uitvoeren. De onderstaande commando's werken dan ook enkel nadat je een database hebt geselecteerd.
USE jedatabase;
-
Een tabel aanmaken:
Het aanmaken van een tabel leggen wij uit aan de hand van een voorbeeld:In dit voorbeeld maak je een tabel genaamd 'movielist' in de database die je met het vorige commando (USE jedatabase;) hebt geselecteerd. De tabel heeft drie kolommen met respectievelijk oplopende nummers (id), een film titel (title) en het jaar (year) waarop de film uit kwam.CREATE TABLE movielist (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(40), year INT);
- INT : staat voor integer en geeft aan dat de betreffende kolom uit getallen bestaaat.
- NOT NULL : de waarde van de kolom mag niet leeg zijn. Je bent vrij dit voor iedere kolom te gebruiken (e.g. title VARCHAR(40) NOT NULL).
- AUTO_INCREMENT : wanneer je een nieuwe waarde toevoegd in de tabel, wordt automatisch de waarde van het movie_id met 1 verhoogd.
-
PRIMARY KEY : geeft aan dat het ID veld een unieke identifier is voor ieder record (i.e. iedere rij) in de tabel.
-
Gegevens aan een tabel toevoegen:Voegt een nieuwe rij toe in de movielist database, waarbij in het eerste commando de movie_id 1 is, de title 'The Avengers: Endgame' en het jaar van uitgave 2019.
INSERT INTO movielist (id,
title,
year) VALUES (1, 'The Avengers: Endgame', 2019); INSERT INTO movielist (id,
title,
year) VALUES (2, 'Star Trek', 2009);
-
Gegevens uit een tabel tonen:Toont de gehele inhoud van de movielist tabel. Vervang * door de naam van een kolom om enkel die kolom te tonen, of gebruik voor de inhoud van een specifieke rij, bijvoorbeeld:
SELECT * FROM movielist;
SELECT title FROM movielist WHERE id=2;
-
Databases verwijderen:Vervang 'jedatabase' door de naam van de database die je wil verwijderen.
DROP DATABASE jedatabase;
-
Tabel vewijderen:Vervang 'jetabel' door de naam van de tabeldie je wil verwijderen.
DROP TABLE jetabel;
-
Data uit een tabel verwijderen:
Als je data verwijdert, is het het eenvoudigste dit per rij te doen. Je verwijdert bijvoorbeeld de hele 2e rij met:Hier gaan wij ervan uit dat je bij het aanmaken van de tabel de eerste kolom de naam 'id' hebt gegeven.DELETE FROM jetabel WHERE id=2;
Wil je meerdere rijen verwijderen? Dan is de beste methode om meerdere rijen met dezelfde eigenschap te verwijderen. Stel bijvoorbeeld dat je in ons eerdere voorbeeld met de 'movielist'-tabel alle films uit 2009 uit je tabel wil verwijderen, dan gebruik je:DELETE FROM movielist WHERE year LIKE '2009';
- Je kunt hier ook wildcards gebruiken in het zoekcriterium achter 'LIKE':
Er zijn uiteraard meer mogelijkheden met MariaDB. Zijn er commando's die je niet terugvindt maar graag uitgelegd ziet? Laat het ons weten in een bericht onder 'Reacties', dan nemen wij die voor je op in dit artikel.