MySQL 元数据查看及实例代码
你可能想知道MySQL以下三种信息:
- 查询结果信息:SELECT,UPDATE或DELETE语句影响的记录数。
- 数据库和数据表的信息:包含了数据库及数据表的结构信息。
- MySQL服务器信息:包含了数据库服务器的当前状态,版本号等。
 
在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息。但如果使用Perl或PHP等脚本语言,你就需要调用特定的接口函数来获取。接下来我们会详细介绍。
获取查询语句影响的记录数
PERL实例
在DBI脚本中,语句影响的记录数通过函数do()或execute()返回:
#方法1 #使用do()执行$query my$count=$dbh->do($query); #如果发生错误会输出0 printf"%drowswereaffected\n",(defined($count)?$count:0); #方法2 #使用prepare()及execute()执行$query my$sth=$dbh->prepare($query); my$count=$sth->execute(); printf"%drowswereaffected\n",(defined($count)?$count:0);
PHP实例
在PHP中,你可以使用mysql_affected_rows()函数来获取查询语句影响的记录数。
$result_id=mysql_query($query,$conn_id);
#如果查询失败返回
$count=($result_id?mysql_affected_rows($conn_id):0);
print("$countrowswereaffected\n");
数据库和数据表列表
你可以很容易的在MySQL服务器中获取数据库和数据表列表。如果你没有足够的权限,结果将返回null。
你也可以使用SHOWTABLES或SHOWDATABASES语句来获取数据库和数据表列表。
PERL实例
#获取当前数据库中所有可用的表。
my@tables=$dbh->tables();
foreach$table(@tables){
print"TableName$table\n";
}
PHP实例
<?php
$con=mysql_connect("localhost","userid","password");
if(!$con)
{
die('Couldnotconnect:'.mysql_error());
}
$db_list=mysql_list_dbs($con);
while($db=mysql_fetch_object($db_list))
{
echo$db->Database."<br/>";
}
mysql_close($con);
?>
获取服务器元数据
以下命令语句可以在MySQL的命令提示符使用,也可以在脚本中使用,如PHP脚本。
 
命令 
描述 
 
SELECTVERSION() 
服务器版本信息 
 
SELECTDATABASE() 
当前数据库名(或者返回空) 
 
SELECTUSER() 
当前用户名 
 
SHOWSTATUS 
服务器状态 
 
SHOWVARIABLES 
服务器配置变量 
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
