Cassandra CQL 用户定义的数据类型

🌙
手机阅读
本文目录结构

CQL 提供了创建和使用用户定义的数据类型的功能。您可以创建一个数据类型来处理多个字段。本章介绍如何创建,更改和删除用户定义的数据类型。

创建用户定义的数据类型

命令 CREATE TYPE 用于创建用户定义的数据类型。其语法如下:

CREATE TYPE .
( variable1, variable2).

示例

下面给出了创建用户定义数据类型的示例。在此示例中,我们正在创建一个包含以下详细信息的 card_details 数据类型。

字段 字段名称 数据类型
credit card no num int
credit card pin pin int
name on credit card name text
cvv cvv int
Contact details of card holder phone set
cqlsh:tutorialspoint> CREATE TYPE card_details (
   ... num int,
   ... pin int,
   ... name text,
   ... cvv int,
   ... phone set
... );

**注:**用于用户定义数据类型的名称不应与保留类型名称一致。

验证

使用DESCRIBE命令验证是否已创建创建的类型。

CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set
   );

更改用户定义的数据类型

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,
   );

在类型中重命名字段

使用以下语法重命名现有的用户定义数据类型。

ALTER TYPE typename
RENAME existing_name TO new_name;

以下代码更改类型中字段的名称。这里我们将字段电子邮件重命名为邮件。

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,
   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



AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>