php-tdengine是一款TDengine的操作脚本库,基于php7开发。
application 项目目录
├── composer.json 项目的Composer文件
├── README.en.md README文档(EN)
├── README.md README文档
├── src 脚本开发目录
│ └── TDengine.php
├── test 测试目录
│ ├── dbs 测试用数据存放位置
│ │ └── demo.sql
│ └── TDengineTest.php
└── vendor Composer资源目录
└── ...
请查看对应的文档自行安装
-
安装完成后替换为
阿里源:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
## 导入TDengine库
Shell> cd ./test/dbs
Shell> taos -h <IP> -P <PORT> -u <USER> -p <PASS> -s "source ./demo.sql"
## 运行测试脚本(CLI)
Shell> composer install
Shell> cd ./test
Shell> php TDengineTest.php
方法表
| 方法 | 说明 | 是否链式 | 返回值 |
|---|---|---|---|
| getLastSql | 获取最后生成的SQL语句,无论语句是否成功执行 | 否 | String |
| table | 设置需要执行的数据表 | 是 | - |
| field | 设置需要查询的字段 | 是 | - |
| data | 设置插入数据 | 是 | - |
| where | 设置查询等方法作用的条件 | 是 | - |
| whereOr | 设置查询等方法作用的OR条件 | 是 | - |
| order | 设置数据排序方式 | 是 | - |
| limit | 设置分页和输出量 | 是 | - |
| drop | 执行数据表删除 | 否 | Boolean影响行数 rowCount()错误代码 error()错误信息 getError() |
| truncate | 执行清空表 | 否 | Boolean |
| query | 执行SQl语句 | 否 | Boolean影响行数 rowCount查询返回 rows()错误代码 error()错误信息 getError() |
| insert | 执行数据插入 | 否 | Boolean影响行数 rowCount()错误代码 error()错误信息 getError() |
| select | 执行数据查询 | 否 | Boolean影响行数 rowCount查询返回 rows()错误代码 error()错误信息 getError() |
| rows | 获取查询的结果数据集合 | 否 | Array |
| rowCount | 获取数据数量 | 否 | Int32 |
| error | 获取执行结果 | 否 | String |
| getError | 获取错误信息 | 否 | String |
示例
<?php require_once '../vendor/autoload.php'; use TDengine\TDengine; $config = [ 'td_host' => '127.0.0.1', // 地址 'td_port' => '6020', // 端口 'td_user' => 'root', // 用户 'td_pass' => 'root', // 密码 'td_name' => 'api_dev', // 库名 'td_prefix' => 'kc_', // 表前缀 ]; $td = new TDengine($config); // 执行query方法 $result = $td->query('SHOW DATABASES'); // 查看刚刚生成的SQL语句 $td->getLastSql(); // SHOW DATABASES if ($result) { $td->rows(); // 返回数据列表 $td->rowCount(); // 受影响行数 } else { $td->error(); // 错误代码 $td->getError(); // 错误信息 } // 执行select方法 $result = $td->table('s_history') ->field('ts, wd') ->where('ts', '>', '2019年09月04日 19:23:00') ->where('ts', '<', '2019年09月04日 19:24:00') ->order('ts', 'DESC') ->limit(0, 10) ->select(); $td->getlastsql(); // SELECT ts, wd FROM api_dev.kc_s_history WHERE ts > '2019-09-04 19:23:00' AND ts < '2019-09-04 19:24:00' ORDER BY ts DESC LIMIT 10 if ($result) { $td->rows(); // 返回数据列表 $td->rowcount(); // 受影响行数 } else { $td->error(); // 错误代码 $td->geterror(); // 错误信息 } // 执行insert方法 $result = $td->table('s_history')->data([ // 最恶心的东西就是这个时间戳 // 1. 主键 // 2. 新增数据时间不能小于表内已经存在的最大时间 // 3. 0表示的是获取当前时间 'ts' => '0', 'wd' => 'Fuck the world!', ])->insert(); $td->getlastsql(); // INSERT INTO api_dev.kc_s_history(ts,wd) VALUES('0','Fuck the world!') if ($result) { $td->rowcount(); // 受影响行数 } else { $td->error(); // 错误代码 $td->geterror(); // 错误信息 }
- v 1.0
- 基于TDengine的RESTful方式
- 实现了对TDengine库的基本增删改查
Kisschou©2019.China