
- Cassandra 教程
- Cassandra - 首頁
- Cassandra - 簡介
- Cassandra - 架構
- Cassandra - 資料模型
- Cassandra - 安裝
- Cassandra - 參考 API
- Cassandra - cqlsh
- Cassandra - Shell 命令
- Cassandra Keyspace 操作
- Cassandra - 建立 Keyspace
- Cassandra - 修改 Keyspace
- Cassandra - 刪除 Keyspace
- Cassandra 表操作
- Cassandra - 建立表
- Cassandra - 修改表
- Cassandra - 刪除表
- Cassandra - 清空表
- Cassandra - 建立索引
- Cassandra - 刪除索引
- Cassandra - 批處理
- Cassandra CURD 操作
- Cassandra - 建立資料
- Cassandra - 更新資料
- Cassandra - 讀取資料
- Cassandra - 刪除資料
- Cassandra CQL 型別
- Cassandra - CQL 資料型別
- Cassandra - CQL 集合
- CQL 使用者自定義資料型別
- Cassandra 有用資源
- Cassandra - 快速指南
- Cassandra - 有用資源
- Cassandra - 討論
Cassandra - CQL 使用者自定義資料型別
CQL 提供了建立和使用使用者自定義資料型別的功能。您可以建立一個數據型別來處理多個欄位。本章解釋如何建立、修改和刪除使用者自定義資料型別。
建立使用者自定義資料型別
命令 `CREATE TYPE` 用於建立使用者自定義資料型別。其語法如下:
CREATE TYPE <keyspace name>. <data typename> ( variable1, variable2).
示例
下面是一個建立使用者自定義資料型別的示例。在這個例子中,我們正在建立一個包含以下詳細資訊的 `card_details` 資料型別。
欄位 | 欄位名稱 | 資料型別 |
---|---|---|
信用卡號 | num | int |
信用卡密碼 | pin | int |
信用卡持卡人姓名 | name | text |
cvv | cvv | int |
持卡人聯絡方式 | phone | set |
cqlsh:tutorialspoint> CREATE TYPE card_details ( ... num int, ... pin int, ... name text, ... cvv int, ... phone set<int> ... );
**注意** - 使用者自定義資料型別使用的名稱不應與保留型別名稱衝突。
驗證
使用 `DESCRIBE` 命令驗證是否已建立該型別。
CREATE TYPE tutorialspoint.card_details ( num int, pin int, name text, cvv int, phone set<int> );
修改使用者自定義資料型別
`ALTER TYPE` 命令用於修改現有資料型別。使用 ALTER,您可以新增新欄位或重新命名現有欄位。
向型別新增欄位
使用以下語法向現有使用者自定義資料型別新增新欄位。
ALTER TYPE typename ADD field_name field_type;
以下程式碼向 `Card_details` 資料型別新增一個新欄位。這裡我們新增一個名為 email 的新欄位。
cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;
驗證
使用 `DESCRIBE` 命令驗證是否已新增新欄位。
cqlsh:tutorialspoint> describe type card_details; CREATE TYPE tutorialspoint.card_details ( num int, pin int, name text, cvv int, phone set<int>, );
重新命名型別中的欄位
使用以下語法重新命名現有使用者自定義資料型別。
ALTER TYPE typename RENAME existing_name TO new_name;
以下程式碼更改型別中欄位的名稱。這裡我們將欄位 email 重新命名為 mail。
cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;
驗證
使用 `DESCRIBE` 命令驗證型別名稱是否已更改。
cqlsh:tutorialspoint> describe type card_details; CREATE TYPE tutorialspoint.card_details ( num int, pin int, name text, cvv int, phone set<int>, mail text );
刪除使用者自定義資料型別
`DROP TYPE` 是用於刪除使用者自定義資料型別的命令。下面是一個刪除使用者自定義資料型別的示例。
示例
在刪除之前,使用 `DESCRIBE_TYPES` 命令驗證所有使用者自定義資料型別的列表,如下所示。
cqlsh:tutorialspoint> DESCRIBE TYPES; card_details card
從這兩種型別中,刪除名為 `card` 的型別,如下所示。
cqlsh:tutorialspoint> drop type card;
使用 `DESCRIBE` 命令驗證資料型別是否已刪除。
cqlsh:tutorialspoint> describe types; card_details
廣告