formations / mysql / phpmyadmin-les-tables

Débutant
cgoupil1970 | 17-11-2023

PhpMyAdmin - Les tables

La gestion des tables dans phpMyAdmin est une tâche essentielle pour les développeurs et les administrateurs de bases de données. Elle permet de créer, modifier et supprimer des tables, ainsi que d'ajouter, modifier et supprimer des données dans les tables.

Comme pour la gestion des bases de données, phpMyAdmin offre une interface wysiwyg (What You See What You Get) conviviale et intitive permettant de réaliser un grand nombre d'opérations sur les tables.

Interface

Créer des tables

La première chose lorsque l'on est dans phpMyAdmin et que l'on souhaite travailler sur les tables notamment afin d'en créer une, on doit :

  1. Sélectionner la base de données dans la menu de gauche
  2. S'assurer au niveau du fil d'arianne que l'on est bien sur la bonne base de données
  3. Aller sur l'onglet "structure"
  4. Renseigner le formulaire permettant de spécifier un nom de table ainsi qu'un nombre de colonnes. Il sera bien sûr possible de rajouter des colonnes ultérieurement.

Nous allons créer une table d'utilisateurs par exemple, nous adaptons donc le formulaire comme suit :

  1. On nomme la table en respectant les bons usages comme évoqué dans le tutoriel sur les bases de données.
  2. On détermine le nombre de colonnes envisagées, ici nous en aurons 5 (l'id, le nom, le prénom, l'email et le mot de passe).

L'id est une notion très importante dans les tables d'une base de données. Il s'agit d'un nombre unique au sein d'une table qui identifie les données contenues dans une ligne de la table. L'id est une valeur auto-incrémentée (elle est gérée automatiquement par la base de données et la table) et il s'agit de la clé primaire de la table, qui dans le cas de bases de données relationnelles peut devir une clé étrangère dans une autre table ou encore dans une table de liaison.

Lorsqu'on a renseigné le nom de la table ainsi que le nombre de colonnes souhaitées, on valide à l'aide du bouton "créer" et on arrive alors sur l'interface suivante :

Dans la capture ci-dessus on peut identifier :

  1. Un champ de formulaire permettant de changer le nom de la table.
  2. Un formulaire permettant d'ajouter une ou plusieurs colonnes
  3. En ouverture d'une ligne de formulaire correspondant aux réglages d'une colonne dans la future table on peut déterminer le nom de la colonne, toujours en respectant les bons usages (à savoir pas d'espaces mais des underscore - souligné du 8, pas de majuscules, pas de caractères spéciaux ou accentués).
  4. Le type de données pouvant être stockés dans la colonne. Sur la capture on peut voir int qui signifie "integer" soit un nombre entier. Nous verrons les différents types un peu plus loin dans ce tuto.
  5. Le champ "taille/valeur" n'est pas obligatoire à renseigner suivant le type choisi en 4
  6. Le champ "valeur par défaut" est optionnel, il permet dans certains cas de figures d'affecter une valeur par défaut lorsqu'une ligne de données sera ajoutée dans la table.
  7. Le champ "interclassement" permet le cas échéant de spécifier pour une colonne donnée un interclassement (c'est à dire un jeu de caractères spécifique à utiliser) qui différe de celui de la base de données ou de la table.
  8. La case à cocher "null" permet de spécifier que la valeur de cette colonne pourra être omise lors de l'ajout d'une ligne de données dans la table et qu'il lui sera appliqué une valeur null par défaut.
  9. Index permet de spécifier, notamment le fait que la colonne représente la clé primaire (l'id) de la table. Sont activation est automatique dans les versions récentes de phpMyAdmin lorsqu'on clique sur la case à cocher "A_I" en 10
  10. La case à cocher "A_I" permet de spécifier que cette colonne est en auto-incrément, c'est à dire qu'elle est de type "int" et que la valeur contenue sera gérée automatiquement par la base de données.
  11. Enfin la zone 11 permet de vérifier le moteur de stockage utilisé comme ici innoDB qui est un moteur prenant en charge les relations entre les tables contrairement à myISAM par exemple.

Voici le résulat du réglage de notre table des utilisateurs. On peut noter que 

  • La colonne id est coché en auto-incrément et que elle bien une clé primaire
  • Les colonnes du nom et du prénom ont été typée en VARCHAR (Chaîne de caractères d'une longueur de 255 caractères au maximum) et que ces deux colonnes peuvent être null lors de l'execution d'une requête d'insertion d'une ligne de données dans la table.
  • Comme pour le nom et le prénom, l'email est du type VARCHAR mais ne peut pas être null
  • Enfin le password est également une colonne de type VARCHAR mais d'une longueur de 60 caractères, longueur qui correspond à la longueur de chaîne générée par l'algorythme de "hashage" des mots de passe BCrypt.

Lorsque les réglages des différentes colonnes sont effectués, il suffit de valider à l'aide du bouton "enregistrer" en bas à gauche.

L'enregistrement effectué, la page se rafraîchit et nous pouvons voir l'interface suivante :

On peut constater :

  1. Que la table est présente sous la base de données dans le menu de gauche.
  2. Que nous arrivons sur l'onglet "structure".
  3. Que la colonne de l'id présente une petite clé jaune qui précise qu'il s'agit de la clé primaire de la table.
  4. Que la colonne de l'id est bien en auto-incrément.
  5. Chaque ligne présente des boutons d'action permettant la suppression ou la modification des informations d'une colonne.
  6. La zone 6 permet l'ajout de une ou plusieurs colonne à une position donnée dans la table. Les positions n'ont pas d'incidence sur l'utilisation à terme des données, il s'agit plutôt d'un confort de lecture de l'ordre de colonnes dans la table.

Les types de données

Il existe de nombreux types de données attribuables aux colonnes dans une table. Parmi ces types on peut noter :

Les types numériques :

  • INT : nombre entier, de -2147483648 à 2147483647
  • TINYINT : nombre entier, de -128 à 127
  • SMALLINT : nombre entier, de -32768 à 32767
  • MEDIUMINT : nombre entier, de -8388608 à 8388607
  • BIGINT : nombre entier, de -9223372036854775808 à 9223372036854775807
  • DECIMAL : nombre décimal, avec une précision de 1 à 65 chiffres après la virgule
  • FLOAT : nombre décimal, avec une précision de 1 à 38 chiffres après la virgule

Les types textuels :

  • VARCHAR : chaîne de caractères de longueur variable, de 1 à 65535 caractères
  • CHAR : chaîne de caractères de longueur fixe, de 1 à 255 caractères
  • TINYTEXT : chaîne de caractères de longueur variable, de 1 à 255 caractères
  • TEXT : chaîne de caractères de longueur variable, de 1 à 65535 caractères
  • MEDIUMTEXT : chaîne de caractères de longueur variable, de 1 à 16777215 caractères
  • LONGTEXT : chaîne de caractères de longueur variable, de 1 à 4294967295 caractères
  • BLOB : chaîne binaire de longueur variable, de 0 à 4294967295 octets
  • TINYBLOB : chaîne binaire de longueur variable, de 0 à 255 octets
  • MEDIUMBLOB : chaîne binaire de longueur variable, de 0 à 16777215 octets
  • LONGBLOB : chaîne binaire de longueur variable, de 0 à 4294967295 octets

Les types de dates et d'heures :

  • DATE : date, au format AAAA-MM-JJ
  • TIME : heure, au format HH:MM:SS
  • DATETIME : date et heure, au format AAAA-MM-JJ HH:MM:SS
  • TIMESTAMP : date et heure, au format AAAA-MM-JJ HH:MM:SS, avec option de mise à jour automatique

Les autres types :

  • ENUM : liste de valeurs possibles, définie par l'administrateur de la base de données
  • SET : ensemble de valeurs possibles, définies par l'administrateur de la base de données

Insérer des données

Lorsque l'on clique sur l'onglet "insérer" on accède à une interface présentant deux formulaires identiques permettant pour chacun de reseigner les données d'une ligne dans la table.

Il n'est pas nécessaire de renseigner tous les champs suivant la configuration de la structure de la table, comme vu précédemment.

  1. Chaque formulaire  présent dans la page comporte sont bouton de validation.
  2. Un bouton global en base de page permet de valider tous les formulaires d'un coup.
  3. Un bouton permet de voir la requête qui sera exécutée à la validation.

Si vous avez renseigné plusieurs formulaires dans cette page il faut exclusivement utiliser le bouton de validation globale.

Parcourir les données

Lorsqu'on a ajouté des données, il est possible de les visualiser à l'aide de l'onglet "parcourir". Cet onglet permet :

  1. Cliquer sur l'onglet.
  2. Cette case à cocher permet d'afficher toutes les lignes de données présentes dans la table.
  3. Cette liste de choix permet de spécifier le nombre de ligne de données que l'on souhaite afficher dans la table.
  4. Les entêtes de colonnes permettent d'ordonner la liste des données par une colonne en ascendant (de A à Z ou par ordre croissant dans le cas de valeurs numériques) ou descendant (de Z à A ou par ordre décroissant dans le cas de valeurs numériques).
  5. Cette zone liste les lignes de données par rapport aux réglages évoqués précédemment et pour chacune ou par groupe de les modifier, de les supprimer ou de les copier.

Exécuter des requêtes

Comme pour les bases de données, l'onglet "SQL" au niveau d'une table permet de faire et de tester des requêtes. Lorsqu'on est sur l'onglet SQL des tables on peut noter la présence de bouton correspondants aux différentes opérations du CRUD pouvant être faite sur les données de la table.

Les opérations

L'onglet opération comme son nom l'indique permet d'effectuer différentes opérations sur les tables. Ces opérations sont "distribuées" dans des blocs validables bloc par bloc.

  1. Ce bloc permet de déplacer une table vers une autre base de données en la renommant éventuellement. Il est important de noter que le déplacement d'une table peut entraîner une perte de données si la base de données de destination a déjà une table avec le même nom. Dans ce cas, les données de la table de destination seront remplacées par les données de la table source.
  2. Ce second bloc permet des opérations importantes comme le fait de pouvoir renommer la table, de changer son moteur de stockage comme son interclassement ainsi que de régler la valeur d'incrément de l'id (Il n'est pas recommandé de toucher à cette valeur).
  3. Le troisième bloc permet de duppliquer la table dans la base de données ou dans une autre base. On peut copier que la structure ou la structure et les données. Cette fonctionnalité peut être intéressante pour faire la sauvegarde d'une table si on s'apprête à appliquer des opérations sensibles sur une table donnée.
  4. Le quatrième bloc permet différentes opération de maintenance sur la table comme par exemple l'analyse ou la défragmentation.
  5. Pour finir le cinquième bloc présente des opérations de vidage des données de la table (DELETE FROM) sans que la valeursd'incrément d'id ne soit réinitialisée ou encore de suppression des données de la table avec une remise à 1 de la valeur d'incrément de l'id (TRUNCATE) ainsi qu'une opération de suppréssion de la table (DROP)

Nous avons passé en revue l'interface dédiée à la gestion des tables dans phpMyAdmin à travers ses différents onglets, on peut maintenant s'intérresser de plus prêt aux requêtes qui seront ensuite utilisées dans du php à l'aide de l'onglet "SQL" décrit dans ce tutoriel.

Tutos du jour

Traiter et recadrer une image 1

Traiter et recadrer une image 1

Traiter et recadrer une image 1

Voir le tuto

Les fonctions en PHP

Les fonctions sont l'un des éléments essentiels de la programmation en PHP.

Voir le tuto
Votre inscription à la newsletter a bien été prise en compte. Une erreur est survenue lors de l'inscription à la newsletter. Votre désinscription à la newsletter a bien été prise en compte. Une erreur est survenue lors de la désinscription à la newsletter.

Inscription à la newsletter

Désinscription de la newsletter