MySQL andmebaasKuidas kontrollida oleku ja versiooninumbri andmetabeli struktuuri teavet?

MySQL metaandmed

Võite MySQL-i kohta teada saada järgmist kolme tüüpi teavet.

  • Päringu tulemuste teave: Kirjete arv, mida SELECT, UPDATE või DELETE mõjutab.
  • Teave andmebaaside ja andmetabelite kohta: Sisaldab andmebaasi ja andmetabeli struktuuriteavet.
  • MySQL serveri teave: Sisaldab andmebaasiserveri hetkeseisu, versiooninumbrit jne.

MySQL-i käsurealt saame hõlpsasti ülaltoodud serveriteavet hankida.Kuid kui kasutate skriptikeelt (nt Perl või PHP), peate selle hankimiseks kutsuma konkreetse liidese funktsiooni.Järgmisena tutvustame üksikasjalikult.


Hankige päringulause mõjutatud kirjete arv

PERL-i eksemplar

DBI-skriptides tagastavad avaldusest mõjutatud kirjete arvu funktsioonid do( ) või 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);

PHP eksemplar

PHP-s saate päringu mõjutatud kirjete arvu saamiseks kasutada funktsiooni mysqli_affected_rows( ).

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

Andmebaaside ja andmetabelite loend

Saate hõlpsasti hankida MySQL-serveris olevate andmebaaside ja tabelite loendi.Kui teil pole piisavalt õigusi, tagastatakse tulemuseks null.
Andmebaaside ja andmetabelite loendi kuvamiseks võite kasutada ka lauset SHOW TABLES või SHOW DATABASES.

PERL-i eksemplar

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

PHP eksemplar

Järgmine näide väljastab kõik MySQL-serveris olevad andmebaasid:

Vaadake kõiki andmebaase

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

Hankige serveri metaandmed

Järgmisi käsulauseid saab kasutada MySQL-i käsureal või skriptides, näiteks PHP-skriptides.

käskkirjeldus
VALI VERSION( )Serveri versiooni teave
VALI ANDMEBAAS( )praeguse andmebaasi nimi (või tagastage tühi)
VALI KASUTAJA( )praegune kasutajanimi
KUVA OLEKserveri olek
NÄITA MUUTUJAIDServeri konfiguratsioonimuutujad