为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
MySQL

 MySQL的三个信息:

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

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

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

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

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

?

1234567891011# Method 1# execute $query using do( )my $count = $dbh->do ($query);# report 0 rows if an error occurredprintf "%d rows were affected\n", (defined ($count) ? $count : 0); # Method 2# execute query using prepare( ) plus execute( )my $sth = $dbh->prepare ($query);my $count = $sth->execute ( );printf "%d rows were affected\n", (defined ($count) ? $count : 0);


PHP 实例:

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

?

1234$result_id = mysql_query ($query, $conn_id);# report 0 rows if the query failed$count = ($result_id ? mysql_affected_rows ($conn_id) : 0);print ("$count rows were affected\n");

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

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

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

?


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

PHP 实例:

?


<?php$con = mysql_connect("localhost", "userid", "password");if (!$con){ die('Could not connect: ' . mysql_error());} $db_list = mysql_list_dbs($con); while ($db = mysql_fetch_object($db_list)){ echo $db->Database . "<br />";}mysql_close($con);?>

获取服务器的元数据:

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消