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

Bena ·
更新时间:2024-09-21
· 954 次阅读

 MySQL的三个信息:

    查询的结果有关的信息: 这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。     表和数据库有关的信息: 这包括表和数据库的结构有关的信息。     MySQL服务器的信息: 这包括当前状态的数据库服务器,版本号等。

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

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

# 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()函数找出多少行查询改变:

$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,数据库服务器获取各种重要信息。

2015527100023432.jpg (639×166)

您可能感兴趣的文章:Can''t connect to MySQL server on localhost (10061)解决方法Mysql字符串截取函数SUBSTRING的用法说明MySQL日期数据类型、时间类型使用总结windows下MySQL5.6版本安装及配置过程附有截图和详细说明Mysql命令行导入sql数据MySQL server has gone away 问题的解决方法MySQL创建用户与授权方法MySQL 的CASE WHEN 语句使用说明mysql中int、bigint、smallint 和 tinyint的区别详细介绍mySQL中replace的用法mysql 添加索引 mysql 如何创建索引MySQL 元数据查看及实例代码



方法 数据 元数据 数据库 Mysql

需要 登录 后方可回复, 如果你还没有账号请 注册新账号