MySQL baza podatakaKako provjeriti podatke o strukturi podataka o statusu i broju verzije?

MySQL metapodaci

Možda biste željeli znati sljedeće tri vrste informacija o MySQL-u:

  • Informacije o rezultatima upita: Broj zapisa na koje utječe SELECT, UPDATE ili DELETE izraz.
  • Informacije o bazama podataka i tabelama podataka: Sadrži informacije o strukturi baze podataka i tablice podataka.
  • Informacije o MySQL serveru: Sadrži trenutno stanje servera baze podataka, broj verzije itd.

U MySQL komandnoj liniji lako možemo dobiti gore navedene informacije o serveru.Ali ako koristite jezik za skriptiranje kao što je Perl ili PHP, morate pozvati određenu funkciju interfejsa da biste je dobili.Zatim ćemo se detaljno upoznati.


Dobijte broj zapisa na koje utječe izraz upita

PERL instanca

U DBI skriptama, broj zapisa na koje utječe naredba vraćaju funkcije do() ili 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 instanca

U PHP-u možete koristiti funkciju mysqli_affected_rows() da dobijete broj zapisa na koje utiče upit.

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

Lista baza podataka i tabela podataka

Možete lako dobiti listu baza podataka i tabela na MySQL serveru.Ako nemate dovoljno dozvola, rezultat će vratiti null.
Također možete koristiti izraz SHOW TABLES ili SHOW DATABASES da dobijete listu baza podataka i tablica podataka.

PERL instanca

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

PHP instanca

Sljedeći primjer daje sve baze podataka na MySQL serveru:

Pogledajte sve baze podataka

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

Dobijte serverske metapodatke

Sljedeće naredbene izjave mogu se koristiti u MySQL komandnoj liniji ili u skriptama, kao što su PHP skripte.

naredbaopis
ODABIR VERZIJU( )Informacije o verziji servera
ODABIR BAZE PODATAKA( )trenutni naziv baze podataka (ili vrati prazan)
ODABIR KORISNIKA ( )trenutno korisničko ime
PRIKAŽI STATUSstatus servera
PRIKAŽI VARIJABLEVarijable konfiguracije servera