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

详细介绍mysql 协议的ColumnCount包及解析

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

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


git

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

概况

ColumnCount包属于服务端返回ResultSet时的其中一部分包。

mysql通信报文结构

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

ColumnCount包

Payload

Protocol::LengthEncodedInteger

更多详情 : http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-ProtocolText::ResultsetRow

ColumnCount包类

/**
 * 
 * <pre><b>column count 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 ColumnCountPacket extends MySQLPacket {

    public int columnCount;    
    public void read(byte[] data) {
        MySQLMessage mm = new MySQLMessage(data);        
        this.packetLength = mm.readUB3();        
        this.packetId = mm.read();        
        this.columnCount = (int) mm.readLength();
    }    
    @Override
    public void write(ByteBuffer buffer) {        
    int size = calcPacketSize();
        BufferUtil.writeUB3(buffer, size);
        buffer.put(packetId);
        BufferUtil.writeLength(buffer, columnCount);
    }    
    @Override
    public int calcPacketSize() {        
    int size = BufferUtil.getLength(columnCount);        
    return size;
    }    @Override
    protected String getPacketInfo() {        
    return "MySQL Column Count Packet";
    }

}

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

分享到: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实例优化ORACLE数据库性能
  • 2018-12-05关于反引号的8篇文章推荐
  • 2017-05-11Mysql SQL服务器模式介绍
  • 2018-12-05sqlserver中在指定数据库的所有表的所有列中搜索给定的值
  • 2018-12-05讲解更新锁(U)与排它锁(X)的相关知识
  • 2018-12-05设计数据库的一般步骤及例子
  • 2018-12-05SQL Server 2005 模板参数使用说明
  • 2018-12-05【MySQL数据库】第二章解读:MySQL基准测试
  • 2018-12-05分享一个MySQL 密码增强插件
  • 2018-12-05详解MySQL高可用MMM搭建方案及架构原理_MySQL

文章分类

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

最近更新的内容

    • MySQL 分组后取时间最新记录
    • MySQL笔记之连接查询详解
    • SQL Server 总结复习(一)
    • Windows Server 2003 下配置 MySQL 集群(Cluster)教程
    • mysql压力测试脚本实例
    • Mysql存储引擎InnoDB和Myisam的六大区别
    • MySQL之——MS主从复制(读写分离)实现
    • sqlserver 行列互转实现小结
    • 关于MySQL中REGEXP正则表达式使用小结
    • Mysql优化与索引总分析【图解】

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

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