每日总结15

HBase学习8(phoenix创建删除表、数据增删改查、数据分页查询)

1.建表

在Phoenix中,我们可以使用类似于MySQL DDL的方式快速创建表。例如:

CREATE TABLE IF NOT EXISTS 表名 (

   ROWKEY名称 数据类型 PRIMARY KEY

列族名.列名1 数据类型 NOT NULL,

列族名.列名2 数据类型 NOT NULL,

列族名.列名3 数据类型);

 

复制代码
复制代码
CREATE TABLE IF NOT EXISTS ORDER_DTL(
    id varchar PRIMARY key,
    C1.status varchar,
    C1.money double,
    C1.pay_way integer,
    C1.user_id varchar,
    C1.operation_time varchar,
    C1.category varchar
);
复制代码
复制代码

把代码复制到虚拟机中,!tables查看是否成功建表。

 2.查看表信息

!desc ORDER_DTL

发现列名全都变为大写字母了,是因为在建表的时候我们是C1.列名如C1.money,如果想要列名是小写,需要加上双引号即,且任何SQL语句都需要加引号

CREATE TABLE IF NOT EXISTS ORDER_DTL(
    "id" varchar PRIMARY key,
    C1."status" varchar,
    C1."money" double,
    C1."pay_way" integer,
    C1."user_id" varchar,
    C1."operation_time" varchar,
    C1."category" varchar
);

 3.删除表

drop TABLE if EXISTS ORDER_DTL;

4.插入数据

在Phoenix中,插入并不是使用insert来实现的。而是 「upsert 」命令。它的功能为insert + update,与HBase中的put相对应。

 

upsert into ORDER_DTL values('000001','已提交',4070,1,'4944191','2020-04-25 12:09:16','手机');

 

5.查询数据

 

select * from ORDER_DTL;

查询指定数据

select * from ORDER_DTL where id = '000001';

 

 6.更新数据

在Phoenix中,更新数据也是使用UPSERT。语法格式如下:

UPSERT INTO 表名(列名, …) VALUES(对应的值, …);

upsert into ORDER_DTL(id, C1.status) values('000001','已付款');

7.删除指定数据

-- 删除
delete from ORDER_DTL where id = '000001';

8.分页查询数据

使用limitoffset可以快速进行分页。

limit表示每页多少条记录,offset表示从第几条记录开始查起。

规律:

select * from ORDER_DTL limit 10 offset (n-1)*10
例子:
-- 第一页
select * from ORDER_DTL limit 10 offset 0;
-- 第二页
-- offset从10开始
select * from ORDER_DTL limit 10 offset 10;
-- 第三页
select * from ORDER_DTL limit 10 offset 20;
posted @   意い十三章  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示