MySQL的三个信息:
查询的结果有关的信息: 这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。
表和数据库有关的信息: 这包括表和数据库的结构有关的信息。
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 occurred printf "%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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦