首页 > 数据库 > MySQL > 正文

调用MySQL中数据库元数据的方法

2024-07-24 13:07:22
字体:
来源:转载
供稿:网友

这篇文章主要介绍了调用MySQL中数据库元数据的方法,文中给出了了PHP和Perl脚本下的调用示例,需要的朋友可以参考下

MySQL的三个信息:

查询的结果有关的信息: 这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。

表和数据库有关的信息: 这包括表和数据库的结构有关的信息。

MySQL服务器的信息: 这包括当前状态的数据库服务器,版本号等。

在mysql提示符下很容易获得所有这些信息。但是,当使用Perl或PHP的API,那么我们就需要显式地调用各种API获得所有这些信息。下面的部分将告诉你如何获得这些信息。

获取查询所影响的行数:

PERL 实例:

在DBI脚本中,受影响的行数由do()或execute()方法返回,这取决于如何执行查询:

 

 
  1. # Method 1 
  2. execute $query using do( ) 
  3. my $count = $dbh->do ($query); 
  4. # report 0 rows if an error occurred 
  5. printf "%d rows were affected/n", (defined ($count) ? $count : 0); 
  6.  
  7. # Method 2 
  8. execute query using prepare( ) plus execute( ) 
  9. my $sth = $dbh->prepare ($query); 
  10. my $count = $sth->execute ( ); 
  11. printf "%d rows were affected/n", (defined ($count) ? $count : 0); 

PHP 实例:

在PHP中,调用mysql_affected_rows()函数找出多少行查询改变:

 

 
  1. $result_id = mysql_query ($query$conn_id); 
  2. # report 0 rows if the query failed 
  3. $count = ($result_id ? mysql_affected_rows ($conn_id) : 0); 
  4. print ("$count rows were affected/n"); 

表和数据库清单(列表):

很容易列出了所有与数据库服务器的数据库和表。如果没有足够的权限结果可能是空的。

除了方法,我刚才提到下面可以使用SHOW TABLES或SHOW DATABASES查询的表或数据库的列表,无论是在PHP或PERL。

PERL 实例:

 

 
  1. # Get all the tables available in current database. 
  2. my @tables = $dbh->tables ( ); 
  3. foreach $table (@tables ){ 
  4. print "Table Name $table/n"

PHP 实例:

 

 
  1. <?php 
  2. $con = mysql_connect("localhost""userid""password"); 
  3. if (!$con
  4. die('Could not connect: ' . mysql_error()); 
  5.  
  6. $db_list = mysql_list_dbs($con); 
  7.  
  8. while ($db = mysql_fetch_object($db_list)) 
  9. echo $db->Database . "<br />"
  10. mysql_close($con); 
  11. ?> 

获取服务器的元数据:

在MySQL可以执行下面的命令是mysql提示符下使用,或使用任何脚本,如PHP,数据库服务器获取各种重要信息。

调用MySQL中数据库元数据的方法

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表