[[info:bdd:accueilbdd|{{ :iconemaison.jpg?nolink&25|Sommaire Bdd}}]] ===== BDD - Créer une base de données avec phpMyAdmin ===== [Mise à jour le 18/6/2023] * **Sources** * Documentation de référence sur phpmyadmin.net * Tutoriel sur le site **Openclassrooms** : Concevez votre site web avec php et MySQL * **Lectures connexes** * Wiki Raspberry Pi - Linux - [[raspberrypi:linux:siteweb|Installer un serveur (Apache - PHP - mySQL)]] * Wiki Informatique - BDD - [[info:bdd:sqlphp|MySQL et PHP]] ---- **phpMyAdmin** n'est pas un programme, mais un ensemble de pages PHP toutes prêtes dont on se sert pour gagner du temps. ==== Présentation ==== phpMyAdmin est une application Web de gestion pour les systèmes de gestion de base de données MySQL et MariaDB, réalisée principalement en PHP et distribuée sous licence GNU GPL. Wikipédia ==== 1 . Installer phpMyAdmin ==== * **Voir** Raspberry Pi - Linux - [[raspberrypi:linux:siteweb|Installer un serveur (Apache - PHP - mySQL)]] ==== 2. Se connecter à phpMyAdmin ==== === 2.1 phpMyAdmin installé sur la plateforme Wampserveur=== - Lancer Wampserveur en cliquant sur {{:web:iconewamp.png?nolink|}} - Sélectionner {{:web:phpma2.png?nolink|}}dans les icônes cachées {{:web:iconecachee.png?nolink|}} - Sélectionner phpMyAdmin {{ :web:phpma.png?nolink |}} === 2.2 phpMyAdmin installé sans Wampserveur === * Ouvrir un navigateur et entrer @IP/phpmyadmin. {{ :informatique:bdd:navphpmyadmin.png?nolink&400 |}} === 2.3 Login et mot de passe === * Entrer **root** ou **** et le mot de passe dans la page d'accueil. {{ :web:accueilphpma.png?nolink&400 |}} ==== 3. Créer une base de données ==== * La page d'accueil de phpMyAdmin ressemble à la figure ci-dessous. Pour créer la base : - Cliquer sur //Nouvelle base de données//. - Entrer un **nom** (ex: test) et sélectionner //utf8_general_ci// pour l'interclassement. - Cliquer sur **créer**. {{ :web:phpma3.png?nolink |}} ==== 4. Créer une table ==== * **Création** * Entrer un nom pour la table et sélectionner le nombre de colonnes puis cliquer sur //Exécuter//. //Exemple// : entrer le nom //eleves// et //4// colonnes comme ci-dessous. {{ :web:phpma4.png?nolink |}} * **Attributs des champs** // Exemple // : compléter les champs comme ci-dessous et cliquer sur **Enregistrer**. {{ :web:phpma5.png?nolink |}} * **Nom** : permet de définir le nom du champ (très important !) ; * **Type** : le type de données que va stocker le champ (nombre entier, texte, date…) ; * **Taille/Valeurs** : permet d'indiquer la taille maximale du champ, utile pour le typeVARCHARnotamment, afin de limiter le nombre de caractères autorisés ; * **Index** : active l'indexation du champ. Cela signifie que le champ sera adapté aux recherches. Le plus souvent, on utilise l'index **PRIMARY** sur les champs de type id ; * **A**UTO_**I**NCREMENT : permet au champ de s'incrémenter tout seul à chaque nouvelle entrée. On l'utilise fréquemment sur les champs de type id. L'onglet **structure** doit s'ouvrir et afficher l'organisation de la base comme ci-dessous. {{ :web:phpma6.png?nolink |}} Toute table doit posséder un champ qui joue le rôle de clé primaire. La **clé primaire** permet d'identifier de manière **unique** une entrée dans la table. En général, on utilise le champ **id** comme clé primaire. La table est maintenant prête à recevoir des données. {{ :web:ex_table.png?nolink|}} ==== 5. Autres opérations sur la base ==== === 5.1 Créer un utilisateur === - Cliquer sur le **nom** de la base de données (Ex: test), situé sur la gauche. Puis, dans le menu en haut, cliquer sur l'onglet //**privilèges**//. - Cliquer sur "Ajouter un utilisateur".{{ :informatique:bdd:privileges.png?nolink |}} - Entrer un //**nom**// d'utilisateur. - Dans le champ //**Nom d'hôte**// sélectionner //**local**//. Cela veut dire que notre base de données va être utilisée sur un serveur local. - Entrer et confirmer un **mot de passe**.{{ :informatique:bdd:phpmyadmincompte1.png?nolink&500 |}} - Sélectionner //**Donner tous les privilèges...**// puis //**Exécuter**//{{ :informatique:bdd:privileges2.png?nolink |}} === 5.2 Modifier le schéma de la table === En cliquant sur //**test**// puis //**Colonnes**//, on retrouve le schéma de la table créée précédemment. Il est alors possible d'ajouter ou de retirer des champs. {{ :web:structure_tb.png?nolink |}} {{ :web:test.png?nolink|}} === 5.3 Ajouter du contenu à une table === Cliquer sur //**test**// puis sur **Insérer** et remplir la première entrée comme ci-dessous. {{ :web:entree.png?nolink |}} En cliquant sur l'onglet **Afficher** on obtient l'affichage de la première entrée dans la table. {{ :web:entree1.png?nolink |}} {{ :web:sql.png?nolink|}} === 5.4 Exécuter des requêtes SQL === En cliquant sur l'onglet **SQL** on accède à un éditeur permettant d'exécuter des requêtes SQL. Exemple : SELECT * FROM `eleves` WHERE 1 signifie afficher le contenu de la table eleves. *** Importer** et **Exporter** - Il est possible d'importer et d'exporter des données. Voir ici pour plus d'informations. * **Opérations** * changer le nom de la table * déplacer la table vers une autre base * copier la table dans une autre base * optimiser la table * **Vider** efface le contenu de la table. Toutes les entrées disparaissent, seule la structure de la table reste (c'est-à-dire les champs). **Cette opération ne peut pas être annulée**. * **Supprimer** supprime la totalité de la table (structure et données). **Cette opération ne peut pas être annulée**. ---- ==== Résumé ==== * phpMyAdmin permet de modifier et visualiser l'état d'une base de données sans avoir à écrire de requêtes SQL. * Généralement, un champ nommé id sert à numéroter les entrées d'une table. Ce champ doit avoir un index PRIMARY (on dit qu'on crée une clé primaire) et l'option AUTO_INCREMENT qui permet de laisser MySQL gérer la numérotation. * MySQL gère différents types de données pour ses champs, à la manière de PHP. On trouve des types adaptés au stockage de nombres, de textes, de dates, etc. * phpMyAdmin possède un outil d'importation et d'exportation des tables.