basa di dati MySQLCumu verificà u statutu è u numeru di versione di l'infurmazioni di a struttura di a tabella di dati?

MySQL metadata

Pudete vulete sapè i seguenti trè tippi d'infurmazioni nantu à MySQL:

  • L'infurmazione di u risultatu di a dumanda: U numeru di registri affettati da a dichjarazione SELECT, UPDATE o DELETE.
  • Informazioni nantu à basa di dati è tabelle di dati: Contene l'infurmazioni di struttura di a basa di dati è a tabella di dati.
  • Informazioni di u servitore MySQL: Contene u statu attuale di u servitore di basa di dati, u numeru di versione, etc.

In u prompt di cumandamentu MySQL, pudemu uttene facilmente l'infurmazioni di u servitore sopra.Ma sè utilizate una lingua di scrittura cum'è Perl o PHP, avete bisognu di chjamà una funzione d'interfaccia specifica per uttene.In seguitu l'avemu da presentà in dettagliu.


Ottene u numeru di registri affettati da a dichjarazione di dumanda

esempiu PERL

In i script DBI, u numeru di registri affettati da a dichjarazione hè restituita da e funzioni do() o 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);

PHP istanza

In PHP, pudete aduprà a funzione mysqli_affected_rows() per uttene u numeru di registri affettati da una dumanda.

$result_id = mysqli_query ($conn_id, $query);
# 如果查询失败返回 
$count = ($result_id ? mysqli_affected_rows ($conn_id) : 0);
print ("$count 条数据被影响\n");

Lista di basa di dati è tabelle di dati

Pudete facilmente ottene una lista di basa di dati è tavule in u servitore MySQL.Se ùn avete micca permessi sufficienti, u risultatu torna null.
Pudete ancu aduprà a dichjarazione SHOW TABLES o SHOW DATABASES per uttene una lista di basa di dati è tabelle di dati.

esempiu PERL

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

PHP istanza

L'esempiu seguente rende tutte e basa di dati nantu à u servitore MySQL:

Vede tutte e basa di dati

<?
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);
?>

Ottene metadati di u servitore

I seguenti dichjarazioni di cumanda pò esse aduprate in u prompt di cumandamentu MySQL o in scripts, cum'è script PHP.

cumandudescrizzione
SELEZIONA VERSIONE ( )Informazioni di versione di u servitore
SELEZIONA DATABASE ( )nome attuale di a basa di dati (o rinvià viotu)
SELEZIONA USER ( )nome d'utilizatore attuale
MOSTRA STATUSstatutu di u servitore
MOSTRA VARIABILIVariabili di cunfigurazione di u servitore