MySQL - Informazioni sul database
Ottenere e utilizzare i metadati di MySQL
Ci sono tre tipi di informazioni, che vorresti avere da MySQL.
Information about the result of queries - Questo include il numero di record interessati da qualsiasi istruzione SELECT, UPDATE o DELETE.
Information about the tables and databases - Ciò include le informazioni relative alla struttura delle tabelle e dei database.
Information about the MySQL server - Ciò include lo stato del server del database, il numero di versione, ecc.
È molto facile ottenere tutte queste informazioni al prompt di MySQL, ma mentre si utilizzano API PERL o PHP, è necessario chiamare esplicitamente varie API per ottenere tutte queste informazioni.
Ottenere il numero di righe interessate da una query
Vediamo ora come ottenere queste informazioni.
Esempio PERL
Negli script DBI, il conteggio delle righe interessate viene restituito da do( ) o dal execute( ) comando, a seconda di come si esegue la query.
# Method 1
# execute $query using do( )
my $count = $dbh->do ($query);
# report 0 rows if an error occurred
printf "%d rows were affected\n", (defined ($count) ? $count : 0);
# Method 2
# execute query using prepare( ) plus execute( )
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d rows were affected\n", (defined ($count) ? $count : 0);
Esempio PHP
In PHP, invoca il mysql_affected_rows( ) funzione per scoprire quante righe è stata modificata una query.
$result_id = mysql_query ($query, $conn_id);
# report 0 rows if the query failed
$count = ($result_id ? mysql_affected_rows ($conn_id) : 0);
print ("$count rows were affected\n");
Elenco di tabelle e database
È molto facile elencare tutti i database e le tabelle disponibili con un server di database. Il tuo risultato potrebbe esserenull se non disponi dei privilegi sufficienti.
Oltre al metodo mostrato nel seguente blocco di codice, puoi usare SHOW TABLES o SHOW DATABASES query per ottenere l'elenco di tabelle o database in PHP o in PERL.
Esempio PERL
# Get all the tables available in current database.
my @tables = $dbh->tables ( );
foreach $table (@tables ){
print "Table Name $table\n";
}
Esempio PHP
<?php
$con = mysql_connect("localhost", "userid", "password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
$db_list = mysql_list_dbs($con);
while ($db = mysql_fetch_object($db_list)) {
echo $db->Database . "<br />";
}
mysql_close($con);
?>
Recupero dei metadati del server
Ci sono alcuni comandi importanti in MySQL che possono essere eseguiti al prompt di MySQL o utilizzando qualsiasi script come PHP per ottenere varie informazioni importanti sul server del database.
Sr.No. | Comando e descrizione |
---|---|
1 | SELECT VERSION( ) Stringa della versione del server |
2 | SELECT DATABASE( ) Nome database corrente (vuoto se nessuno) |
3 | SELECT USER( ) Nome utente corrente |
4 | SHOW STATUS Indicatori di stato del server |
5 | SHOW VARIABLES Variabili di configurazione del server |