• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 详细介绍mysql 协议的FieldList命令包及解析

详细介绍mysql 协议的FieldList命令包及解析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql ,FieldList,命令包等相关知识,希望本文的分享对您有所帮助

git

https://github.com/sea-boat/mysql-protocol

概况

当mysql客户端使用show column命令时即对应这个FieldList命令包。

mysql通信报文结构

类型名字描述
int<3>payload长度按照the least significant byte first存储,3个字节的payload和1个字节的序列号组合成报文头
int<1>序列号
stringpayload报文体,长度即为前面指定的payload长度

FieldList命令包

Payload

1              [04] COM_FIELD_LISTstring[NUL]    tablestring[EOF]    field wildcard

更多详情 : http://dev.mysql.com/doc/internals/en/com-field-list.html

FieldList命令包操作

  1. FieldList命令包类

/**
 * 
 * <pre><b>mysql field list packet.</b></pre>
 * @author 
 * <pre>seaboat</pre>
 * <pre><b>email: </b>849586227@qq.com</pre>
 * <pre><b>blog: </b>http:///;/pre>
 * @version 1.0
 * @see http:///
 */public class FieldListPacket extends MySQLPacket {
    public byte flag;    public byte[] table;    public byte[] fieldWildcard;    @Override
    public void read(byte[] data) {
        MySQLMessage mm = new MySQLMessage(data);
        packetLength = mm.readUB3();
        packetId = mm.read();
        flag = mm.read();
        table = mm.readBytesWithNull();
        fieldWildcard = mm.readBytes();
    }    @Override
    public void write(ByteBuffer buffer) {
        BufferUtil.writeUB3(buffer, calcPacketSize());
        buffer.put(packetId);
        buffer.put(COM_FIELD_LIST);
        BufferUtil.writeWithNull(buffer, table);
        buffer.put(fieldWildcard);
    }    @Override
    public int calcPacketSize() {        int i = 1;
        i += table.length + 1;
        i += fieldWildcard.length;        return i;
    }    @Override
    protected String getPacketInfo() {        return "MySQL Field List Packet";
    }

}

以上就是详细介绍mysql 协议的FieldList命令包及解析的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL essential版本和普通版本有什么区别?
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 解析远程连接管理其他机器上的MYSQL数据库
  • MySQL timestamp自动更新时间分享
  • MySQL Order by 语句用法与优化详解
  • 深入解析mysql中order by与group by的顺序问题
  • 解析mysql不重复字段值求和
  • MySql实现跨表查询的方法详解

相关文章

  • 2018-12-05自定义Hive权限控制(2) 权限配置项目
  • 2017-05-11windows下MySQL5.6版本安装及配置过程附有截图和详细说明
  • 2017-05-11mysql判断字段是否存在的方法
  • 2018-12-05图文详解MySql中的事务
  • 2017-05-11MySQL错误TIMESTAMP column with CURRENT_TIMESTAMP的解决方法
  • 2018-12-05Mysql优化的方向与目的
  • 2018-12-05sqlserver FOR XML PATH 语句的应用
  • 2018-12-05巧用mysql提示符prompt清晰管理数据库的方法
  • 2018-12-05关于UPDATE触发器的详细介绍
  • 2017-05-11Linux下修改MySQL编码的方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL学习系列4:运算符
    • 30 个优化 MySQL 语句的技巧
    • MySQL之-四步实现BinLog Replication升级为GTIDs Replication的代码实例
    • linux上mysql优化三板斧——CPU、内存、文件系统
    • 关于由小变大的文章推荐
    • MySQL分页性能优化指南
    • mysql使用教程之分区表的使用方法(删除分区表)
    • mysql启动错误之mysql启动报1067错误解决方法
    • MySql数据库分区和分表方法的详解及分区和分表介绍
    • MySQL SQL命令速查

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有