跳到主要内容

CREATE DICTIONARY

引入或更新: v1.2.636

使用指定的源创建一个字典。

语法

CREATE [ OR REPLACE ] DICTIONARY [ IF NOT EXISTS ] <dictionary_name>
(
<column_name1> <data_type1> [ DEFAULT <default-value-1> ],
<column_name2> <data_type2> [ DEFAULT <default-value-2> ],
...
)
PRIMARY KEY <primary_key_column>
SOURCE(<source_type>(<source_parameters>))
参数描述
<dictionary_name>字典的名称。
<column_name>字典中列的名称。
<data_type>列中存储的数据类型。
<default-value>指定列的默认值,以防在从源填充字典时未提供值。
<primary_key_column>用于快速查找的主键列。此键应对应于字典中每个条目的唯一值。
<source_type>指定数据源类型,MYSQLREDIS
<source_parameters>定义指定源类型所需的配置参数。

MySQL 参数

下表列出了配置 MySQL 数据源所需的必填和可选参数:

参数必填?描述
hostMySQL 服务器的 IP 地址或主机名。
portMySQL 服务器正在监听的端口。
username用于连接 MySQL 服务器的用户名。
password与用户名关联的密码,用于访问 MySQL 服务器。
dbMySQL 服务器上数据库的名称,数据将从该数据库中提取。
table数据库中数据所在的表的名称。

Redis 参数

下表列出了配置 Redis 数据源所需的必填和可选参数:

参数必填?描述
hostRedis 服务器的主机名或 IP 地址。
portRedis 服务器的端口号。
username如果 Redis 服务器需要用户认证,则为用户名。
password用户认证的密码。
db_index指定 Redis 数据库索引,默认值为 0。索引范围从 0 到 15,因为 Redis 支持从 0 到 15 索引的 16 个数据库。

示例

以下示例使用 MySQL 数据库中的数据创建一个名为 courses_dict 的字典:

CREATE DICTIONARY courses_dict
(
course_id INT,
course_name STRING
)
PRIMARY KEY course_id
SOURCE(MYSQL(
host='localhost'
port='3306'
username='root'
password='123456'
db='test'
table='courses'
));

以下示例使用 Redis 数据源中的数据创建一个名为 student_name_dict 的字典:

CREATE DICTIONARY student_name_dict
(
student_id STRING,
student_name STRING
)
PRIMARY KEY student_id
SOURCE(REDIS(
host='127.0.0.1'
port='6379'
));
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册