Baza de date MySQLCum se verifică informațiile privind structura tabelului de date privind starea și numărul de versiune?

MySQL metadate

Poate doriți să aflați următoarele trei tipuri de informații despre MySQL:

  • Informații despre rezultatul interogării: Numărul de înregistrări afectate de instrucțiunea SELECT, UPDATE sau DELETE.
  • Informații despre baze de date și tabele de date: Conține informațiile de structură a bazei de date și a tabelului de date.
  • Informații server MySQL: Conține starea curentă a serverului bazei de date, numărul versiunii etc.

În promptul de comandă MySQL, putem obține cu ușurință informațiile serverului de mai sus.Dar dacă utilizați un limbaj de scripting, cum ar fi Perl sau PHP, trebuie să apelați o anumită funcție de interfață pentru a o obține.În continuare vă vom prezenta în detaliu.


Obțineți numărul de înregistrări afectate de instrucțiunea de interogare

Instanță PERL

În scripturile DBI, numărul de înregistrări afectate de instrucțiune este returnat de funcțiile do() sau 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);

Instanță PHP

În PHP, puteți utiliza funcția mysqli_affected_rows( ) pentru a obține numărul de înregistrări afectate de o interogare.

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

Lista de baze de date și tabele de date

Puteți obține cu ușurință o listă de baze de date și tabele pe serverul MySQL.Dacă nu aveți suficiente permisiuni, rezultatul va returna null.
De asemenea, puteți utiliza instrucțiunea SHOW TABLES sau SHOW DATABASES pentru a obține o listă de baze de date și tabele de date.

Instanță PERL

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

Instanță PHP

Următorul exemplu scoate toate bazele de date de pe serverul MySQL:

Vizualizați toate bazele de date

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

Obțineți metadatele serverului

Următoarele instrucțiuni de comandă pot fi utilizate la promptul de comandă MySQL sau în scripturi, cum ar fi scripturile PHP.

comandaDescriere
SELECTAȚI VERSIUNEA( )Informații despre versiunea serverului
SELECTARE BAZĂ DE DATE( )numele curent al bazei de date (sau returnează gol)
SELECTARE UTILIZATOR( )numele de utilizator actual
AFIȚI STAREstarea serverului
AFIȚI VARIABILELEVariabile de configurare a serverului