首页 > 数据库 >MySQL 元数据

MySQL 元数据

时间:2023-05-05 13:37:32浏览次数:42  
标签:count 数据库 MySQL 数据表 query 服务器 数据

MySQL 元数据

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

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

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


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

PERL 实例

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


# 方法 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);
# 如果查询失败返回 
$count = ($result_id ? mysqli_affected_rows ($conn_id) : 0);
print ("$count 条数据被影响\n");

数据库和数据表列表

你可以很容易的在MySQL服务器中获取数据库和数据表列表。 如果你没有足够的权限,结果将返回 null。

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

PERL 实例


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

PHP 实例

以下实例输出 MySQL 服务器上的所有数据库:

查看所有数据库

<?php
$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$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);
?>

获取服务器元数据

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

命令描述
SELECT VERSION( ) 服务器版本信息
SELECT DATABASE( ) 当前数据库名 (或者返回空)
SELECT USER( ) 当前用户名
SHOW STATUS 服务器状态
SHOW VARIABLES 服务器配置变量

标签:count,数据库,MySQL,数据表,query,服务器,数据
From: https://www.cnblogs.com/sdges/p/17373842.html

相关文章

  • MySQL数据库基础
    MYSQL数据库基础Mysql的基础操作mysql概述启动和停止:在运行窗口中输入"services.msc"进入本地服务窗口,找到MySQL80右键关闭或启动.在命令行中输入(以管理员身份运行)netstartmysql80 启动netstopmysql80停止客户端的连接MySQL提供的客户端命令......
  • MySQL 删除数据库
    MySQL删除数据库使用普通用户登陆MySQL服务器,你可能需要特定的权限来创建或者删除MySQL数据库,所以我们这边使用root用户登录,root用户拥有最高权限。在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。drop命令删除数据库drop命令格式:dropd......
  • 金仓数据库字符串分割函数
    1.SPLIT_PARTSPLIT_PART()函数通过指定分隔符分割字符串,并返回第N个子串。语法:SPLIT_PART(string,delimiter,position)11、string:待分割的字符串2、delimiter:指定分割字符串3、position:返回第几个字串,从1开始,该参数必须是正数。如果参数值大于分割后字符串的数量,函数返回......
  • 在 linux-4.9/drivers/usb/serial/ch341.c 上串口收发数据异常
    有天做USBhost串口驱动的时候发下FT\CP都没有问题,就CH341有问题,读写正常,但数据不正常。有一点稀奇,可能是ch中间有版本变更了吧。解法就更新到https://github.com/torvalds/linux/blob/master/drivers/usb/serial/ch341.c最新的代码就行,有一些函数有出入,但大体影响......
  • 数据测试
    数据测试设计正常数据测试应包括数据完整性、数据一致性、数据准确性、数据多样性测试 1数据的完整性数据完整性是指数据记录和信息完整,不存在缺失情况。数据缺失主要包括记录缺失和记录中某个字段信息缺失,两者都会导致统计结果不准确。需要关注两点:数据不多和数据不少。......
  • 2023年4月《中国数据库行业分析报告》正式发布,尽览数据库技术变革与创新
    为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况,从2022年4月起,墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》,持续传播数据技术知识、努力促进技术创新与行业生态发展,目前已更至第十二期。4月《中国......
  • 电子病历(EMR)数据组与数据元、数据集标准
    电子病历基础模板是用于指导临床文档数据创建的形式和方法。制定电子病历基础模板的目的是用标准化的数据组,根据电子病历信息模型以及各类医疗服务活动(卫生事件)的业务规则,用数据元允许值约束后生成各类实际应用的临床文档(业务活动记录)。一个电子病历基础模板可对应一个或多个临床......
  • jexcel_将excel数据导入到页面
    jexcel_将excel数据导入到页面    还需解决的课题:下载jszip.js和xlsx.js<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="有效代码_将excel数据导入到网页.aspx.cs"Inherits="Default2"%><!DOCTYPEhtml><htmlxmlns="......
  • 23、MySQL压力测试及mysql如何在生产中配置主配置文件
    MySQL压力测试及mysql如何在生产中配置主配置文件测试工具mysqlslap跟上选项#mysql自带mysqlslap-a-uroot-p123456#单线程测试mysqlslap-a-c100-uroot-p123456#多线程并发测试(模拟100个客户端并发连接)mysqlslap-a--concurrency=50,100--number-o......
  • 组合框行来源数据快速输入(一)
     致敬每一位奋斗者手机边亲爱的大家,好久不见!今天还是五一假期,大家都去哪里玩耍了?今天给大家分享一下组合框示例。平时我们在使用组合框时,当选择的数据没有我们需要的,那我们该怎么去添加数据源的呢?组合框的数据行来源类型有“表/查询”,“值列表”,“字段列表”我们只讲前两个类型,今......