Database MySQLCome controllare lo stato e le informazioni sulla struttura della tabella dei dati del numero di versione?

MySQL metadati

Potresti voler conoscere i seguenti tre tipi di informazioni su MySQL:

  • Informazioni sui risultati della query: Il numero di record interessati dall'istruzione SELECT, UPDATE o DELETE.
  • Informazioni su database e tabelle dati: Contiene le informazioni sulla struttura del database e della tabella dati.
  • Informazioni sul server MySQL: Contiene lo stato corrente del server del database, il numero di versione, ecc.

Nel prompt dei comandi di MySQL, possiamo facilmente ottenere le informazioni sul server di cui sopra.Ma se usi un linguaggio di scripting come Perl o PHP, devi chiamare una specifica funzione di interfaccia per ottenerlo.Successivamente introdurremo in dettaglio.


Ottieni il numero di record interessati dall'istruzione di query

Istanza PERL

Negli script DBI, il numero di record interessati dall'istruzione viene restituito dalle 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);

Istanza PHP

In PHP, puoi usare la funzione mysqli_affected_rows() per ottenere il numero di record interessati da una query.

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

Elenco di database e tabelle di dati

È possibile ottenere facilmente un elenco di database e tabelle nel server MySQL.Se non si dispone di autorizzazioni sufficienti, il risultato restituirà null.
È inoltre possibile utilizzare l'istruzione SHOW TABLES o SHOW DATABASES per ottenere un elenco di database e tabelle di dati.

Istanza PERL

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

Istanza PHP

L'esempio seguente restituisce tutti i database sul server MySQL:

Visualizza tutti i database

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

Ottieni i metadati del server

Le seguenti istruzioni di comando possono essere utilizzate al prompt dei comandi di MySQL o in script, come gli script PHP.

命令描述
SELEZIONA VERSIONE( )Informazioni sulla versione del server
SELEZIONA DATABASE( )nome del database corrente (o restituito vuoto)
SELEZIONA UTENTE( )nome utente corrente
MOSTRA STATOstato del server
MOSTRA VARIABILIVariabili di configurazione del server