跳到主要内容

CREATE DICTIONARY

创建一个字典。

语法

CREATE [ OR REPLACE ] DICTIONARY [ IF NOT EXISTS ] [ <catalog_name>. ][ <database_name>. ]<dictionary_name>
(
<column_name> <data_type> [ , <column_name> <data_type> , ... ]
)
PRIMARY KEY <column_name> [ , <column_name> , ... ]
SOURCE(
<source_name>(
<source_option> = '<value>' [ <source_option> = '<value>' ... ]
)
)
[ COMMENT '<comment>' ]

参数

参数说明
OR REPLACE如果同名字典已存在,则替换它。
IF NOT EXISTS如果字典已存在,则成功返回但不做修改。
<dictionary_name>字典名称。可以带上 catalog 和 database 限定。
(<column_name> <data_type>, ...)定义字典的列结构。
PRIMARY KEY定义一个或多个用于字典查找的主键列。
SOURCE(...)定义数据源连接器名称及其键值参数。
COMMENT可选的字典备注。
备注
  • SOURCE 仅支持 MySQLRedis

示例

MySQL 示例:

CREATE DICTIONARY user_info
(
user_id UInt64,
user_name String,
user_email String
)
PRIMARY KEY user_id
SOURCE(
mysql(
host = '127.0.0.1'
port = '3306'
username = 'root'
password = 'root'
db = 'app'
table = 'users'
)
)
COMMENT 'User dictionary from MySQL';

Redis 示例:

CREATE DICTIONARY cache
(
key String,
value String
)
PRIMARY KEY key
SOURCE(
redis(
host = '127.0.0.1'
port = '6379'
)
)
COMMENT 'cache dictionary from Redis';
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验