Base de données MySQLComment vérifier les informations de structure de la table de données de statut et de numéro de version ?

MySQL métadonnées

Vous voudrez peut-être connaître les trois types d'informations suivants sur MySQL :

  • Informations sur le résultat de la requête : Le nombre d'enregistrements affectés par l'instruction SELECT, UPDATE ou DELETE.
  • Informations sur les bases de données et les tables de données : Contient les informations de structure de la base de données et de la table de données.
  • Informations sur le serveur MySQL : Contient l'état actuel du serveur de base de données, le numéro de version, etc.

Dans l'invite de commande MySQL, nous pouvons facilement obtenir les informations de serveur ci-dessus.Mais si vous utilisez un langage de script tel que Perl ou PHP, vous devez appeler une fonction d'interface spécifique pour l'obtenir.Ensuite, nous présenterons en détail.


Obtenir le nombre d'enregistrements affectés par l'instruction de requête

Instance PERL

Dans les scripts DBI, le nombre d'enregistrements affectés par l'instruction est renvoyé par les fonctions do( ) ou execute( ) :

# 方法 1
# 使用do( ) 执行  $query 
my $count = $dbh->do ($query);
# 如果发生错误会输出 0
printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);
# 方法 2
# 使用prepare( ) 及 execute( ) 执行  $query 
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);

Instance PHP

En 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);
# 如果查询失败返回 
$count = ($result_id ? mysqli_affected_rows ($conn_id) : 0);
print ("$count 条数据被影响\n");

Liste des bases de données et tableaux de données

Vous pouvez facilement obtenir une liste des bases de données et des tables sur le serveur MySQL.Si vous ne disposez pas des autorisations suffisantes, le résultat renverra null.
Vous pouvez également utiliser l'instruction SHOW TABLES ou SHOW DATABASES pour obtenir une liste des bases de données et des tables de données.

Instance PERL

# 获取当前数据库中所有可用的表。
my @tables = $dbh->tables ( );
foreach $table (@tables ){
   print "表名 $table\n";
}

Instance PHP

L'exemple suivant affiche toutes les bases de données sur le serveur MySQL :

Voir toutes les bases de données

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
$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 instructions de commande suivantes peuvent être utilisées à l'invite de commande MySQL ou dans des scripts, tels que des scripts PHP.

命令描述
SÉLECTIONNER VERSION( )Informations sur la version du serveur
SÉLECTIONNER LA BASE DE DONNÉES ( )nom de la base de données actuelle (ou retour vide)
SÉLECTIONNER UTILISATEUR( )nom d'utilisateur actuel
AFFICHER L'ÉTATétat du serveur
AFFICHER LES VARIABLESVariables de configuration du serveur