MariaDB Tutoriel

Qu'est-ce que le MariaDB?

MariaDB est une fourchette du MySQL systรจme de gestion de base de donnรฉes. Il est crรฉรฉ par ses dรฉveloppeurs d'origine. Cet outil SGBD offre des capacitรฉs de traitement de donnรฉes pour les tรขches des petites et des entreprises.

MariaDB est une version amรฉliorรฉe de MySQL. Il est livrรฉ avec de nombreuses fonctionnalitรฉs puissantes intรฉgrรฉes et de nombreuses amรฉliorations de fonctionnalitรฉs, de sรฉcuritรฉ et de performances que vous ne pouvez pas trouver dans MySQL.

Voici les caractรฉristiques de MariaDB:

  • Il fonctionne sous licences GPL, BSD ou LGPL.
  • MariaDB prend en charge un langage de requรชte populaire et standard.
  • Il est livrรฉ avec de nombreux moteurs de stockage, y compris des moteurs hautes performances qui peuvent รชtre intรฉgrรฉs ร  d'autres systรจmes de gestion de bases de donnรฉes relationnelles.
  • Il fournit la technologie du cluster Galera.
  • MariaDB prend en charge PHP, un langage populaire pour le dรฉveloppement Web.
  • MariaDB peut fonctionner sur diffรฉrents systรจmes dโ€™exploitation et prend en charge de nombreux langages de programmation.
  • MariaDB est livrรฉ avec des commandes supplรฉmentaires qui ne sont pas disponibles dans MySQL. MySQL possรจde des fonctionnalitรฉs qui ont un impact nรฉgatif sur les performances du SGBD. Ces fonctionnalitรฉs ont รฉtรฉ remplacรฉes dans MariaDB.

MariaDB vs. MySQL

Vous trouverez ci-dessous quelques diffรฉrences clรฉs entre MariaDB vs MySQL

Paramรจtres MariaDB MySQL
Plus d'options pour les moteurs de stockage MariaDB dispose de 12 nouveaux moteurs de stockage que vous ne trouverez pas dans MySQL. Il offre moins dโ€™options de stockage par rapport ร  MariaDB.
Amรฉliorations de la vitesse MariaDB montre une vitesse amรฉliorรฉe par rapport ร  MySQL. Il est livrรฉ avec de nombreuses fonctionnalitรฉs pour optimiser la vitesse. Ces fonctionnalitรฉs incluent les vues/tables dรฉrivรฉes, les sous-requรชtes, le contrรดle d'exรฉcution, l'accรจs au disque et le contrรดle de l'optimiseur. MySQL prรฉsente une vitesse plus lente par rapport ร  MariaDB. Il ne s'appuie que sur quelques fonctionnalitรฉs d'optimisation de la vitesse, par exemple les index de hachage.
Cache/index plus rapides Avec le moteur de stockage mรฉmoire de MariaDB, une instruction INSERT peut รชtre complรฉtรฉe 24 % plus que dans la norme MySQL. Le moteur de stockage mรฉmoire de MySQL est plus lent que รงa MariaDB.
Pool de connexions plus grand et plus rapide MariaDB est livrรฉ avec un pool de threads avancรฉ capable de fonctionner plus rapidement et de prendre en charge jusqu'ร  200,000 + connexions. Le pool de threads fourni par MySQL ne peut pas prendre en charge jusqu'ร  200,000 connexions ร  la fois.
Rรฉplication amรฉliorรฉe In MariaDB, la rรฉplication peut รชtre effectuรฉe de maniรจre plus sรปre et plus rapide. Les mises ร  jour peuvent รฉgalement รชtre effectuรฉes 2 fois plus rapidement que les mises ร  jour traditionnelles. MySQL. MySQLL'รฉdition communautaire de permet de connecter un nombre statique de threads. MySQLLe plan d'entreprise de est livrรฉ avec des fonctionnalitรฉs de thread.
Nouvelles fonctionnalitรฉs/extensions MariaDB est livrรฉ avec de nouvelles fonctionnalitรฉs et extensions, notamment les instructions JSON, WITH et KILL. Le nouveau systรจme dโ€™ MariaDB les fonctionnalitรฉs ne sont pas fournies dans MySQL.
Caractรฉristiques manquantes MariaDB il lui manque certaines des fonctionnalitรฉs fournies par le MySQL Edition pour entreprise. Pour rรฉsoudre ce problรจme, il propose des plugins open source alternatifs. Ainsi, MariaDB les utilisateurs peuvent bรฉnรฉficier des mรชmes fonctionnalitรฉs que MySQL Utilisateurs de l'รฉdition Entreprise. L'รฉdition Entreprise de MySQL utilise un code propriรฉtaire. Seuls les utilisateurs de MySQL Enterprise Edition y a accรจs.

Comment installer MariaDB

Installer en tant qu'application autonome

Pour utiliser MariaDB, vous devez l'installer sur votre ordinateur.

L'installation peut รชtre effectuรฉe en suivant les รฉtapes indiquรฉes ci-dessous :

ร‰tape 1) Ouvrir ci-dessous l'URL
Tรฉlรฉchargez le fichier d'installation ร  partir du lien https://downloads.mariadb.org/

ร‰tape 2) Double cliquez sur le fichier pour dรฉmarrer l'installation
Une fois le tรฉlรฉchargement terminรฉ, ouvrez le fichier

ร‰tape 3) Cliquez sur le bouton Suivant
Dans la fenรชtre qui apparaรฎt, cliquez sur le bouton Suivant :

Installation de MariaDB

ร‰tape 4) Acceptez le contrat de licence
Cliquez ensuite sur le bouton Suivant :

Installation de MariaDB

ร‰tape 5) Choisissez MariaDB Server
Choisissez les fonctionnalitรฉs qui doivent รชtre installรฉes et cliquez sur Suivant

Installation de MariaDB

ร‰tape 6) Entrer le mot de passe
Dans la fenรชtre suivante, vous devrez modifier le mot de passe de l'utilisateur root.

  1. Saisissez le mot de passe et confirmez-le en retapant le mรชme mot de passe. Si vous souhaitez autoriser l'accรจs ร  partir de machines distantes, cochez la case nรฉcessaire.
  2. Une fois terminรฉ, cliquez sur le bouton Suivant.

Installation de MariaDB

ร‰tape 7) Entrez le nom et choisissez le numรฉro de port
Dans la fenรชtre suivante, saisissez un nom pour l'instance, choisissez le numรฉro de port et dรฉfinissez la taille nรฉcessaire. Cliquez sur le bouton Suivant :

Installation de MariaDB

ร‰tape 8) Cliquez Sur Suivant
Dans la fenรชtre suivante, cliquez simplement sur le bouton Suivant.

ร‰tape 9) Cliquez sur Installer
Lancez l'installation en cliquant sur le bouton Installer.

Installation de MariaDB

ร‰tape 10) Une barre de progression affichรฉe
Une barre de progression montrant la progression de l'installation s'affichera :

Installation de MariaDB

ร‰tape 11) Cliquez sur le bouton Terminer
Une fois l'installation terminรฉe, vous verrez le bouton Terminer. Cliquez sur le bouton pour fermer la fenรชtre :

Installation de MariaDB

ร‰tape 12) Fรฉlicitations!
Vous avez maintenant MariaDB installรฉ sur votre ordinateur.

Travailler avec l'invite de commande

Maintenant que vous avez MariaDB installรฉ sur votre ordinateur, il est temps pour vous de le lancer et de commencer ร  l'utiliser. Cela peut รชtre fait via le MariaDB invite de commande

Suivez les รฉtapes ci-dessous:

ร‰tape 1) Cliquez sur Dรฉmarrer, choisissez Tous les programmes puis cliquez sur MariaDB...

ร‰tape 2) Choisissez un MariaDB Invite de commandes.

MariaDB Invite de commandes

ร‰tape 3) Le MariaDB L'invite de commande sera lancรฉe. Il est maintenant temps de vous connecter. Vous devez vous connecter en tant qu'utilisateur root et avec le mot de passe que vous avez dรฉfini lors de l'installation de MariaDBTapez la commande suivante sur l'invite de commande :

MySQL -u root -p

ร‰tape 4) Entrez le mot de passe et appuyez sur la touche retour. Vous devez รชtre connectรฉ, comme indiquรฉ ci-dessous :

MariaDB Invite de commandes

Vous รชtes maintenant connectรฉ MariaDB.

Types de donnรฉes

MariaDB prend en charge les types de donnรฉes suivants :

  • Types de donnรฉes de chaรฎne
  • Types de donnรฉes numรฉriques
  • Types de donnรฉes date/heure
  • Types de donnรฉes d'objets volumineux

Types de donnรฉes de chaรฎne

Ceux-ci incluent les suivants:

Type de donnรฉes Chaรฎne Description
caractรจre (taille) La taille indique le nombre de caractรจres ร  stocker. Il stocke un maximum de 255 caractรจres. Cordes de longueur fixe.
varchar(taille) La taille indique le nombre de caractรจres ร  stocker. Il stocke un maximum de 255 caractรจres. Chaรฎnes de longueur variable.
taille du texte) La taille indique le nombre de caractรจres ร  stocker. Il stocke un maximum de 255 caractรจres. Cordes de longueur fixe.
binaire (taille) La taille indique le nombre de caractรจres ร  stocker. Il stocke un maximum de 255 caractรจres. Chaรฎnes de taille fixe.

Types de donnรฉes numรฉriques

Ils comprennent les รฉlรฉments suivants:

Types de donnรฉes numรฉriques Description
Bits Une trรจs petite valeur entiรจre รฉquivalente ร  tinyint(1). Les valeurs signรฉes sont comprises entre -128 et 127. Les valeurs non signรฉes sont comprises entre 0 et 255.
entier(m) Une valeur entiรจre standard. Les valeurs signรฉes sont comprises entre -2147483648 et 2147483647. Les valeurs non signรฉes sont comprises entre 0 et 4294967295.
flotter (m, d) Un nombre ร  virgule flottante avec une simple prรฉcision.
double(m,d) Un nombre ร  virgule flottante avec double prรฉcision.
flotter (p) Un nombre ร  virgule flottante.

Types de donnรฉes date/heure

Ceux-ci incluent les suivants:

Type de donnรฉes date/heure Description
Date Affichรฉ sous la forme ยซ aaaa-mm-jj ยป. Les valeurs varient entre ยซ 1000-01-01 ยป et ยซ 9999-12-31 ยป.
Datetime Affichรฉ sous la forme ยซ aaaa-mm-jj hh:mm:ss ยป. Les valeurs varient entre ยซ 1000-01-01 00:00:00 ยป et ยซ 9999-12-31 23:59:59 ยป.
horodatage (m) Affichรฉ sous la forme ยซ aaaa-mm-jj hh:mm:ss ยป. Les valeurs varient entre ยซ 1970-01-01 00:00:01 ยป utc et ยซ 2038-01-19 03:14:07 ยป utc.
Heure Affichรฉ sous la forme 'hh:mm:ss'. Les valeurs varient entre ยซ -838:59:59 ยป et ยซ 838:59:59 ยป.

Types de donnรฉes d'objets volumineux (LOB)

Ils comprennent les รฉlรฉments suivants:

Type de donnรฉes d'objet volumineux Description
petite goutte Sa taille maximale est de 255 octets.
goutte (taille) Prend 65,535  octets comme taille maximale.
goutte moyenne Sa taille maximale est de 16,777,215 octets.
longtext Il faut 4 Go comme taille maximale.

Crรฉer une base de donnรฉes et des tables

Pour crรฉer une nouvelle base de donnรฉes dans MariaDB, vous devez disposer de privilรจges spรฉciaux qui ne sont accordรฉs qu'ร  l'utilisateur root et aux administrateurs.

Pour crรฉer une nouvelle base de donnรฉes, vous devez utiliser la commande CREATE DATABASE qui prend la syntaxe suivante :

CREATE DATABASE DatabaseName;

Dans ce cas, vous devez crรฉer une base de donnรฉes et lui donner le nom Demo.

Commencer le MariaDB invite de commande et connectez-vous en tant qu'utilisateur root en tapant la commande suivante :

mysql -u root -p

Tapez le mot de passe root et appuyez sur la touche retour. Vous serez connectรฉ.

Maintenant, exรฉcutez la commande suivante :

CREATE DATABASE Demo;

Crรฉer une base de donnรฉes et des tables dans MariaDB

Vous avez ensuite crรฉรฉ une base de donnรฉes nommรฉe Demo. Ce sera bien pour vous de confirmer si la base de donnรฉes a รฉtรฉ crรฉรฉe avec succรจs ou non. Il vous suffit d'afficher la liste des bases de donnรฉes disponibles en exรฉcutant la commande suivante :

SHOW DATABASES;

Crรฉer une base de donnรฉes et des tables dans MariaDB

Le rรฉsultat ci-dessus montre que la base de donnรฉes Demo fait partie de la liste et que la base de donnรฉes a donc รฉtรฉ crรฉรฉe avec succรจs.

MariaDB Sรฉlectionnez la base de donnรฉes

Pour que vous puissiez utiliser ou travailler sur une base de donnรฉes particuliรจre, vous devez la sรฉlectionner dans la liste des bases de donnรฉes disponibles. Aprรจs avoir sรฉlectionnรฉ une base de donnรฉes, vous pouvez effectuer des tรขches telles que crรฉer des tables dans la base de donnรฉes.

Pour sรฉlectionner une base de donnรฉes, vous devez utiliser la commande USE. Il prend la syntaxe donnรฉe ci-dessous :

USE database_name;

Vous devez utiliser la base de donnรฉes Demo. Vous pouvez le sรฉlectionner en exรฉcutant la commande suivante :

USE Demo;

Crรฉer une base de donnรฉes et des tables dans MariaDB

L'image ci-dessus montre que le MariaDB L'invite de commande est passรฉe d'aucun au nom de la base de donnรฉes qui a รฉtรฉ sรฉlectionnรฉe.

Vous pouvez maintenant continuer et crรฉer des tables dans la base de donnรฉes de dรฉmonstration.

MariaDB โ€“ Crรฉer un tableau

Pour pouvoir crรฉer une table, vous devez avoir sรฉlectionnรฉ une base de donnรฉes. La table peut รชtre crรฉรฉe ร  l'aide de l'instruction CREATE TABLE. Voici la syntaxe de la commande :

CREATE TABLE tableName (columnName columnType);

Vous pouvez dรฉfinir l'une des colonnes comme clรฉ primaire. Cette colonne ne doit pas autoriser les valeurs nulles.

Nous allons crรฉer deux tables dans la base de donnรฉes Demo, les tables Book et Price. Chaque tableau aura deux colonnes.

Commenรงons par crรฉer la table Book avec deux colonnes, id et name. Exรฉcutez la commande suivante :

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

Crรฉer une base de donnรฉes et des tables dans MariaDB

La contrainte PRIMARY KEY a รฉtรฉ utilisรฉe pour dรฉfinir la colonne id comme clรฉ primaire de la table. La propriรฉtรฉ AUTO_INCREMENT incrรฉmentera automatiquement les valeurs de la colonne id de 1 pour chaque nouvel enregistrement insรฉrรฉ dans la table. Toutes les colonnes n'autoriseront pas les valeurs nulles.

Maintenant, crรฉez la deuxiรจme table, la table Prix :

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

Crรฉer une base de donnรฉes et des tables dans MariaDB

La colonne id a รฉtรฉ dรฉfinie comme clรฉ primaire de la table.

Affichage des tableaux

Maintenant que vous avez crรฉรฉ les deux tables, il sera bon pour vous de vรฉrifier si les tables ont รฉtรฉ crรฉรฉes avec succรจs ou non. Vous pouvez afficher la liste des tables contenues dans une base de donnรฉes en exรฉcutant la commande suivante :

SHOW TABLES;

Crรฉer une base de donnรฉes et des tables dans MariaDB

La capture d'รฉcran ci-dessus montre que les deux tables ont รฉtรฉ crรฉรฉes avec succรจs dans la base de donnรฉes Demo.

Affichage de la structure du tableau

Pour voir la structure d'une table particuliรจre, vous pouvez utiliser la commande DESCRIBE, communรฉment abrรฉgรฉe en DESC. Il faut la syntaxe suivante :

DESC TableName;

Par exemple, pour voir la structure de la table nommรฉe Book, vous pouvez exรฉcuter la commande suivante :

DESC Book;

Crรฉer une base de donnรฉes et des tables dans MariaDB

Le tableau comporte deux colonnes. Pour voir la structure de la table Price, vous pouvez exรฉcuter la commande suivante :

DESC Price;

Crรฉer une base de donnรฉes et des tables dans MariaDB

CRUD et clauses

INSERT

Pour insรฉrer des donnรฉes dans un MariaDB table, vous devez utiliser l'instruction INSERT INTO. Cette commande prend la syntaxe donnรฉe ci-dessous :

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

La syntaxe ci-dessus montre que vous devez spรฉcifier les colonnes du tableau dans lesquelles vous souhaitez insรฉrer des donnรฉes ainsi que les donnรฉes que vous devez insรฉrer.

Insรฉrons un enregistrement dans la table Book :

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

CRUD et clauses-INSร‰RER

Vous avez insรฉrรฉ un seul enregistrement dans la table. Insรฉrez un enregistrement dans la table Prix :

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

CRUD et clauses-INSร‰RER

L'enregistrement a รฉtรฉ crรฉรฉ.

SELECT

L'instruction SELECT nous aide ร  afficher ou ร  voir le contenu d'une table de base de donnรฉes. Pour voir le contenu de la table Book, par exemple, vous devez exรฉcuter la commande suivante :

SELECT * from book;

CRUD et clauses-INSร‰RER

Maintenant, affichez le contenu du tableau des prix :

SELECT * from price;

CRUD et clauses-INSร‰RER

Insertion de plusieurs enregistrements

Il nous est possible d'insรฉrer plusieurs enregistrements dans un MariaDB table ร  la fois. Pour illustrer cela, exรฉcutez l'exemple suivant :

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

Insertion de plusieurs enregistrements

Vous pouvez interroger la table pour vรฉrifier si les enregistrements ont รฉtรฉ insรฉrรฉs avec succรจs :

SELECT * FROM book;

Insertion de plusieurs enregistrements

Les enregistrements ont รฉtรฉ insรฉrรฉs avec succรจs. Insรฉrez plusieurs enregistrements dans la table Price en exรฉcutant cet exemple :

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

Insertion de plusieurs enregistrements

Vรฉrifions si les enregistrements ont รฉtรฉ crรฉรฉs avec succรจs :

SELECT * FROM price;

Insertion de plusieurs enregistrements

MISE A JOUR

La commande UPDATE nous aide ร  changer ou modifier les enregistrements dรฉjร  insรฉrรฉs dans une table. Vous pouvez le combiner avec la clause WHERE pour spรฉcifier l'enregistrement ร  mettre ร  jour. Voici la syntaxe :

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

La commande UPDATE peut รฉgalement รชtre combinรฉe avec des clauses telles que SET, WHERE, LIMIT et ORDER BY. Vous verrez ceci sous peu :

Considรฉrons la table nommรฉe Price avec les enregistrements suivants :

CRUD et clauses-MISE ร€ JOUR

Changeons le prix du livre d'identifiant 1 de 200 ร  250 :

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD et clauses-MISE ร€ JOUR

La commande s'est exรฉcutรฉe avec succรจs. Vous pouvez maintenant interroger la table pour voir si la modification a eu lieu :

CRUD et clauses-MISE ร€ JOUR

La capture d'รฉcran ci-dessus montre que le changement a รฉtรฉ mis en ล“uvre. Considรฉrons le tableau Book avec les enregistrements suivants :

CRUD et clauses-MISE ร€ JOUR

Changeons le nom du livre nommรฉ Book en MariaDB Livre1. Notez que le livre a un identifiant de 1. Voici la commande pour cela :

UPDATE book
SET name = โ€œMariaDB Book1โ€
WHERE id = 1;

CRUD et clauses-MISE ร€ JOUR

Vรฉrifiez si le changement a รฉtรฉ mis en ล“uvre :

CRUD et clauses-MISE ร€ JOUR

La capture d'รฉcran ci-dessus montre que le changement a รฉtรฉ mis en ล“uvre avec succรจs.

Dans les exemples ci-dessus, nous n'avons modifiรฉ qu'une seule colonne ร  la fois. Cependant, il nous est possible de modifier plusieurs colonnes ร  la fois. Montrons cela ร  l'aide d'un exemple.

Utilisons la table Prix avec les donnรฉes suivantes :

CRUD et clauses-MISE ร€ JOUR

Modifions ร  la fois l'identifiant et le prix du livre avec un identifiant de 5. Nous allons changer son identifiant en 6 et son prix en 6. Exรฉcutez la commande suivante :

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

  CRUD et clauses-MISE ร€ JOUR

Maintenant, interrogez la table pour vรฉrifier si la modification a รฉtรฉ effectuรฉe avec succรจs :

CRUD et clauses-MISE ร€ JOUR

Le changement a รฉtรฉ effectuรฉ avec succรจs.

Supprimer

Nous utilisons la commande DELETE lorsque nous devons supprimer un ou plusieurs enregistrements d'une table. Voici la syntaxe de la commande :

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

Considรฉrez la table Prix avec les enregistrements suivants :

CRUD et clauses-DELETE

Nous devons supprimer le dernier enregistrement de la table. Il a un identifiant de 6 et un prix de 280. Supprimons l'enregistrement :

DELETE FROM price
WHERE id = 6;   

CRUD et clauses-DELETE

La commande s'est exรฉcutรฉe avec succรจs. Interrogons la table pour confirmer si la suppression a rรฉussi :

CRUD et clauses-DELETE

Le rรฉsultat montre que l'enregistrement a รฉtรฉ supprimรฉ avec succรจs.

Oรน

La clause WHERE nous aide ร  spรฉcifier l'emplacement exact oรน nous devons apporter une modification. Il est utilisรฉ avec des instructions telles que INSERT, SELECT, UPDATE et DELETE. Considรฉrez le tableau des prix avec les donnรฉes suivantes :

CRUD et clauses-oรน

Supposons que nous ayons besoin de voir les enregistrements dans lesquels le prix est infรฉrieur ร  250. Nous pouvons exรฉcuter la commande suivante :

SELECT *   
FROM price 
WHERE price < 250;  

CRUD et clauses-oรน

Tous les disques dont le prix est infรฉrieur ร  250 ont รฉtรฉ restituรฉs.

La clause WHERE peut รชtre combinรฉe avec l'instruction AND. Supposons que nous ayons besoin de voir tous les enregistrements de la table Price oรน le prix est infรฉrieur ร  250 et l'identifiant est supรฉrieur ร  3. Nous pouvons exรฉcuter la commande suivante :

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

CRUD et clauses-oรน

Un seul enregistrement a รฉtรฉ renvoyรฉ. La raison en est qu'il doit remplir toutes les conditions spรฉcifiรฉes, c'est-ร -dire un identifiant supรฉrieur ร  3 et un prix infรฉrieur ร  250. Si l'une de ces conditions n'est pas respectรฉe, le disque ne sera pas restituรฉ.

La clause peut รฉgalement รชtre combinรฉe avec la commande OR. Remplaรงons le AND dans notre commande prรฉcรฉdente par OR et voyons le type de sortie que nous recevons :

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

CRUD et clauses-oรน

Nous obtenons dรฉsormais 2 records au lieu de 1. En effet, pour qu'un record de qualification soit atteint, il suffit qu'il remplisse une des conditions spรฉcifiรฉes.

J'aime

Cette clause est utilisรฉe pour spรฉcifier le modรจle de donnรฉes lors de l'accรจs aux donnรฉes de table dans lesquelles une correspondance exacte est nรฉcessaire. Il peut รชtre combinรฉ avec les instructions INSERT, UPDATE, SELECT et DELETE.

Vous devez transmettre le modรจle de donnรฉes que vous recherchez ร  la clause, et il renverra vrai ou faux. Voici les caractรจres gรฉnรฉriques qui peuvent รชtre utilisรฉs avec la clause :

  • % : pour faire correspondre 0 ou plusieurs caractรจres.
  • _ : pour faire correspondre un seul caractรจre.

Voici la syntaxe de la clause LIKE :

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

Montrons comment utiliser la clause avec le caractรจre gรฉnรฉrique %. Utilisons la table Book avec les enregistrements suivants :

CRUD et clauses-oรน

Nous devons voir tous les enregistrements dont le nom commence par M. Nous pouvons exรฉcuter la commande suivante :

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

 CRUD et clauses-oรน

Tous les enregistrements ont รฉtรฉ renvoyรฉs car leurs noms commencent par la lettre M. Pour voir tous les noms se terminant par 4, vous pouvez exรฉcuter la commande suivante :

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

CRUD et clauses-oรน

Un seul nom a รฉtรฉ renvoyรฉ car c'est le seul ร  remplir la condition.

Nous pouvons รฉgalement entourer le modรจle de recherche du caractรจre gรฉnรฉrique :

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

CRUD et clauses-oรน

Outre le caractรจre gรฉnรฉrique %, la clause LIKE peut รชtre utilisรฉe avec le caractรจre gรฉnรฉrique _. Il s'agit du caractรจre gรฉnรฉrique de soulignement et il ne recherchera qu'un seul caractรจre.

Travaillons avec la table Price avec les enregistrements suivants :

CRUD et clauses-oรน

Vรฉrifions l'enregistrement dans lequel le prix est comme 1_0. Nous exรฉcutons la commande suivante :

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

CRUD et clauses-oรน

Il a renvoyรฉ le record dans lequel le prix est de 190. On peut รฉgalement essayer un autre modรจle :

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD et clauses-oรน

Il nous est possible d'utiliser la clause LIKE avec l'opรฉrateur NOT. Cela renverra tous les enregistrements qui ne correspondent pas au modรจle spรฉcifiรฉ. Par exemple:

Utilisons la table Price avec les enregistrements suivants :

CRUD et clauses-oรน

Retrouvons tous les enregistrements oรน le prix ne commence pas par 2 :

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

CRUD et clauses-oรน

Un seul enregistrement ne correspond pas au modรจle spรฉcifiรฉ.

Trier par

Cette clause nous aide ร  trier nos enregistrements par ordre croissant ou dรฉcroissant. Nous l'utilisons avec l'instruction SELECT, comme indiquรฉ ci-dessous :

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

Il nous est possible d'utiliser cette clause sans ajouter ni la partie ASC ni DESC. Par exemple:

Nous utiliserons la table Price avec les enregistrements suivants :

CRUD et clauses-oรน

Exรฉcutez la commande suivante sur la table :

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

CRUD et clauses-oรน

Dans la commande ci-dessus, nous avons commandรฉ par prix. Les disques ont รฉtรฉ classรฉs avec les prix par ordre croissant. Cela signifie que lorsque l'on ne prรฉcise pas l'ordre, le tri se fait par dรฉfaut par ordre croissant.

Exรฉcutons la clause avec l'option DESC :

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

 CRUD et clauses-oรน

Les enregistrements ont รฉtรฉ triรฉs par prix par ordre dรฉcroissant comme nous l'avons prรฉcisรฉ.

Utilisons la clause ORDER BY avec l'attribut ASC :

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

 CRUD et clauses-oรน

Les disques ont รฉtรฉ classรฉs mais avec les prix par ordre croissant. Ceci est similaire ร  l'utilisation de la clause ORDER BY sans les attributs ASC ou DESC.

DISTINCT

Cette clause nous aide ร  supprimer les doublons lors de la sรฉlection d'enregistrements dans une table. Cela signifie que cela nous aide ร  obtenir des enregistrements uniques. Sa syntaxe est donnรฉe ci-dessous :

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

Pour dรฉmontrer cela, nous utiliserons le tableau Prix avec les donnรฉes suivantes :

CRUD et clauses-DISTINCT

Lorsque nous sรฉlectionnons la colonne prix dans le tableau, nous obtenons le rรฉsultat suivant :

SELECT price FROM Price;

CRUD et clauses-DISTINCT

Nous avons deux disques avec un prix de 250, crรฉant un doublon. Nous n'avons besoin que d'enregistrements uniques. Nous pouvons les filtrer en utilisant la clause DISTINCT comme indiquรฉ ci-dessous :

SELECT DISTINCT price FROM Price;

CRUD et clauses-DISTINCT

Nous n'avons dรฉsormais aucun doublon dans la sortie ci-dessus.

Dรจs

La clause FROM utilisรฉe pour rรฉcupรฉrer des donnรฉes ร  partir d'une table de base de donnรฉes. Cela peut รฉgalement รชtre utile lors de la rรฉunion de tables. Voici la syntaxe de la commande :

SELECT columnNames FROM tableName; 

Pour voir le contenu de la table book, exรฉcutez la commande suivante :

SELECT * FROM price;

CRUD et clauses de

La clause peut vous aider ร  rรฉcupรฉrer une seule colonne d'une table de base de donnรฉes. Par exemple:

SELECT price FROM Price;

CRUD et clauses de

Tรขches avancรฉes

Procรฉdure stockรฉe

Une procรฉdure est un MariaDB programme auquel vous pouvez transmettre des paramรจtres. Une procรฉdure ne renvoie pas de valeurs. Pour crรฉer une procรฉdure, nous utilisons la commande CREATE PROCEDURE.

Pour montrer comment crรฉer et appeler une procรฉdure, nous allons crรฉer une procรฉdure nommรฉe myProcedure() qui nous aide ร  sรฉlectionner la colonne de nom dans la table book. Voici la procรฉdure :

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

Procรฉdure stockรฉe de tรขches avancรฉes

La procรฉdure a รฉtรฉ crรฉรฉe. Nous avons simplement placรฉ l'instruction SELECT dans les clauses BEGIN et END de la procรฉdure.

Maintenant, nous pouvons appeler la procรฉdure par son nom comme indiquรฉ ci-dessous :

CALL myProcedure();

Procรฉdure stockรฉe de tรขches avancรฉes

La procรฉdure renvoie la colonne de nom de la table book lorsqu'elle est appelรฉe.

Nous pouvons crรฉer une procรฉdure qui prend en compte un paramรจtre. Par exemple, nous devons sรฉlectionner le nom du livre et filtrer en utilisant l'identifiant du livre. Nous pouvons crรฉer la procรฉdure suivante pour cela :

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

Procรฉdure stockรฉe de tรขches avancรฉes

Ci-dessus, nous avons crรฉรฉ une procรฉdure nommรฉe myProcedure2(). Cette procรฉdure prend un paramรจtre entier nommรฉ book_id qui est l'identifiant du livre dont nous devons voir le nom. Pour voir le nom du livre avec un identifiant de 3, on peut appeler la procรฉdure comme suit :

CALL myProcedure2(3);

Procรฉdure stockรฉe de tรขches avancรฉes

Fonction

Contrairement aux procรฉdures, nous devons transmettre des paramรจtres aux fonctions et une fonction doit renvoyer une valeur. Pour crรฉer une fonction dans MariaDB, nous utilisons l'instruction CREATE FUNCTION. L'instruction adopte la syntaxe suivante :

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;

Les paramรจtres ci-dessus sont dรฉcrits ci-dessous :

Paramรจtres Description
Clause DEFINEUR Ce paramรจtre est facultatif. Si vous ne le spรฉcifiez pas, le dรฉfinisseur deviendra l'utilisateur qui a crรฉรฉ la fonction. S'il est nรฉcessaire de spรฉcifier un dรฉfinisseur diffรฉrent, incluez la clause DEFINER dans laquelle le nom d'utilisateur sera le dรฉfinisseur de la fonction.
nom_fonction Le nom qui doit รชtre attribuรฉ ร  cette fonction dans le MariaDB.
paramรจtre Le(s) paramรจtre(s) passรฉ(s) ร  la fonction. Lors de la crรฉation de la fonction, tous les paramรจtres sont traitรฉs comme Dans les paramรจtres (plutรดt que les paramรจtres OUT/INOUT).
return_datatype Le type de donnรฉes de la valeur de retour de la fonction.
LANGAGE SQL Cela affecte la portabilitรฉ mais pas la fonction.
Dร‰TERMINISTE La fonction ne renverra quโ€™un seul rรฉsultat lorsquโ€™elle recevra un certain nombre de paramรจtres.
PAS Dร‰TERMINISTE Il est possible que la fonction renvoie un rรฉsultat diffรฉrent lorsqu'elle reรงoit un certain nombre de paramรจtres.
CONTIENT SQL Informe MariaDB que cette fonction contient du SQL. La base de donnรฉes ne vรฉrifiera pas si cela est vrai.
PAS DE SQL Cette clause n'est pas utilisรฉe et elle n'a aucun impact sur votre fonction.
LIT LES DONNร‰ES SQL Dit MariaDB que cette fonction utilisera les instructions SELECT pour lire les donnรฉes, mais elle ne modifiera pas les donnรฉes.
MODIFIE LES DONNร‰ES SQL Dit MariaDB que cette fonction utilisera INSERT, DELETE, UPDATE et autres DDL instructions pour modifier les donnรฉes SQL.
section dรฉclaration C'est ici que les variables locales doivent รชtre dรฉclarรฉes.
section exรฉcutable Le code de fonction doit รชtre ajoutรฉ ici.

Voici un exemple MariaDB fonction:

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 ;

Fonction dans MariaDB

On peut alors appeler la fonction ci-dessus comme suit :

select sumFunc(1000);

La commande renverra ce qui suit :

Fonction dans MariaDB

Une fois que vous avez terminรฉ avec une fonction, ce sera bien pour vous de la supprimer. C'est simple car il suffit d'appeler l'instruction DROP FUNCTION qui prend la syntaxe suivante :

DROP FUNCTION function_name;

Par exemple, pour supprimer la fonction nommรฉe myFunc, nous pouvons exรฉcuter la commande suivante :

DROP FUNCTION myFunc;

INSCRIPTION

Lorsque vous devez rรฉcupรฉrer des donnรฉes de plusieurs tables ร  la fois, utilisez MariaDB REJOINT. Cela signifie qu'un INSCRIPTION fonctionne sur deux ou plusieurs tables. Les trois types de jointures suivants sont pris en charge dans MariaDB:

  • JOINTION INTERNE/SIMPLE
  • JOINTURE EXTERNE GAUCHE/JOINTURE GAUCHE
  • JOINTURE EXTERNE ร€ DROITE/JOINTURE ร€ DROITE

Discutons-en un par un :

JOINTURE INTERNE

La jointure interne renvoie toutes les lignes des tables dans lesquelles la condition de jointure est vraie. Sa syntaxe est la suivante :

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

Par exemple :

Nous utiliserons nos deux tables, nos livres et notre livre.

La table du livre contient les donnรฉes suivantes :

JOINTURE INTERNE

Le tableau Prix contient les donnรฉes suivantes :

JOINTURE INTERNE

L'objectif est de joindre la colonne nom de la table Livre et la colonne prix de la table Prix en une seule table. Ceci est possible avec une jointure interne, comme dรฉmontrรฉ ci-dessous :

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

La commande renvoie ce qui suit :

JOINTURE INTERNE

JOINT EXTERIEUR GAUCHE

Cette jointure renvoie toutes les lignes de la table de gauche et uniquement les lignes dans lesquelles la condition de jointure est vraie de l'autre table. Sa syntaxe est la suivante :

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

Le mot clรฉ OUTER a รฉtรฉ placรฉ entre crochets car il est facultatif.

Par exemple :

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

La commande renvoie ce qui suit :

JOINT EXTERIEUR GAUCHE

Le dernier enregistrement du tableau ci-dessus n'a aucune valeur correspondante sur la gauche. C'est pourquoi il a รฉtรฉ remplacรฉ par NULL.

JOINT EXTร‰RIEUR DROIT

Cette jointure renvoie toutes les lignes de la table de droite et uniquement les lignes dans lesquelles la condition de jointure est vraie de l'autre table. Sa syntaxe est la suivante :

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

Le mot clรฉ OUTER a รฉtรฉ placรฉ entre crochets car il est facultatif.

Par exemple :

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

La commande renvoie ce qui suit :

JOINT EXTร‰RIEUR DROIT

La raison en est que toutes les lignes du tableau de droite correspondent ร  celles de lโ€™autre tableau. Si certaines lignes ne correspondaient pas, nous aurions des NULL dans la premiรจre colonne.

Rรฉsumez cet article avec :