卡桑德拉的数据类型 (Kǎ sāng dé lā de shù jù lèi xíng)
首先
来源: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
以上