在PHP中操作ClickHouse数据库时,主要使用ClickHouse库提供的数据类型。以下是一些常用的ClickHouse数据类型及其在PHP中的表示:
数值类型:
Int32:32位整数。Int64:64位整数。Float32:32位浮点数。Float64:64位浮点数。Decimal32:定点32位小数。Decimal64:定点64位小数。DateTime:日期时间类型,表示UTC时间。字符串类型:
String:可变长度的字符串类型。FixedString:固定长度的字符串类型。数组类型:
Array(T):数组类型,其中T是元素类型。Nested:嵌套数组类型,用于表示多维数组。枚举类型:
Enum8:8位枚举类型。Enum16:16位枚举类型。Enum32:32位枚举类型。UUID类型:
UUID:通用唯一标识符类型。其他类型:
Void:空类型,表示没有值。Nullable(T):可空类型,T可以是任何类型,表示可以为空。LowCardinality(T):低基数类型,适用于具有有限可能值的列。在PHP中,你可以使用ClickHouse库提供的类和方法来处理这些数据类型。例如,创建一个包含Int32和String列的表:
use ClickHouse\ClickHouse;
$clickHouse = new ClickHouse();
$clickHouse->addTable('my_table', [
'columns' => [
'id' => 'Int32',
'name' => 'String',
],
]);
然后,你可以插入数据并查询这些数据:
$clickHouse->insert('my_table', [
'id' => 1,
'name' => 'John Doe',
]);
$result = $clickHouse->select('SELECT * FROM my_table');
foreach ($result as $row) {
echo "ID: {$row['id']}, Name: {$row['name']}\n";
}
请注意,以上示例中的代码需要先安装ClickHouse PHP库。你可以使用Composer进行安装:
composer require clickhouse/clickhouse