English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Métadonnées MySQL

Vous pourriez être intéressé par les trois types d'informations suivantes de MySQL :

  • Informations sur les résultats de la requête :Nombre d'enregistrements affectés par les instructions SELECT, UPDATE ou DELETE.

  • Informations sur la base de données et les tables :Contient des informations sur la structure de la base de données et des tables.

  • Informations sur le serveur MySQL :contient l'état actuel du serveur de base de données, le numéro de version, etc.

Dans le prompt de commande MySQL, nous pouvons facilement obtenir les informations de serveur ci-dessus. Si vous utilisez des langages de script tels que Perl ou PHP, vous devez appeler des fonctions d'interface spécifiques pour obtenir. nous allons l'expliquer en détail à la suite.

obtenir le nombre d'enregistrements affectés par une requête

Exemple PERL

Dans les scripts DBI, Le nombre d'enregistrements affectés par une instruction est renvoyé par la fonction do( ) ou execute( ).

# Méthode 1
# Exécuter $query en utilisant do( ) 
my $count = $dbh->do ($query);
# Si une erreur se produit, renvoie 0
printf "%d lignes affectées\n", (defined($count) ? $count : 0);
# Méthode 2
# Exécuter $query en utilisant prepare( ) et execute( ) 
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d lignes affectées\n", (defined($count) ? $count : 0);

Exemple PHP

Dans PHP, vous pouvez utiliser la fonction mysqli_affected_rows() pour obtenir le nombre d'enregistrements affectés par une requête.

$result_id = mysqli_query($conn_id, $query);
# Si la requête échoue, renvoie 
$count = ($result_id ? mysqli_affected_rows($conn_id) : 0);
print "$count lignes affectées\n";

liste des bases de données et des tables

Il est facile de obtenir la liste des bases de données et des tables dans le serveur MySQL. Si vous n'avez pas les autorisations suffisantes, le résultat renverra null.

Vous pouvez également utiliser les instructions SHOW TABLES ou SHOW DATABASES pour obtenir la liste des bases de données et des tables.

Exemple PERL

# Obtenir toutes les tables disponibles dans la base de données actuelle.
my @tables = $dbh->tables ( );
foreach ($table as @tables) {
   print "nom de la table $table\n";
}

Exemple PHP

Voici un exemple de sortie pour afficher toutes les bases de données sur le serveur MySQL :

<?php
$dbhost = 'localhost';  // adresse du serveur MySQL
$dbuser = 'root';            // nom d'utilisateur MySQL
$dbpass = ''123456';          // Nom d'utilisateur et mot de passe mysql
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Échec de la connexion: ' . mysqli_error($conn));
}
// Configurer l'encodage, pour éviter les caractères chinois brouillés
$db_list = mysqli_query($conn, 'SHOW DATABASES');
while ($db = mysqli_fetch_object($db_list))
{
  echo $db->Database . "<br />";
}
mysqli_close($conn);
?>

Obtenir les métadonnées du serveur

Les commandes suivantes peuvent être utilisées dans le prompt de commande MySQL ou dans un script. Utilisation, comme un script PHP.

CommandeDescription
SELECT VERSION( )Informations de version du serveur
SELECT DATABASE( )Nom de la base de données actuelle (ou retourne vide)
SELECT USER( )Nom d'utilisateur actuel
SHOW STATUSStatut du serveur
SHOW VARIABLESVariables de configuration du serveur