fermer
DéveloppementWeb

MySQL pour les débutants : Installation, Transactions, Base de données…

Vous n’avez jamais utilisé MySQL auparavant ? Commencez ici ! Cet article va vous guider à travers les principes mêmes des bases de données MySQL et SQL. Apprenez à installer MySQL, comment effectuer des transactions, et comment créer et utiliser des bases de données.

Introduction

Une base de données est une partie essentielle de la plupart des sites et des blogs, mais la mise en œuvre et l’utilisation d’une base de données peut être une tâche ardue pour un développeur Web débutant.

Dans ce tutoriel, vous allez apprendre comment installer, configurer et utiliser une base de données MySQL sur votre ordinateur. Cela vous donnera une bonne base sur le langage MySQL qui vous sera utile lorsque vous commencerez à développer vos propres bases de données sur des sites Web dynamiques en utilisant PHP, Ruby, ou le langage de votre choix.

Prêt à commencer à explorer MySQL ? Allons-y !

Qu’est-ce qu’une base de données ?

Une base de données est une collection structurée de données. Voici quelques exemples typiques de bases de données :

  • Une base de données d’une boutique en ligne qui stocke les produits, les coordonnées du client et les commandes
  • Une base de données pour un forum sur Internet qui stocke les membres, les forums, les sujets et les messages
  • Une base de données pour un système de blog, comme WordPress, qui stocke les utilisateurs, les articles, les catégories, les tags et les commentaires

Le système qui gère des bases de données est connu comme un Système de Gestion de Base de Données, ou SGBD. MySQL est un exemple d’un SGBD. Pouvant généralement prêter à confusion, les SGBD sont souvent et maladroitement appelés “bases de données” aussi. Cependant, strictement parlant la base de données est la donnée elle-même, tandis que le SGBD est le logiciel qui fonctionne avec la base de données.

Il existe une multitude de manière différente d’organiser les données dans une base de données, connue sous le nom de modèle de bases de données. Un des plus populaire est le modèle relationnel, que MySQL, en autre, utilise. En conséquence, MySQL est connu comme un Système de Gestion de Bases de Données Relationnelles, ou SGBDR.

Le schéma ci-dessous montre comment une base de données, le SGBD, et le code de votre site interagissent les uns avec les autres.

MySQL pour débutants - Schéma d’interactions entre le SGBD, la BDD et le site

Pourquoi utiliser une base de données ?

Si vous n’avez pas utilisé une base de données pour votre site, il est possible que vous ayez des données stockées dans des fichiers texte tels que CSV (Comma Separated Value, en anglais). Voici un exemple de fichier :

identifiant, mot de passe, mail, prenom, nom
"johndoe", "1234", "[email protected]", "John", "Doe"
"henrymichel", "5678", "[email protected]", "Henry", "Michel"
Bien que cette technique soit très bien pour des structures de données simples et pour de petites quantités de données, vous allez très vite rencontrer des problèmes dès que votre site prend de l’ampleur. En effet, lorsque vous allez effectuer des recherches et/ou des mises à jour sur un fichier texte très volumineux, les performances risquent d’être impactées. Et bien pire, votre fichier est sujet à la corruption. Qui plus est, les choses commencent à être compliquées lorsque vous souhaitez lier des enregistrements ensembles, comme lier un enregistrement client aux transactions que ce dernier a fait, et puis lier chaque enregistrement aux produits.

Les bases de données relationnelles sont conçues pour éviter tous ces problèmes. Voici quelques raisons d’utiliser une base de données plutôt que des fichiers texte :

  • Elles sont rapides : Les bases de données utilisent des index, des clés (keys), afin de trouver des enregistrements extrêmement rapidement. Par exemple, après avoir ajouté une clé pour le champ mail, vous pouvez récupérer un enregistrement sur un membre basé sur son adresse mail quasiment instantanément, peu importe combien de millions de membres vous pouvez avoir dans votre base de données
  • Elles sont fiables : Un SGBD garantit que les données dans la base soient lues et écrites de manière fiable, sans corrompre celles-ci. Beaucoup de SGBD vous permettent d’utiliser des techniques comme le verrouillage et des transactions pour s’assurer que les enregistrements soient insérés et mis à jour correctement
  • Elles vous permettent de relier les enregistrements ensemble : Les bases de données relationnelles vous permettent de stocker différents types de données dans des groupes connus comme des tables (table). Vous pouvez ensuite lier ensemble les données à travers les tables. Par exemple, vous pouvez créer un client dans une table et une commande dans une autre, puis relier un enregistrement client à tous les enregistrements de commande associés au client. La possibilité de relier les enregistrements à travers les tables vous permet notamment de créer des bases de données complexes avec de nombreux et différents types de données liés.

Pourquoi utiliser MySQL ?

Vous savez maintenant pourquoi les bases de données sont utiles, et comment elles peuvent vous aider à construire des sites Web et applications Web complexes. Mais pourquoi utiliser MySQL en particulier ?

Il existe de nombreux et connus SGBD : MySQL, PostgreSQL, SQLite, Oracle et SQL Server, et chacun d’eux peuvent être utilisés pour vous aider dans le développement Web.

Cela dit, MySQL dispose de quelques avantages pour les développeurs Web par rapport à certains autres systèmes :

  • Il est open source, ce qui signifie qu’il est gratuit et que tout le monde peut l’utiliser et le modifier
  • Il est largement déployé : MySQL peut être installé sur de multiples et différentes plateformes, et il est habituellement un standard sur la plupart des configurations d’hébergement Web
  • Il est facile à utiliser : Mettre en place et travailler avec des bases de données MySQL est relativement simple
  • Il fonctionne bien avec PHP : Depuis la version 5.3, PHP dispose d’un driver MySQL, qui est étroitement lié avec le moteur PHP, ce qui en fait un bon choix pour les codeurs PHP

Note : Chaque SGBD a ses propres forces et faiblesses. Par exemple, PostgreSQL est également open source, très stable et a une grande communauté derrière lui. SQLite est extrêmement rapide et autonome (et est également gratuit), tandis que Oracle et SQL Server ont beaucoup de fonctionnalités de niveau entreprise qui en font un bon choix pour les grandes organisations

Installez MySQL

Comme je l’ai mentionné plus haut, la plupart des hébergements Web en ligne sont livrés avec MySQL de pré-installé. Toutefois, si vous développez des sites Web en utilisant MySQL, vous voulez certainement qu’un serveur MySQL tourne sur votre propre ordinateur afin que vous puissiez créer et tester vos bases de données et le code sans avoir à télécharger constamment les fichiers vers votre serveur en ligne.

Il y a deux composantes principales de MySQL :

  • Le serveur mysql (mysqld) : Ce dernier est le SGBD MySQL effectuant tout le travail sur la gestion de vos bases de données. Il fonctionne tout le temps en arrière-plan, acceptant les connexions à partir des programmes clients, les scripts Web, …
  • Divers clients et commandes utilitaires : Il s’agit notamment de la ligne de commande mysql que vous allez l’utiliser plus tard dans le tutoriel afin d’exécuter des commandes sur le serveur. Vous trouverez également des commandes comme mysqladmin servant à administrer des bases de données MySQL, et mysqldump pour exporter et de sauvegarder des bases de données

Note : En outre, beaucoup d’installeurs MySQL incluent la documentation, des fichiers d’en-tête pour les développeurs, et une suite de tests MySQL

Il y a plusieurs façons d’installer un serveur MySQL et les programmes associés. Voici trois manières de les utiliser :

  • En utilisant un package d’installation officiel de MySQL. Il existe des packages pour de nombreux systèmes d’exploitation : Windows, Mac OS X et Linux. La procédure de base consiste à télécharger le fichier, l’extraire, et lancer l’installateur. Consultez la documentation pour visualiser les différentes étapes d’installation
  • En utilisant un gestionnaire de paquets Linux. Beaucoup de distributions Linux sont livrées avec un gestionnaire de paquets, qui vous permet de facilement installer MySQL, avec PHP, Apache et d’autres logiciels de développement Web. Consultez la documentation de votre distribution pour plus de détails
  • Enfin, l’installation d’un package complet : LAMP, WAMP et MAMP. C’est sans doute la façon la plus simple d’installer une configuration de développement complète basée sur MySQL sur votre ordinateur. Ces paquets contiennent tout ce qu’il faut pour commencer, que ce soit le serveur Web Apache, MySQL et PHP/Perl, d’où l’acronyme “AMP”. (Le “L”, “W” et “M” sont les initiales respectives de Linux, Windows et Mac OS X). Puisque tout est installé en une seule fois, vous aurez Apache, MySQL et PHP/Perl instantanément fonctionnels, avec peu ou aucune autre configuration requise

Si vous voulez avoir rapidement un système fiable, robuste et fonctionnel dès son installation, je vous recommande personnellement de télécharger et d’installer XAMPP. Ce package LAMP/WAMP/MAMP est disponible sur les environnements Linux, Windows, Mac OS X et Solaris. Son installation configure automatiquement Apache, MySQL, PHP et Perl sur votre ordinateur. Qui plus est, il est facile de tout désinstaller plus tard si vous le souhaitez.

Pour installer XAMPP il vous suffit d’aller sur la page d’accueil du site, et cliquez sur le lien correspondant à votre système d’exploitation (Linux, Windows, Mac OS X ou Solaris). Ensuite, suivez les étapes sur la page, afin de télécharger, installer, démarrer et tester XAMPP sur votre ordinateur.

MySQL pour les débutants - Démarrez XAMPP

Note : D’autres packages populaires semblables à XAMPP comprennent WampServer et EasyPHP pour Windows, et MAMP pour Mac OS X.

MySQL en ligne de commande

En supposant que vous avez maintenant installé et démarré votre serveur MySQL en utilisant l’une des techniques ci-dessus, comment voulez-vous interagir avec le serveur ? Lorsque vous avez installé votre serveur MySQL, vous avez également installé mysql. Il s’agit d’une simple interface “ligne de commande”, vous permettant de vous connecter au serveur et effectuer des requêtes.

Pour lancer mysql voici les deux étapes à suivre :

  • Ouvrez une fenêtre de terminal :
    • Windows 7 : Cliquez sur le logo Windows, puis sélectionnez Tous les Programmes > Accessoires > Invite de commandes
    • Mac OS X : Ouvrez une fenêtre du Finder, puis choisissez Applications > Utilitaires > Terminal
    • Ubuntu : Choisissez Applications > Accessoires > Terminal
  • Exécutez le service mysql dans la fenêtre du terminal :
    • Windows 7 : En supposant que vous avez installé XAMPP, tapez cd c:\xampp\mysql\bin et appuyez sur la touche “Entrée”, puis tapez mysql -u root et appuyez sur “Entrée”
    • Mac OS X et Ubuntu : Il suffit de taper mysql -u root et d’appuyer sur la touche “Entrée”

Note : Le paramètre -u root indique que le client mysql utilisera l’utilisateur root pour se connecter au serveur MySQL. Par défaut, l’utilisateur root de MySQL n’a pas de mot de passe. Cela ne pose pas de problème pour un développement en local, mais pensez-y pour un serveur MySQL en production.

Une fois que le client mysql est lancé, vous devriez avoir quelque-chose de semblable :

MySQL pour les débutants - Ligne de commande MySQL

La dernière ligne, mysql>, est l’invite MySQL. C’est là que vous tapez vos commandes à envoyer au serveur MySQL.

Essayons différentes commandes. Pour cela, tapez le code suivant dans le prompt mysql, puis appuyez sur “Entrée” :

select now();
Cette ligne indique à MySQL de retourner la date et l’heure courant du serveur, et l’afficher. Vous verrez quelque chose comme ceci apparaît :

MySQL pour les débutants - Commande select now()

Maintenant, essayez une autre commande :

show databases;
Cette commande répertorie toutes les bases de données MySQL sur votre ordinateur. Si vous venez juste de faire une installation, vous devriez juste avoir une base de données.

MySQL pour les débutants - Commande show databases

Maintenant que vous savez comment exécuter des commandes sur votre serveur MySQL, vous êtes prêt à créer votre propre base de données et commencer à ajouter des données. Vous pourrez faire cela dans les sections suivantes.

Note : Lorsque vous avez terminé avec le client MySQL, vous pouvez le quitter en tapant exit à l’invite de commande et appuyez sur “Entrée”

Création d’une base de données

Créons une base de données simple pour gérer une bibliothèque. Lors du prompt mysql>, tapez la commande suivante et appuyez sur “Entrée” :

create database bibliotheque;
Si tout va bien, vous verrez quelque chose comme ceci :

MySQL pour les débutants - Commande create database bibliotheque

MySQL a maintenant créé votre base de données. Vous pouvez le vérifier en tapant de nouveau la commande show databases;:

MySQL pour les débutants - Commande show databases

Félicitation, vous venez de créer votre première base de données MySQL !

Quelques bases SQL

Toutes les commandes que vous venez de taper, (select now(), show databases, et create database bibliotheque), sont des instructions SQL. SQL ou Structured Query Language, est le langage que vous allez utiliser pour communiquer avec la plupart des SGBD, notamment MySQL.

L’utilisation de SQL, va vous permettre de créer et supprimer des bases de données, des tables, d’insérer de nouvelles données dans des tables, mettre à jour ces données, les supprimer et récupérer des données.

Les déclarations qui vont vous permettre de récupérer les données d’une base de données sont aussi communément appelées requêtes, d’où le nom “Structured Query Language”.

Vous allez utiliser le langage SQL dans le reste de ce tutoriel afin de créer une table dans votre nouvelle base de données, ajouter un enregistrement, et le récupérer.

Création d’une simple table

Comme avec toutes les bases de données relationnelles, MySQL organise ses données dans des tables. Une table contient un ou plusieurs enregistrements de données, liées d’une manière similaire à un tableau associatif en JavaScript ou PHP. Une table se compose de :

  • Un ou plusieurs champs : Chaque champ contient un type spécifique. Par exemple, dans une table “livre”, vous pourriez avoir un champ pour le titre du livre, un autre champ pour l’auteur, et ainsi de suite…
  • Un ou plusieurs enregistrements : Un enregistrement est un ensemble de valeurs de champ qui stocke toutes les informations sur une entité particulière dans la table.

La meilleure façon de comprendre les champs et les enregistrements est de visualiser comment ils sont gérés dans une table. Mettons en place une table livre que l’on va gérer dans notre bibliothèque :

id titre auteur prix
1 HTML5 pour les webdesigners Jeremy Keith 12
2 Responsive Web design Ethan Marcotte 12
3 CSS avancées Raphaël Goetter 38
4 HTML5 Rodolphe Rimelé 39

La première ligne de la table contient les noms des champs : id, titre, auteur, et prix. Les trois lignes suivantes sont les trois enregistrements de nos livres dans notre table. Chaque enregistrement a ses propres valeurs : par exemple, le premier enregistrement à le champ titre qui contient “HTML5 pour les webdesigners”, tandis que le deuxième enregistrement à pour valeur “Responsive Web design”.

Depuis une table, les champs sont communément appelés “colonnes”. De même, les enregistrements d’une table sont communément appelés “lignes”.

Alors, comment faire pour créer cette table dans MySQL ? Pour ce faire, vous devez créer un schéma pour la table. Il s’agit d’un fichier texte contenant une série d’instructions SQL qui vont permettre de créer la table et définir les champs de celle-ci.

Voici le schéma :

USE bibliotheque;DROP TABLE IF EXISTS livres;
CREATE TABLE livres
(
id int unsigned NOT NULL auto_increment, # Identifiant unique
titre varchar(255) NOT NULL, # Titre du livre
auteur varchar(255) NOT NULL, # Auteur du livre
prix decimal(10,2) NOT NULL, # Prix du livrePRIMARY KEY (id)
);
Analysons ces instructions SQL :
  • USE bibliotheque : Cette instruction indique à MySQL de choisir la base de données “bibliotheque” que vous avez créé plus tôt. MySQL va alors effectuer toutes les opérations sur celle-ci
  • DROP TABLE IF EXISTS livre : Ceci supprime toute précédente table de la base de données ayant pour nom “livre”, puisque vous ne pouvez pas redéfinir une table si elle existe déjà. Note : Soyez prudent lorsque vous utilisez DROP TABLE. Lorsque vous supprimez une table comme celle-ci, toutes les données de la table sont effacées pour toujours !
  • CREATE TABLE books (...) : Cette instruction créée une nouvelle table appelée “livre”. Toutes les choses écrites entre les parenthèses, définissent les champs de la table et sa clé primaire, comme nous allons le voir par la suite
  • id int unsigned NOT NULL auto_increment : Le premier champ que nous définissons est id. Il s’agit d’un type spécial de champ qui attribue un identifiant numérique unique à chaque enregistrement dans la table “livre”. Dans la pratique cet identifiant va vous permettre d’avoir un champ unique, de tel sorte que vous puissiez identifier facilement un enregistrement particulier. Le type du champ est un int unsigned, il peut donc contenir de grands nombres entiers positifs. Nous ajoutons également l’attribut auto_increment, de telle sorte que maintenant, chaque fois que nous ajoutons un nouveau enregistrement à la table, MySQL va assigner automatiquement une nouvelle valeur unique dans le champ id (en commençant par 1)
  • titre varchar(255) NOT NULL : Ensuite, on définit le champ titre qui correspond au titre de chaque livre. Le type est un varchar(255), ce qui signifie qu’il peut contenir une chaîne de texte jusqu’à 255 caractères
  • auteur varchar(255) NOT NULL : Le champ suivant est l’auteur du livre. Comme avec le titre, je lui donne le type varchar(255)
  • prix decimal(10,2) NOT NULL : Le dernier champ est le prix du livre. Le type de ce dernier est un decimal(10,2), ce qui signifie que le champ peut contenir un nombre décimal à 10 chiffres, avec 2 chiffres à droite de la virgule
  • PRIMARY KEY (id) : Enfin, nous créons une clé primaire basée sur le champ id. Une clé primaire identifie de manière unique les enregistrements de la table. Attention, chaque table peut avoir qu’une seule clé primaire. MySQL crée aussi un index à l’aide de la clé primaire, ce qui vous permet de récupérer un enregistrement extrêmement rapidement en référençant son id, même si la table contient des millions de lignes

Maintenant que nous avons créé notre schéma, nous avons besoin de les exécuter par MySQL. Pour ce faire, revenez à l’écran de MySQL et tapez la commande suivante :

source /repertoire/de/votre/fichier/livre.sql
Avec /repertoire/de/votre/fichier/livre.sql, le chemin complet vers votre fichier “livre.sql” (dans lequel vous aurez mis le contenu vu ci-dessus)

Vous devriez voir la sortie suivante dans le terminal MySQL :

MySQL pour les débutants - /repertoire/de/votre/fichier/livre.sql

Pour vérifier que votre table livre a bien été créée, on tape la commande show tables; :

MySQL pour les débutants - show tables;

Vous pouvez même inspecter le schéma de la table pour s’assurer qu’il est correct. Pour ce faire, utilisez la commande explain, comme ceci :

MySQL pour les débutants - explain livres;

Ajout d’enregistrements

Vous avez maintenant créé une base de données appelée “bibliotheque”, et ajouté une table “livres” au sein même de celle-ci. Désormais, essayons d’ajouter un enregistrement à la table livres

Pour ajouter un enregistrement à une table, nous allons utiliser la déclaration SQL INSERT, en passant le nom des champs de la table et les valeurs. Tapez la ligne suivante dans votre client MySQL afin d’insérer l’enregistrement d’un livre dans votre table :

INSERT INTO livres ( titre, auteur, prix )
VALUES ( "HTML5 pour les webdesigners", "Jeremy Keith", 12 );
Vous devriez voir la sortie suivante, indiquant que MySQL a ajouté l’enregistrement dans la table :

MySQL pour les débutants - INSERT INTO livres

Comme vous le constaterez, nous avons utilisé l’instruction INSERT afin d’ajouter le livre “HTML5 pour les webdesigners” à la table. Nous avons spécifié INTO livres pour indiquer à MySQL, quelle table il doit utiliser pour insérer l’enregistrement.
Ensuite on a énuméré entre parenthèses les noms des champs dont nous voulons fournir des valeurs, suivi par le mot-clé VALUES et par les valeurs des champs dans le même ordre qu’indiqué entre les parenthèses.

Notez que nous n’avons pas spécifié une valeur pour le champ ID. Comme il s’agit d’un champ avec l’attribut auto_increment, MySQL génère automatiquement la valeur du champ.

Ajoutons un autre triplet de livres sur la table :

INSERT INTO livres ( titre, auteur, prix )
VALUES ("Responsive Web design", "Ethan Marcotte", 12 ),
("CSS avancées", "Raphaël Goetter", 38 ),
("HTML5", "Rodolphe Rimelé", 39 );
Comme vous pouvez le voir, vous pouvez insérer plusieurs lignes à la fois en fournissant de multiples ensembles de valeurs, entre parenthèses et séparés par des virgules.

Récupération des enregistrements

Maintenant que nous avons ajouté quelques enregistrements à la table, comment pouvons-nous les récupérer ? C’est là que la notion de “requêtes SQL” entre en jeu. La déclaration SQL SELECT vous permet de récupérer un ou plusieurs enregistrements d’une table (ou même plusieurs tables à la fois) en fonction des critères que vous fournissez.

La syntaxe de base est la suivante :

SELECT nomChamps FROM nomTable [WHERE criteres]
Note : La déclaration SELECT peut être beaucoup plus complexe que cela, mais nous allons garder les choses simples dans ce tutoriel !

Essayons une requête SELECT de base sur notre table livres en utilisant notre client MySQL :

MySQL pour les débutants - SELECT * FROM livres;

Cette requête récupère tous les champs (*) à partir de la table livres. Puisque nous n’avons pas fourni d’autres critères, la requête extrait tous les enregistrements de la table et en affiche toutes les valeurs.

Note : Comme vous pouvez le voir, MySQL a généré automatiquement les valeurs du champ ID, en commençant par 1.

Que faire si on veut récupérer un seul enregistrement de la table, comme le livre de “Raphaël Goetter” ? Pour affiner la sélection, nous pouvons ajouter une clause WHERE, comme ceci :

mysql> SELECT * FROM livres WHERE auteur = 'Raphaël Goetter';
+----+---------------+------------------+-------+
| id | titre | auteur | prix |
+----+---------------+------------------+-------+
| 3 | CSS avancées | Raphaël Goetter | 38.00 |
+----+---------------+------------------+-------+
1 row in set (0.01 sec)
Note : Nous pouvons effectuer la requête SELECT * FROM livres WHERE id = 3; pour obtenir le même résultat

Nous pouvons également utiliser d’autres opérateurs, tels que < (inférieur à), > (supérieur à), et l’opérateur booléen AND afin de récupérer une plage d’enregistrements :

MySQL pour les débutants - Utilisations d'autres opérateurs

Enfin, au lieu de récupérer tous les champs en utilisant *, on peut préciser uniquement le ou les champs que nous voulons récupérer. Voici un exemple :

MySQL pour les débutants - SELECT titre, prix FROM livres

Comme vous pouvez le voir, les requêtes SELECT permettent facilement de récupérer les enregistrements et les champs que nous voulons de notre table.

Résumé

Ce tutoriel vous a présenté les bases de données en général, et plus particulièrement pour MySQL. Voici les différents points que nous avons abordés :

  • Le concept d’une base de données, qui vous permet de stocker facilement de grandes quantités de données structurées pour vos sites et applications Web
  • Pourquoi une base de données est une bonne idée par rapport à, disons, des fichiers texte contenant des données
  • Quelques bonnes raisons de choisir MySQL pour votre SGBD
  • Comment installer MySQL et ce, de trois manières différentes : paquets officiels, gestionnaire de paquets sous Linux, installer un package LAMP/WAMP/MAMP tels que XAMPP
  • Comment utiliser le client MySQL, mysql, afin de vous connecter à votre serveur MySQL et exécuter des commandes
  • Comment créer des bases de données avec la commande CREATE DATABASE
  • Comment créer des tables avec la commande CREATE TABLE
  • Quelques types de données MySQL : int, varchar et decimal
  • Les concepts d’une valeur NULL, de l’auto incrémentation d’un champ, des champs uniques, et des clés primaires
  • Ajout d’enregistrements d’une table en utilisant la déclaration INSERT
  • Récupération d’un enregistrement d’une table avec l’instruction SELECT

Conclusion

Les bases de données MySQL sont un vaste sujet, et il y a des points beaucoup plus importants à explorer, tels que la mise à jour et la suppression d’un enregistrement, les relations entre les tables, la normalisation, la jointure des tables et le regroupement des résultats.

Cependant, j’espère que vous avez trouvé cet article utile comme une introduction générale à MySQL.

Si vous voulez en savoir plus, je vous suggère de consulter le tutoriel MySQL, qui inclue plus de détails sur l’utilisation du client MySQL, sur la création des bases de données, et l’ajout de tables et de données.
Il inclut également certaines questions courantes que vous pouvez rencontrer lors de votre déploiement.

Amusez-vous bien !

Avez-vous rencontré des problèmes lors de la mise en œuvre de ce tutoriel ?

Tags : base de donnéesBDDdébutantsMySQLXAMPP
Yohann Poiron

The author Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.