飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • AngularJS教程
  • UEditor使用文档
  • ThinkPHP5.0教程

MySQL 数据库信息 Metadata

时间:2021-12-04  作者:匿名  

获取和使用 MySQL Metadata

您希望从 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 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()函数来找出查询更改了多少行。

$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 示例

尝试以下示例以获取数据库信息 -将以下示例复制并粘贴为 mysql_example.php

<html>
   <head>
      <title>Getting MySQL Database Info</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         $tutorial_count = null;
		 
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($result = mysqli_query($mysqli, "SELECT DATABASE()")) {
            $row = mysqli_fetch_row($result);
            printf("Default database is %s<br />", $row[0]);
            mysqli_free_result($result);
         }
         $mysqli->close();
      ?>
   </body></html>

输出

访问部署在 apache web 服务器上的 mysql_example.php 并验证输出。

Connected successfully.
Default database is tutorials

获取服务器Metadata

MySQL 中有一些重要的命令,它们可以在 MySQL 提示符下执行,也可以通过使用任何脚本(如 PHP)来获取有关数据库服务器的各种重要信息。

序号命令和描述
1

选择版本( )

服务器版本字符串

2

选择数据库( )

当前数据库名称(如果没有则为空)

3

选择用户( )

当前用户名

4

显示状态

服务器状态指示灯

5

显示变量

服务器配置变量

搜你所爱
MySQL教程:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。