卡桑德拉的数据类型 (Kǎ sāng dé lā de shù jù lèi xíng)

首先

image.png

来源:https://db-engines.com/en/ranking

数据类型

以下是数据类型的种类,做个备注:
・原生类型
・集合类型
・用户定义类型
・元组类型
・自定义类型

本地类型

    • ASCII

 

    • BIGINT: 64bit

 

    • BLOB

 

    • BOOLEAN

 

    • COUNTER

 

    • DATE

 

    • DECIMAL

 

    • DOUBLE

 

    • DURATION

 

    • FLOAT

 

    • INET

 

    • INT: 32bit

 

    • SMALLINT: 16bit

 

    • TEXT: UTF8 encoded string

 

    • TIME

 

    • TIMESTAMP

 

    • TIMEUUID

 

    • TINYINT: 8bit

 

    • UUID

 

    • VARCHAR: Textと同じ。UTF8 encoded string

 

    VARINT: 任意精度の整数

收藏类别

如果希望进行嵌套操作,定义一个集合类型会很方便。

    Map

样本

CREATE TABLE users (
    id text PRIMARY KEY,
    name text,
    read_books map<text, text> // isbn:本名
);
INSERT INTO users (id, name, read_books)
           VALUES ('tanaka', '田中 太郎', { '978-4873115290' : 'Cassandra', '978-4873112565' : 'Apacheセキュリティ' });
    Set

定义示例:标签集合 ⇒ 值示例:{“20岁代”, “男性”}
更新示例1:标签 = 标签 – { ’20岁代’, ‘男性’ }
更新示例2:标签 = 标签 + { ’30岁代’, ‘女性’ }

    List

定义例:分数列表 ⇒ 值例:[10, 5, 15, 20]。
更新例1:分数 = 分数 – [10, 15]
更新例2:分数 = 分数 + [12, 18]
更新例3:分数[0] = 16

用户定义的类型

CREATE TYPE address (
    street text,
    city text,
    zip text,
    phones map<text, text>
)

CREATE TABLE user (
    name text PRIMARY KEY,
    addresses map<text, address>
)

元组类型

CREATE TABLE durations (
    event text,
    duration tuple<int, text>,
)

INSERT INTO durations (event, duration) VALUES ('event1', (3, 'hours'));

自定义类型

不建议使用

数据类型:http://cassandra.apache.org/doc/latest/cql/types.html

以上

广告
将在 10 秒后关闭
bannerAds