MySQL databasisHoe om die status en weergawenommer data tabelstruktuur inligting te sien?

MySQL metadata

Jy sal dalk die volgende drie stukke inligting oor MySQL wil weet:

  • Navraagresultaatinligting: Die aantal rekords wat deur die SELECT-, UPDATE- of DELETE-stelling geraak word.
  • Databasis- en datatabelinligting: Bevat strukturele inligting van databasisse en datatabelle.
  • MySQL-bedienerinligting: Bevat die huidige status, weergawenommer, ens. van die databasisbediener.

In die MySQL-opdragprompt kan ons die bogenoemde bedienerinligting maklik bekom. Maar as jy 'n skriftaal soos Perl of PHP gebruik, moet jy 'n spesifieke koppelvlakfunksie oproep om dit te verkry. Ons sal dit volgende in detail voorstel.


Kry die aantal rekords wat deur die navraagstelling geraak word

PERL voorbeeld

In die DBI-skrip word die aantal rekords wat deur die stelling geraak word, teruggestuur deur die funksie do() of 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 voorbeeld

In PHP kan jy die mysqli_affected_rows() funksie gebruik om die aantal rekords te kry wat deur 'n navraagstelling geraak word.

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

Lys van databasisse en datatabelle

U kan maklik 'n lys van databasisse en tabelle in MySQL-bediener kry. As jy nie voldoende toestemmings het nie, sal die resultaat nul wees.
Jy kan ook die SHOW TABLES of SHOW DATABASES-stelling gebruik om 'n lys van databasisse en datatabelle te verkry.

PERL voorbeeld

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

PHP voorbeeld

Die volgende voorbeeld voer alle databasisse op die MySQL-bediener uit:

Bekyk alle databasisse

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

Kry bedienermetadata

Die volgende opdragstellings kan gebruik word in die MySQL-opdragprompt of in skrifte, soos PHP-skrifte.

命令beskrywing
KIES WEERGAWE( )Bediener weergawe inligting
KIES DATABASIS( )Huidige databasisnaam (of gee leeg terug)
KIES GEBRUIKER( )Huidige gebruikernaam
WYS STATUSBedienerstatus
WYS VERANDERLIKEBediener konfigurasie veranderlikes