Databáza MySQLAko skontrolovať informácie o štruktúre tabuľky údajov o stave a čísle verzie?

MySQL metaúdaje

Možno budete chcieť poznať nasledujúce tri druhy informácií o MySQL:

  • Informácie o výsledku dopytu: Počet záznamov ovplyvnených príkazom SELECT, UPDATE alebo DELETE.
  • Informácie o databázach a dátových tabuľkách: Obsahuje informácie o štruktúre databázy a tabuľky údajov.
  • Informácie o serveri MySQL: Obsahuje aktuálny stav databázového servera, číslo verzie atď.

V príkazovom riadku MySQL môžeme ľahko získať vyššie uvedené informácie o serveri.Ak však používate skriptovací jazyk, ako je Perl alebo PHP, musíte na jeho získanie zavolať špecifickú funkciu rozhrania.Ďalej si ho podrobne predstavíme.


Získajte počet záznamov ovplyvnených príkazom dotazu

Inštancia PERL

V skriptoch DBI je počet záznamov ovplyvnených príkazom vrátený funkciami do() alebo 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);

Inštancia PHP

V PHP môžete použiť funkciu mysqli_affected_rows() na získanie počtu záznamov ovplyvnených dotazom.

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

Zoznam databáz a dátových tabuliek

Môžete ľahko získať zoznam databáz a tabuliek na serveri MySQL.Ak nemáte dostatočné povolenia, výsledok vráti hodnotu null.
Na získanie zoznamu databáz a údajových tabuliek môžete použiť aj príkaz SHOW TABLES alebo SHOW DATABASES.

Inštancia PERL

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

Inštancia PHP

Nasledujúci príklad zobrazuje výstup všetkých databáz na serveri MySQL:

Zobraziť všetky databázy

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

Získajte metadáta servera

Nasledujúce príkazy možno použiť v príkazovom riadku MySQL alebo v skriptoch, ako sú skripty PHP.

objednaťpopis
VYBRAŤ VERZIU ( )Informácie o verzii servera
VYBRAŤ DATABÁZU( )názov aktuálnej databázy (alebo návrat prázdny)
VYBRAŤ POUŽÍVATEĽA ( )aktuálne používateľské meno
ZOBRAZIŤ STAVstav servera
ZOBRAZIŤ PREMENNÉKonfiguračné premenné servera