Base de datos MySQLComo comprobar a información da estrutura da táboa de datos do estado e do número de versión?

MySQL metadatos

Pode querer coñecer os seguintes tres tipos de información sobre MySQL:

  • Información do resultado da consulta: O número de rexistros afectados pola instrución SELECT, UPDATE ou DELETE.
  • Información sobre bases de datos e táboas de datos: Contén a información da estrutura da base de datos e da táboa de datos.
  • Información do servidor MySQL: Contén o estado actual do servidor de base de datos, o número de versión, etc.

No indicador de comandos de MySQL, podemos obter facilmente a información do servidor anterior.Pero se usa unha linguaxe de scripts como Perl ou PHP, cómpre chamar a unha función de interface específica para obtelo.A continuación presentarémolo en detalle.


Obter o número de rexistros afectados pola instrución de consulta

Exemplo PERL

Nos scripts DBI, o número de rexistros afectados pola instrución é devolto polas funcións 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);

instancia PHP

En PHP, pode usar a función mysqli_affected_rows() para obter o número de rexistros afectados por unha consulta.

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

Lista de bases de datos e táboas de datos

Podes obter facilmente unha lista de bases de datos e táboas no servidor MySQL.Se non tes permisos suficientes, o resultado devolverá nulo.
Tamén pode usar a instrución SHOW TABLES ou SHOW DATABASES para obter unha lista de bases de datos e táboas de datos.

Exemplo PERL

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

instancia PHP

O seguinte exemplo mostra todas as bases de datos do servidor MySQL:

Ver todas as bases de datos

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

Obter metadatos do servidor

As seguintes instrucións de comando pódense usar no indicador de comandos de MySQL ou en scripts, como scripts PHP.

comandodescrición
SELECCIONAR VERSIÓN( )Información da versión do servidor
SELECCIONAR BASE DE DATOS ( )nome da base de datos actual (ou devolver baleiro)
SELECCIONAR USUARIO ( )nome de usuario actual
MOSTRAR ESTADOestado do servidor
MOSTRAR VARIABLESVariables de configuración do servidor