一、DATABASE操作语法
1、创建数据库
CREATE DATABASE [IF NOT EXISTS] database_name;
2、删除数据库
DROP DATABASE [IF EXISTS] database_name;
3、指定当前数据库
USE database_name;
4、查询现有数据库
SHOW databases;
5、查询当前数据库
select database();
二、TABLE类型和操作语法
1、表类型
- 复制表
- 随机分布表:数据均匀分布,需要遍历所有节点
- hash分布表:不保证数据均匀分布,确定性分布可预知
2、设计原则
- 大表推荐建成hash分布表
- 小表建成复制表
- 频繁跟其他表做等值join连接的表建成复制表
3、创建表
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] [database_name.]table_name
(column_name data_type [,column_name data_type][NOT NULL|NULL][DEFAULT default_value][COMPRESS(数值)][COMMENT])[REPLICATED|DISTRIBUTED BY ('column_name')][COMPRESS(数值型,字符型)][COMMENT]
注:查看COMMENT备注信息可用SHOW CREATE TABLE table_name和SHOW_FULL COLUMNS FROM table_name语句。
COMPRESS压缩方式,数值型有0、1、5,字符型有0、3、5。0表示不压缩,1表示对数值型深度压缩,3表示对字符型深度压缩,5表示轻度压缩
4、分布表
- 默认创建的表是随机分布表,数据平均分布在集群的所有运算节点,每个节点只保留部分表数据。
- hash分布表能实现相同数据在同一节点上,查询速度快,但是有数据倾斜的风险,大表建议建成hash分布表。hash分布列选取原则和限制:
- 表中某列常用于JOIN等值关联
- 通常是等值查询的列,使用频率高
- 做group by操作时,分组字段
- 重复值较少的列
- 只支持INT,BIGINT,varchar,decimal数据类型
- 不允许进行update操作
- 可选取多列为分布列,最多可支持10列
5、复制表
- 存在于各个节点上,每个节点都有相同的表和数据
- 使用REPLICATED关键字来创建复制表
- 不用拉表即可实现本地运算,效率高
- 小表(维度表)可以被创建成复制表
- 频繁JOIN查询的表可被创建成复制表
6、临时表
- 使用TEMPORARY关键字来创建临时表
- 在当前连接中有效,连接关闭后表自动被删除
- 可以是随机分布表、hash分布表、复制表中的任意一种
- 支持除ALTER之外的所有DDL及DML操作
- 不能被备份
7、表复制操作
(1)表结构和数据复制
CREATE TABLE table_name [REPLICATED][DISTRIBUTED BY][AS]SELECT...;
(2)表结构复制
- 根据列定义创建新的表结构
CREATE TABLE table_name [REPLICATED][DISTRIBUTED BY][AS]SELECT...limit 0;
- 只创建表结构,目标表和源表类型一致
CREATE TABLE table_name2 LIKE table_name1;
8、修改表操作
ALTER TABLE [ADD...]|[CHANGE...]|[MODIFY...]|[DROP...]|[RENAME...]|[SHRINK SPACE]|[ALTER...COMPRESS...]
注:不支持改变列类型、列属性、表字符集,varchar类型可改变长度只能改大不能改小。
字段类型的修改方法:增加新列—>update新列值—>移动新列到指定位置—>老列重命名—>新列重命名—>删除老列
9、预租磁盘
- 预先批量分配磁盘块,尽量保证列的DC数据文件磁盘块连续,在顺序读取列DC数据时,有助于性能提升
- 创建表时,可以指定表的自动扩展大小
- 预租空间大小在[1M,2G]范围内
操作语法:
- 创建预租磁盘空间
CREATE TABLE [IF NOT EXISTS] table_name (col_type) AUTOEXTEND ON NEXT NUM[M/G];
- 修改预租磁盘空间
ALTER TABLE table_name AUTOEXTEND ON NEXT NUM[M/G];
- 关闭预租磁盘空间
ALTER TABLE table_name AUTOEXTEND OFF;
最后修改时间:2021-07-08 23:06:31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。