Для собственных нужд нашей компании, начали разработку PHP клиента ClickHouse.
На данный момент, клиент в процессе разработки, но уже кое-что умеет.
В планах сделать мощный клиент, покрывающий максимальное кол-во потребностей, включая query builder и тд
Естественно Open-source, лицензия MIT.
Будем рады, любому участию в проекте.
Присылайте Pull requests, задавайте вопросы, пожелания, ну или просто используйте для собственных нужд.
Packagist: https://packagist.org/packages/8bitov/clickhouse-php-client
GitHub: https://github.com/8bitov/clickhouse-php-client
Документация(пока пустая): https://clickhouse.readme.io/
<?php
$this->client = new \ClickHouse\Client('http://127.0.0.1', 8123);
//создаем таблицу
$this->client->execute('CREATE TABLE t (num UInt8) ENGINE = Memory');
//вставляем данные
$this->client->insert('t', ['num'], [
[1],
[5],
[100]
]);
//или так
$this->client->execute('INSERT INTO t VALUES (1),(5),(100)');
//получаем записи из бд
$statement = $this->client->select('SELECT * FROM t');
//кол-во строк в результате
$statement->rowsCount()
//получаем массив записей
$all = $statement->fetchAll();
//обходим массив
foreach($all as $row)
{
echo $row->num; //1,5,100
}
//запрос в бд
$statement = $this->client->select('SELECT * FROM t WHERE num > :max', ['max' => 3]);
//кол-во строк в результате
$statement->rowsCount(); //2
//получаем массив записей
$all = $statement->fetchAll();
//обходим массив
foreach($all as $row)
{
echo $row->num; //5,100
}