phoenix对表的操作,看似根其他sql差不多,但是总感觉很变扭。特别是不加双引号默认大写,值必须用单引号。
1,phoenix schema操作
//创建schema
create schema "tank_schema";
//删除schema
drop schema if exists "tank_schema";
//切换schema
use "tank_ns";
//查看所有schema( //创建schema就是hbase的namespace)
list_namespace
2,phoenix 表 操作
//创建表
CREATE TABLE "tank_schema"."test1" (
id BIGINT not null primary key,
date Date
);
//添加字段
alter table "tank_schema"."test1" add "sex" varchar(18);
//删除字段
ALTER TABLE "tank_schema"."test1" drop column "sex";
//创建多主健表,not null必须是主键之一
CREATE TABLE "tank_schema"."test" (
id BIGINT not null,
pid BIGINT not null,
date Date,
constraint pk primary key(id, pid)
)SALT_BUCKETS = 8;
//删除表
drop table "tank_schema"."test";
| 字段类型 | 映射的类 | 值的范围 | 占用字节 |
|---|---|---|---|
| INTEGER | java.lang.Integer | -2147483648 到 2147483647 | 4字节 |
| UNSIGNED_INT | java.lang.Integer | 0 到 2147483647 | 4字节 |
| BIGINT | java.lang.Long | -9223372036854775808 到 9223372036854775807 | 8字节 |
| UNSIGNED_LONG | java.lang.Long | 0 到 9223372036854775807 | 8字节 |
| TINYINT | java.lang.Byte | -128 到 127 | 1字节 |
| UNSIGNED_TINYINT | java.lang.Byte | 0 到 127 | 1字节 |
| SMALLINT | java.lang.Short | -32768 到 32767 | 2字节 |
| UNSIGNED_SMALLINT | java.lang.Short | 0 到 32767 | 2字节 |
| FLOAT | java.lang.Float | -3.402823466 E + 38 到 3.402823466 E + 38 | 4字节 |
| UNSIGNED_FLOAT | java.lang.Float | 0到3.402823466 E + 38 | 4字节 |
| DOUBLE | java.lang.Double | -1.7976931348623158 E + 308 到 1.7976931348623158 E + 308 | 8字节 |
| UNSIGNED_DOUBLE | java.lang.Double | 0 到 1.7976931348623158 E + 308 | 8字节 |
| DECIMAL 或 DECIMAL(precisionInt , scaleInt) | java.math.BigDecimal | 最大精度为38位。可变长度 | |
| BOOLEAN | java.lang.Boolean | 0表示false,1表示true | 1字节 |
| TIME | java.sql.Time | 自纪元以来的毫秒数(基于时间GMT) | 8字节 |
| UNSIGNED_TIME | java.sql.Time | 格式为 yyyy-MM-dd hh:mm:ss | 8字节 |
| DATE | java.sql.Date | 自纪元以来的毫秒数(基于时间GMT) | 8字节 |
| UNSIGNED_DATE | java.sql.Date | 格式为 yyyy-MM-dd hh:mm:ss | 8字节 |
| TIMESTAMP | java.sql.Timestamp | 自纪元以来的毫秒数(基于时间GMT) | 12字节(纪元时间长8字节加纳秒的4字节整数) |
| UNSIGNED_TIMESTAMP | java.sql.Timestamp | 格式为 yyyy-MM-dd hh:mm:ss[.nnnnnnnnn] | 12字节 |
| VARCHAR 或 VARCHAR(precisionInt) | java.lang.String | 可选的最大字节长度 | |
| CHAR(precisionInt) | java.lang.String | 固定长度字符串 | |
| BINARY(precisionInt) | byte[] | 原始固定长度字节数组 | |
| VARBINARY | byte[] | 原始可变长度字节数组 | |
| ARRAY 或 ARRAY[dimensionInt] | java.sql.Array |
3,创建view
//创建视图
CREATE VIEW "tank_user_view" AS SELECT * FROM "tank_ns"."user";
//删除视图
drop view "tank_user_view";
4,表的增,删,改,查
//创建表
CREATE TABLE "tank_schema"."test2" (
id BIGINT not null primary key,
pid BIGINT,
name varchar
)SALT_BUCKETS = 8;
//插入数据
UPSERT INTO "tank_schema"."test2" ("id", "pid", "name") VALUES ( 1,100,'tanktest');
//查询
select * from "tank_schema"."test2";
//更新数据
UPSERT INTO "tank_schema"."test2" ("id", "pid", "name") VALUES ( 1,100,'tank1');
//分页
select * from "tank_schema"."test2" limit 1 offset 1;
6,其他
- !list //查看phoenix连接是那台服务器
- !tables //查看所有表
- !describe "tank_ns"."user"; //查看表结构
- !columns "tank_ns"."user"; //查看列
- !indexes "tank_ns"."user"; //查看所有索引
- !help //帮助
- !quit //退出
本文详细介绍了Phoenix数据库的表创建、修改、查询、视图创建,以及表数据的增删改查操作,特别强调了其特有的命名规则和引号使用。
1万+

被折叠的 条评论
为什么被折叠?



