Doris 用户操作语句速览
Doris 常用 SQL 语句快速浏览,记录常用SQL,方便阅读查询,命令记录还不完整,后续会持续更新。
关于各命令的详细参数参考官网.
连接 Fe
使用mysql client
mysql -h FE_HOST -P9030 -uroot
用户操作
1.创建用户
CREATE USER 'test' IDENTIFIED BY 'test_passwd';
2.删除用户
3.用户授权
GRANT ALL ON database TO user;
4.修改用户密码
SET PASSWORD FOR 'root' = PASSWORD('your_password');
库操作
1.建库
CREATE DATABASE db_name;
2.选中库
USE db_name;
3.删除库
DROP DATABASE db_name
4.查看库
SHOW DATABASES;
数据操作
1.删除数据
DELETE FROM table PARTITION partition WHERE culumn_name = "test"
表操作
1.建表
CREATE TABLE table2
(
event_day DATE,
siteid INT DEFAULT '10',
citycode SMALLINT,
username VARCHAR(32) DEFAULT '',
pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, siteid, citycode, username)
PARTITION BY RANGE(event_day)
(
PARTITION p201706 VALUES LESS THAN ('2017-07-01'),
PARTITION p201707 VALUES LESS THAN ('2017-08-01'),
PARTITION p201708 VALUES LESS THAN ('2017-09-01')
)
DISTRIBUTED BY HASH(siteid) BUCKETS 10
PROPERTIES("replication_num" = "1");
2.删除表
DROP TABLE table_name;
3.替换表
// swap 为 false 会删除替换后的表,为 true 则保留两个表
ALTER TABLE table_1 REPLACE WITH TABLE table_2 PROPERTIES('swap' = 'false');
说明:替换表操作实际只是对两个表进行了表名的重名替换,即 A 表重命名为 B, B表重命名为 A。
4.查看partition
SHOW PARTITIONS FROM Didabu.log_event;
5.增加列
ALTER TABLE db_name.table_name ADD COLUMN column_name bigint(20) default "0";
6.删除列
ALTER TABLE db_name.table_name DROP COLUMN column_name;
7.查看表结构及rolluop、物化视图
desc Didabu.test all
Rollup
1.创建
ALTER TABLE db_name.table_name ADD ROLLUP rollup_name(field_1,field_2,...);
2.删除
3.查看
SHOW ALTER TABLE ROLLUP FROM db_name;
物化视图
物化视图只能建立在 duplicate 模型上
1.创建
CREATE MATERIALIZED VIEW mv_name AS SELECT field_1, sum(field_2) FROM table_name GROUP BY field_1;
2.删除
DROP MATERIALIZED VIEW mv_name ON db_name.table_name;
3.查看
SHOW ALTER TABLE MATERIALIZED VIEW FROM db_name;
be 相关操作
1.添加 be
ALTER SYSTEM ADD BACKEND "172.31.43.204:9050";
2.删除 be
强制删除
ALTER SYSTEM DROPP BACKEND "172.31.43.204:9050";
3.查看 be
SHOW backends;
数据删除恢复
DorisDB 支持对误删除的数据库/表/分区进行数据恢复,在 drop table 或者 drop database 之后,DorisDB 不会立刻对数据进行物理删除,而是在Trash中保留一段时间(默认1天),管理员可以通过RECOVER命令对误删除的数据进行恢复
-- 1) 恢复 database
RECOVER DATABASE db_name;
-- 2) 恢复 table
RECOVER TABLE [db_name.]table_name;
-- 3) 恢复 partition
RECOVER PARTITION partition_name FROM [db_name.]table_name;
说明
该操作仅能恢复之前一段时间内删除的元信息。默认为 1 天。(可通过fe.conf中catalog_trash_expire_second参数配置)
如果删除元信息后新建立了同名同类型的元信息,则之前删除的元信息不能被恢复