一、建表
CREATE TABLE doris (
pr_key_id INT8 PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
user_id INT8 NOT NULL COMMENT '用户编号',
name VARCHAR(255) COMMENT '名称',
int_rate VARCHAR(255) COMMENT '利率'
);
AGGREGATE KEY(pr_key_id, name)
DISTRIBUTED BY HASH(pr_key_id ) BUCKETS 10
PROPERTIES("replication_num" = "1");
1、pr_key_id 列被定义为 AUTO_INCREMENT,这样每次插入一条新记录时,
pr_key_id 将自动递增,无需手动指定。请注意,DorisDB中默认的自增列类型是 BIGINT。
2、DISTRIBUTED BY HASH(id) BUCKETS 10
是 DorisDB 中用于指定表格数据如何在分布式环境中进行分布的语法。
这一语法的作用包括以下几个方面:
2.1:数据分布: DISTRIBUTED BY HASH(id) 指示 DorisDB 使用 id 列的哈希值来决定将数据分布到不同的节点或桶中。哈希分布的方式有助于将相似 siteid 值的数据存储在相邻的节点上,从而提高查询性能。每个哈希桶包含一组 id 值的数据。
2.2:桶的数量: BUCKETS 10 指定了分布的桶的数量为 10。这表示数据将被分成 10 个桶,每个桶中包含部分数据。通过调整桶的数量,你可以控制数据在不同节点之间的均匀分布,以及查询时的并行性。
2.3:这样的数据分布设计有助于避免热点数据集中在某一个节点上,提高查询性能和并行处理能力。然而,需要注意的是,适当的桶数和分布键的选择应该根据实际数据分布和查询模式进行调整。过少的桶可能导致负载不均衡,而过多的桶可能增加维护成本。
总体而言,DISTRIBUTED BY HASH 语法用于定义在分布式环境中如何分布表格数据,以优化查询性能。
3、PROPERTIES("replication_num" = "1")
是 DorisDB 中用于指定表格的一些属性的语法。在这个具体的例子中,replication_num 属性被设置为 1,表示该表的数据将被复制到一个备份中,以提高数据的可靠性。
二、添加表字段
ALTER TABLE example_tbl ADD COLUMN TEST_ADD_COL INT DEFAULT 0 AFTER iscompleted;
为 doris 表中添加一个名为 TEST_ADD 的列,其数据类型为整数 (INT),
并设置默认值为 '0',并将其添加在 iscompleted 列之后。
三、修改表字段
1、修改字段名
ALTER TABLE your_table
CHANGE COLUMN old_column_name new_column_name NEW_DATA_TYPE;
即:替换 your_table 为你的表名,old_column_name 为原始字段名,
new_column_name 为新字段名,NEW_DATA_TYPE 为新字段的数据类型。示例:
ALTER TABLE example_tbl
CHANGE COLUMN old_column_name new_column_name INT;
在这个示例中,我将 example_tbl 表中的 old_column_name 字段名修改为
new_column_name,同时将数据类型设置为整数(INT)
ALTER TABLE your_table
CHANGE COLUMN old_column_name new_column_name INT NOT NULL DEFAULT 0;
在这个示例中,替换 your_table 为你的表名,old_column_name 为原始字段名,
new_column_name 为新字段名。我设置了新字段的数据类型为整数(INT),
并添加了 NOT NULL 和 DEFAULT 0 约束,确保新字段不能为空且默认值为 0。
2、修改表字段类型
ALTER TABLE your_table
CHANGE COLUMN old_column_name new_column_name VARCHAR(100) NOT NULL DEFAULT '';
在这个示例中,替换 your_table 为你的表名,
old_column_name 为原始字段名,new_column_name 为新字段名。
我设置了新字段的数据类型为 VARCHAR(100),
并添加了 NOT NULL 和 DEFAULT '' 约束,
确保新字段不能为空且默认值为空字符串。
3、对表字段添加备注
ALTER TABLE your_table
CHANGE COLUMN your_column_name your_column_name VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'Your comment here';
在这个示例中,替换 your_table 为你的表名,your_column_name 为要修改的字段名。
在 CHANGE COLUMN 子句中,我设置了新字段的数据类型为 VARCHAR(100),
并添加了 NOT NULL 和 DEFAULT '' 约束,同时使用 COMMENT 添加了字段的备注信息。