siqwell/clickhouse

此包尚未发布版本,且信息很少。


README

https://clickhouse.yandex

创建客户端

$client = new \ClickHouse\Client('http://127.0.0.1', 8123);

检查服务器

$bool = $client->ping();

执行 SELECT 查询

$client->select($sql, $params);

$sql - 包含 sql 查询的字符串

$params - 用于参数绑定的数组

返回类型为 Statement 的对象

Statement 接口

getRawResult 返回原始数据,因为它们是由服务器返回的。

getResult 返回对象 stdClass 的数据

getMeta 返回元数据。列类型等

getTotals - 总计值(在查询中使用 WITH TOTALS 时)。

getExtremes - 极端值(在设置 extremes 为 1 时)。

getRows - 输出行总数。

getRowsBeforeLimitAtLeast - 如果没有 LIMIT,则至少有多少行。只有当查询包含 LIMIT 时才输出。

fetchAll - 返回包含所有行的数组

fetchOne - 返回第一行

fetchColumn - 返回指定列的值

执行 INSERT 查询

$client->insert($table, $columns = [], $values);

执行 BATCH INSERT 查询

执行 ALTER/CREATE/DROP 查询

$client->execute($sql);

系统查询

tables

关于表的信息,包含 database, name, engine 类型为 String 的列。

$client->system()->tables();

databases

关于数据库的信息

$client->system()->databases();

clusters

关于配置文件中配置的集群和集群中的服务器的信息。

$client->system()->clusters();

设置

// получить значение настроки
$client->settings()->max_memory_usage;

// изменить настройку для текущий сессии
$client->settings()->max_memory_usage = 10G;