每日总结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.分页查询数据
使用limit和offset可以快速进行分页。
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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署