base de datos mysql¿Cómo verificar la información de estructura de la tabla de datos de estado y número de versión?

MySQL Metadatos

Es posible que desee conocer los siguientes tres tipos de información sobre MySQL:

  • Información del resultado de la consulta: El número de registros afectados por la sentencia SELECT, UPDATE o DELETE.
  • Información sobre bases de datos y tablas de datos: Contiene la información de la estructura de la base de datos y la tabla de datos.
  • Información del servidor MySQL: Contiene el estado actual del servidor de base de datos, número de versión, etc.

En el símbolo del sistema de MySQL, podemos obtener fácilmente la información del servidor anterior.Pero si usa un lenguaje de secuencias de comandos como Perl o PHP, debe llamar a una función de interfaz específica para obtenerlo.A continuación vamos a presentar en detalle.


Obtenga la cantidad de registros afectados por la declaración de consulta

instancia PERL

En las secuencias de comandos DBI, el número de registros afectados por la instrucción se devuelve mediante las funciones 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);

instancia PHP

En PHP, puede usar la función mysqli_affected_rows( ) para obtener la cantidad de registros afectados por una 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 y tablas de datos

Puede obtener fácilmente una lista de bases de datos y tablas en el servidor MySQL.Si no tiene suficientes permisos, el resultado será nulo.
También puede usar la declaración SHOW TABLES o SHOW DATABASES para obtener una lista de bases de datos y tablas de datos.

instancia PERL

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

instancia PHP

El siguiente ejemplo genera todas las bases de datos en el servidor MySQL:

Ver todas las 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);
?>

Obtener metadatos del servidor

Las siguientes declaraciones de comando se pueden usar en el símbolo del sistema de MySQL o en secuencias de comandos, como secuencias de comandos PHP.

命令描述
SELECCIONAR VERSIÓN( )Información de la versión del servidor
SELECCIONAR BASE DE DATOS( )nombre de la base de datos actual (o retorno vacío)
SELECCIONE USUARIO( )nombre de usuario actual
MOSTRAR ESTADOel estado del servidor
MOSTRAR VARIABLESVariables de configuración del servidor