MySQL - Informações do banco de dados

Obtenção e uso de metadados MySQL

Existem três tipos de informações que você gostaria de obter do MySQL.

  • Information about the result of queries - Isso inclui o número de registros afetados por qualquer instrução SELECT, UPDATE ou DELETE.

  • Information about the tables and databases - Inclui informações relativas à estrutura das tabelas e dos bancos de dados.

  • Information about the MySQL server - Isso inclui o status do servidor de banco de dados, número da versão, etc.

É muito fácil obter todas essas informações no prompt do MySQL, mas ao usar APIs PERL ou PHP, precisamos chamar várias APIs explicitamente para obter todas essas informações.

Obtenção do número de linhas afetadas por uma consulta

Vamos agora ver como obter essas informações.

Exemplo PERL

Em scripts DBI, a contagem de linhas afetadas é retornada pelo do( ) ou pelo execute( ) comando, dependendo de como você executa a consulta.

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

Exemplo de PHP

Em PHP, invoque o mysql_affected_rows( ) função para descobrir quantas linhas uma consulta mudou.

$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");

Listando tabelas e bancos de dados

É muito fácil listar todos os bancos de dados e as tabelas disponíveis com um servidor de banco de dados. Seu resultado pode sernull se você não tiver os privilégios suficientes.

Além do método que é mostrado no seguinte bloco de código, você pode usar SHOW TABLES ou SHOW DATABASES consultas para obter a lista de tabelas ou bancos de dados em PHP ou em PERL.

Exemplo PERL

# Get all the tables available in current database.
my @tables = $dbh->tables ( );

foreach $table (@tables ){
   print "Table Name $table\n";
}

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

Obtendo Metadados do Servidor

Existem alguns comandos importantes no MySQL que podem ser executados no prompt do MySQL ou usando qualquer script como PHP para obter várias informações importantes sobre o servidor de banco de dados.

Sr. Não. Comando e Descrição
1

SELECT VERSION( )

String da versão do servidor

2

SELECT DATABASE( )

Nome do banco de dados atual (vazio se nenhum)

3

SELECT USER( )

Nome de usuário atual

4

SHOW STATUS

Indicadores de status do servidor

5

SHOW VARIABLES

Variáveis ​​de configuração do servidor