MySQL 元数据

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

  查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数。

  数据库和数据表的信息: 包含了数据库及数据表的结构信息。

  MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等。

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

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

  PERL 实例

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

  # 方法 1

  # 使用do( ) 执行 $query

  my $count = $dbh->do ($query);

  # 如果发生错误会输出 0

  printf "%d rows were affected\n", (defined ($count) ? $count : 0);

  # 方法 2

  # 使用prepare( ) 及 execute( ) 执行 $query

  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);

  # 如果查询失败返回

  $count = ($result_id ? mysql_affected_rows ($conn_id) : 0);

  print ("$count rows were affected\n");

  数据库和数据表列表

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

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

  PERL 实例

  # 获取当前数据库中所有可用的表。

  my @tables = $dbh->tables ( );

  foreach $table (@tables ){

  print "Table Name $table\n";

  }

  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 . "
";

  }

  mysql_close($con);

  ?>

  获取服务器元数据

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

  命令描述

  SELECT VERSION( )服务器版本信息

  SELECT DATABASE( )当前数据库名 (或者返回空)

  SELECT USER( )当前用户名

  SHOW STATUS服务器状态

  SHOW VARIABLES服务器配置变量

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络 侵删)

转载于:https://www.cnblogs.com/linpeng1/p/10936842.html

雷林鹏分享:MySQL 元数据相关推荐

  1. 雷林鹏分享:MySQL 及 SQL 注入

    MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...

  2. php mysql 插入多条数据_雷林鹏分享:PHP MySQL 插入多条数据

    使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyGuests" 表添加了三 ...

  3. mysql 分享_雷林鹏分享:MySQL 连接

    使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# my ...

  4. 雷林鹏分享:PHP MySQL 创建数据库

    数据库存有一个或多个表. 你需要 CREATE 权限来创建或删除 MySQL 数据库. 使用 MySQLi 和 PDO 创建 MySQL 数据库 CREATE DATABASE 语句用于在 MySQL ...

  5. 在mysql中 11div4_雷林鹏分享:MySQL 运算符

    本章节我们主要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 运算符作用 ...

  6. 雷林鹏分享:MySQL ALTER命令

    当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@host# mysql -u r ...

  7. 雷林鹏分享:MySQL DELETE 语句

    你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 以下是 SQL DELETE 语 ...

  8. 雷林鹏分享:MySQL 序列使用

    MySQL 序列使用 MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如 ...

  9. 雷林鹏分享:MySQL 函数

    MySQL 有很多内置的函数,以下列出了这些函数的说明. MySQL 字符串函数 函数描述实例 ASCII(s)返回字符串 s 的第一个字符的 ASCII 码.返回 CustomerName 字段第一 ...

  10. 雷林鹏分享:Lua 数据库访问

    本文主要为大家介绍 Lua 数据库的操作库:LuaSQL.他是开源的,支持的数据库有:ODBC, ADO, Oracle, MySQL, SQLite 和 PostgreSQL. 本文为大家介绍MyS ...

最新文章

  1. plc和pc串口通讯接线_让你搞懂PLC串口通讯和通讯接口,这东西估计没几个能说清楚~...
  2. 独家 | 全面!手把手教你决策树可视化(附链接代码)
  3. Java线程之核心概念
  4. price ceiling
  5. 数据结构Java09【计算机中数据的存储原理、2-3树的插入原理、B树和B+树】
  6. [js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点?
  7. 关于SQLSERVER的全文目录跟全文索引的区别
  8. 后台运行linux程序,后台运行Linux程序的方法
  9. 深入浅出linux驱动,Linux Kernel 字符驱动的深入浅出讲解
  10. sorted()函数快速实现字典输出
  11. python制作无限弹窗_Python无限弹窗,开机启动,打包为exe程序
  12. matlab输出动态gif图片
  13. 0-java常见2000英语单词
  14. 剖析STM32F103读写W25Q64
  15. 【Vic的小课堂】Unity实现游戏功能(1)—矩形框选
  16. 决策的五个要素(卓有成效的管理者)
  17. sr锁存器 数电_数字电路
  18. linux 处理匹配文本的前后行
  19. Foreground-aware Pyramid Reconstruction for Alignment-free Occluded Person Re-identification
  20. 诗歌七 千字文(天地玄黄,宇宙洪荒)

热门文章

  1. python类 析构方法
  2. Untiy中的数据平滑处理
  3. 针对 xml 数据类型的 XQuery (摘自SQL Server 2005 联机丛书)
  4. React --获取服务器数据的两种方式(Axios和FetchJsonp)
  5. 32.从1到n整数中1出现的次数
  6. Android-Adapter-View复用机制
  7. 41. 流感传染(宽搜)
  8. (转)正则表达式—RegEx(RegularExpressio)(三)
  9. sogou rank查询接口
  10. 360再回应Citron财务造假 双方或将升到法律层面