操作列存储表
 
                  更新时间 2025-02-05 09:36:50
                 
 
                    最近更新时间: 2025-02-05 09:36:50
                  
 本页介绍天翼云TeleDB数据库操作列存储表结构的语法,包括插入数据、更新数据、删除数据,以及单表或多表查询。
 插入数据
列存表插入数据和行存表语法一致,使用insert into 语句对表插入数据,插入子查询的结果示例如下:
teledb=# insert into t1 select 1, i, 'c_' || i from generate_series(1,20) i;
INSERT 0 20
teledb=# select * from t1;
 a | b  |  c   
---+----+------
 1 |  1 | c_1
 1 |  2 | c_2
 1 |  3 | c_3
 1 |  4 | c_4
 1 |  5 | c_5
 1 |  6 | c_6
 1 |  7 | c_7
 1 |  8 | c_8
 1 |  9 | c_9
 1 | 10 | c_10
 1 | 11 | c_11
 1 | 12 | c_12
 1 | 13 | c_13
 1 | 14 | c_14
 1 | 15 | c_15
 1 | 16 | c_16
 1 | 17 | c_17
 1 | 18 | c_18
 1 | 19 | c_19
 1 | 20 | c_20
(20 rows)
更新数据
列存表更新数据和行存表语法一致,使用update 命令对指定列或多列数据进行更新,对 t1 表的 b 字段更新操作如下:
teledb=# update t1 set b = b + a;
UPDATE 20
teledb=# select * from t1;
 a | b  |  c   
---+----+------
 1 |  2 | c_1
 1 |  3 | c_2
 1 |  4 | c_3
 1 |  5 | c_4
 1 |  6 | c_5
 1 |  7 | c_6
 1 |  8 | c_7
 1 |  9 | c_8
 1 | 10 | c_9
 1 | 11 | c_10
 1 | 12 | c_11
 1 | 13 | c_12
 1 | 14 | c_13
 1 | 15 | c_14
 1 | 16 | c_15
 1 | 17 | c_16
 1 | 18 | c_17
 1 | 19 | c_18
 1 | 20 | c_19
 1 | 21 | c_20
(20 rows)
删除数据
列存表更新数据和行存表语法一致,使用delete 命令删除指定条件的行记录数据,删除 t1 表中 b 字段值小于 3 的操作如下:
teledb=# delete from t1 where b < 3;
DELETE 1
teledb=# select * from t1;
 a | b  |  c   
---+----+------
 1 |  3 | c_2
 1 |  4 | c_3
 1 |  5 | c_4
 1 |  6 | c_5
 1 |  7 | c_6
 1 |  8 | c_7
 1 |  9 | c_8
 1 | 10 | c_9
 1 | 11 | c_10
 1 | 12 | c_11
 1 | 13 | c_12
 1 | 14 | c_13
 1 | 15 | c_14
 1 | 16 | c_15
 1 | 17 | c_16
 1 | 18 | c_17
 1 | 19 | c_18
 1 | 20 | c_19
 1 | 21 | c_20
(19 rows)
单表查询
列存表更新数据和行存表语法一致,使用select 命令查询指定条件的行记录数据,查询 t1 表中 b 字段值大于 5 的操作如下:
teledb=# select * from t1 where b > 5 order by b desc limit 2;
 a | b  |  c   
---+----+------
 1 | 21 | c_20
 1 | 20 | c_19
(2 rows)
多表查询
列存表更新数据和行存表语法一致,使用select 和 join 命令查询指定条件的行记录数据,查询 t1 表和 t2 表中 a 字段值一样的操作如下:
teledb=# SELECT t1.b, t2.b FROM t1 JOIN t2 ON t1.a = t2.a limit 10;
 b | b  
---+----
 3 |  1
 3 |  2
 3 |  3
 3 |  4
 3 |  5
 3 |  6
 3 |  7
 3 |  8
 3 |  9
 3 | 10
(10 rows)
