第29章 MySQL 元数据教程

陛下可能想知道MySQL以下三种信息:

  • 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数。
  • database和数据表的信息: 包含了database及数据表的结构信息。
  • MySQLserver 信息: 包含了databaseserver 的当前状态,版本号等。

在MySQL的命令提示符中,咱们可以很容易的获取以上server 信息。 但如果使用Perl或PHP等脚本语言,陛下就需要调用特定的接口函数来获取。 接下来咱们会详细介绍。


获取查询语句影响的记录数

PERL 实例

在 DBI 脚本中, 语句影响的记录数通过函数 do( ) 或 execute( )return :


    # 方法 1
    # 使用do( ) 执行  $query 
    my $count = $dbh->do ($query);
    # 如果发生错误会输出 0
    printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);
    
    # 方法 2
    # 使用prepare( ) 及 execute( ) 执行  $query 
    my $sth = $dbh->prepare ($query);
    my $count = $sth->execute ( );
    printf "%d 条数据被影响\n", (defined ($count) ? $count : 0);

PHP 实例

在PHP中,陛下可以使用 mysqli_affected_rows( ) 函数来获取查询语句影响的记录数。


    $result_id = mysqli_query ($conn_id, $query);
    # 如果查询失败return  
    $count = ($result_id ? mysqli_affected_rows ($conn_id) : 0);
    print ("$count 条数据被影响\n");


database和数据表列表

陛下可以很容易的在MySQLserver 中获取database和数据表列表。 如果陛下没有足够的权限,结果将return null。

陛下也可以使用 SHOW TABLES 或 SHOW DATABASES 语句来获取database和数据表列表。

PERL 实例


    # 获取当前database中所有可用的表。
    my @tables = $dbh->tables ( );
    foreach $table (@tables ){
       print "表名 $table\n";
    }

PHP 实例

以下实例输出 MySQL server 上的所有database:


    查看所有database 
     
    
    <?php
    $dbhost = 'localhost';  // mysqlserver 主机地址
    $dbuser = 'root';            // mysql用户名
    $dbpass = '123456';          // mysql用户名password 
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
        die('连接失败: ' . mysqli_error($conn));
    }
    // 设置编码,防止中文乱码
    $db_list = mysqli_query($conn, 'SHOW DATABASES');
    while ($db = mysqli_fetch_object($db_list))
    {
      echo $db->Database . "<br />";
    }
    mysqli_close($conn);
    ?>


获取server 元数据

以下命令语句可以在 MySQL 的命令提示符使用,也可以在脚本中 使用,如PHP脚本。

命令描述
SELECT VERSION( )server 版本信息
SELECT DATABASE( )当前database name (或者return 空)
SELECT USER( )当前用户名
SHOW STATUSserver 状态
SHOW VARIABLESserver 配置变量
## 本专栏所有文章
第1章 MySQL 教程第2章 MySQL 安装教程
第3章 MySQL 管理教程第4章 MySQL PHP 语法教程
第5章 MySQL 连接教程第6章 MySQL 创建数据库教程
第7章 MySQL 删除数据库教程第8章 MySQL 选择数据库教程
第9章 MySQL 数据类型教程第10章 MySQL 创建数据表教程
第11章 MySQL 删除数据表教程第12章 MySQL 插入数据教程
第13章 MySQL 查询数据教程第14章 MySQL WHERE 子句教程
第15章 MySQL UPDATE 更新教程第16章 MySQL DELETE 语句教程
第17章 MySQL LIKE 子句教程第18章 MySQL UNION教程
第19章 MySQL 排序教程第20章 MySQL 分组教程
第21章 MySQL 连接的使用教程第22章 MySQL NULL 值处理教程
第23章 MySQL 正则表达式教程第24章 MySQL 事务教程
第25章 MySQL ALTER命令教程第26章 MySQL 索引教程
第27章 MySQL 临时表教程第28章 MySQL 复制表教程
第29章 MySQL 元数据教程第30章 MySQL 序列使用教程
第31章 MySQL 处理重复数据教程第32章 MySQL 及 SQL 注入教程
第33章 MySQL 导出数据教程第34章 MySQL 导入数据教程
第35章 MySQL 函数教程第36章 MySQL 运算符教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598

  • 才能不必傲尽,留三分余地于人,留些内涵于己;
  • 努力的苦读,就为这一刻啰。把你的实力全部发挥,所有关爱着你的人,都会为你祝福祈祷,相信你会考出满意的成绩,祝你榜上有名喔。
  • 用细心、耐心、知心、爱心搭建师生心灵的通途。
  • 真实的、永恒的、最高级的快乐,只能从三样东西中取得:工作、自我克制和爱。
  • 每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着,只要在路上,就没有到达不了的远方。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴莲酱csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值