MySQL databasePaano suriin ang katayuan at numero ng bersyon ng impormasyon ng istraktura ng talahanayan ng data?

MySQL metadata

Maaaring gusto mong malaman ang sumusunod na tatlong uri ng impormasyon tungkol sa MySQL:

  • Impormasyon ng resulta ng query: Ang bilang ng mga record na apektado ng SELECT, UPDATE o DELETE na pahayag.
  • Impormasyon tungkol sa mga database at talahanayan ng data: Naglalaman ng impormasyon ng istraktura ng database at talahanayan ng data.
  • Impormasyon sa MySQL server: Naglalaman ng kasalukuyang estado ng database server, numero ng bersyon, atbp.

Sa MySQL command prompt, madali nating makukuha ang impormasyon ng server sa itaas.Ngunit kung gumagamit ka ng isang scripting language tulad ng Perl o PHP, kailangan mong tumawag ng isang partikular na function ng interface upang makuha ito.Susunod ay ipapakilala namin nang detalyado.


Kunin ang bilang ng mga record na apektado ng query statement

Halimbawa ng PERL

Sa mga script ng DBI, ang bilang ng mga record na apektado ng pahayag ay ibinabalik ng mga function na 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);

Halimbawa ng PHP

Sa PHP, maaari mong gamitin ang mysqli_affected_rows( ) function para makuha ang bilang ng mga record na apektado ng isang query.

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

Listahan ng mga database at mga talahanayan ng data

Madali kang makakakuha ng listahan ng mga database at talahanayan sa MySQL server.Kung wala kang sapat na mga pahintulot, ang resulta ay babalik na null.
Maaari mo ring gamitin ang SHOW TABLES o SHOW DATABASES na pahayag upang makakuha ng listahan ng mga database at data table.

Halimbawa ng PERL

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

Halimbawa ng PHP

Ang sumusunod na halimbawa ay naglalabas ng lahat ng mga database sa MySQL server:

Tingnan ang lahat ng mga database

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

Kumuha ng metadata ng server

Ang mga sumusunod na command statement ay maaaring gamitin sa MySQL command prompt o sa mga script, tulad ng PHP script.

utospaglalarawan
PUMILI NG VERSION( )Impormasyon sa bersyon ng server
PUMILI NG DATABASE( )kasalukuyang pangalan ng database (o ibinalik na walang laman)
PUMILI NG USER( )kasalukuyang username
IPAKITA ANG STATUSkatayuan ng server
MAGPAKITA NG MGA VARIABLEMga Variable ng Configuration ng Server