handlersocket操作

安装handlersocket插件安装完之后创建一个test数据库表:

CREATE TABLE IF NOT EXISTS `test`.`t` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `a` varchar(10) NOT NULL,
  `b` varchar(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `a_b` (`a`,`b`)
) ENGINE=InnoDB;

协议说明:

常用的协议规范:

打开索引:P <索引标识> <数据库> <表> <索引> <字段>

插入数据:<索引标识> ‘+’ <参数个数> <参数1> … <参数N>

读取数据:<索引标识> <操作> <参数个数> <参数1> … <参数N> <条数> <偏移>

https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/blob/master/docs-en/protocol.en.txt

以前翻译过,不知道翻译完的那个搞哪去了。

>telnet 127.0.0.1 9999

Trying 127.0.0.1......

connected to 127.0.0.1.

Escape character is '^]'.

P    1    test    t    primary    id,a,b    //打开库索引

2    1    idxnum

//这里常创先这个问题是因为:primary后面跟着的也是Tab不是空格。

P    1    test    t    primary    id,a,b

0    1

//并且这里大小写是敏感的

//插入数据

//<id>    +    <vnum>    <v1>    <v2>    ...    <v3>   //vnum:参数个数

1    +    3    NULL    a1    b1

0    1    1      //0    1:表示成功    1表示:插入数据的id  

1    +    3    3    q1    w1   //指定id=3

0    1    0     //成功并0表示指定id不返回(上面返回)

//删除数据

//<id>    <op>    <vlen>    <v1>......<vn> [LIM][IN][FILTER ...] MOD

//id    比较符(=、>、<、>=、<=)    小于等于索引列的个数   参数    limit或者offset    IN    ...    U、D、+、-

2    >    1(vlen)    3(where)    1(LIM)    0    D    //delete from test.t where id > 3 limit1;

//更新数据

2    =    1(vlen)    3(where)    1(LIM)    0    U    3    aa    bb  //update test.t set a = "aa", b = "bb" where id = 3;

//查询数据

2    >=    1    5    3    0    //select id,a,b from test.t where id >= 5 limit 3;

0    3    5    a4    b4    7    a7    b7    8    NULL    NULL   //返回结果

支持简单的数据库操作,明儿看看封装api使用。

    

你可能感兴趣的:(handlersocket操作)