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

 更新时间:2015年05月27日 10:01:27   投稿:goldensun  
这篇文章主要介绍了调用MySQL中数据库元数据的方法,文中给出了了PHP和Perl脚本下的调用示例,需要的朋友可以参考下

 MySQL的三个信息:

  1.     查询的结果有关的信息: 这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。
  2.     表和数据库有关的信息: 这包括表和数据库的结构有关的信息。
  3.     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)

相关文章

  • MySQL子查询详解(单行子查询、多行子查询与相关子查询)

    MySQL子查询详解(单行子查询、多行子查询与相关子查询)

    所谓子查询是指在一个查询中嵌套了其他的若干查询,即在一个SELECT查询语句的WHERE或FROM子句中包含另一个SELECT查询语句,下面这篇文章主要给大家介绍了关于MySQL单行子查询、多行子查询与相关子查询的相关资料,需要的朋友可以参考下
    2022-09-09
  • 定时备份 Mysql并上传到七牛的方法

    定时备份 Mysql并上传到七牛的方法

    常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、mysqldump 全量逻辑备份、xtrabackup 增量逻辑备份等。这篇文章主要介绍了定时备份 MySQL 并上传到七牛 ,需要的朋友可以参考下
    2018-10-10
  • MySQL 百万级数据的4种查询优化方式

    MySQL 百万级数据的4种查询优化方式

    本文讲解了MySQL 百万级数据的4种查询优化方式,大家可以根据自身需求,选择适合自己的优化方式
    2021-06-06
  • MySQL安装配置以及安装失败解决过程

    MySQL安装配置以及安装失败解决过程

    我们在下载完MYSQL时,安装可能会遇到或大或小的问题,下面这篇文章主要给大家介绍了关于MySQL安装配置以及安装失败解决的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • 分享MySQL 主从延迟与读写分离的七种解决方案

    分享MySQL 主从延迟与读写分离的七种解决方案

    这篇文章主要介绍了分享MySQL 主从延迟与读写分离的七种解决方案,常见的解决方式是分库分表,每次读写都是操作主库的一个分表,从库只用来做数据备份。当主库发生故障时,主从切换,保证集群的高可用性,下面详细的相关资料介绍,需要的小伙伴可以参考一下
    2022-03-03
  • 深入理解MySQL的数据库引擎的类型

    深入理解MySQL的数据库引擎的类型

    本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL数据库聚合查询和联合查询详解

    MySQL数据库聚合查询和联合查询详解

    聚合查询就是在一个表里通过聚合函数进行查询操作,通常是求和,求平均值等操作,这篇文章主要介绍了MySQL聚合查询和联合查询的相关资料,需要的朋友可以参考下
    2024-03-03
  • 详解MySQL分区表

    详解MySQL分区表

    这篇文章主要介绍了MySQL分区表的相关资料,帮助大家更好的理解和学习mysql,感兴趣的朋友可以了解下
    2020-08-08
  • MYSQL初始化数据目录的实现步骤

    MYSQL初始化数据目录的实现步骤

    本文主要介绍了MYSQL初始化数据目录的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Mysql数据库delete操作没报错却删除不了数据的解决

    Mysql数据库delete操作没报错却删除不了数据的解决

    本文主要介绍了Mysql数据库delete操作没报错却删除不了数据的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论