Cassandra 教程

Cassandra键空间操作

Cassandra表操作

Cassandra数据CRUD操作

Cassandra CQL数据类型

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/cassandra-alter-table.html

Cassandra修改表


ALTER TABLE命令用于在创建表后更改表。您可以使用ALTER命令执行两种操作:

  • 添加一列
  • 删除一列

语法:

ALTER (TABLE | COLUMNFAMILY) <tablename> <instruction>

添加一列

您可以使用ALTER命令在表中添加一列。在添加列时,您必须知道列名称与现有列名称不冲突,并且表不使用紧凑存储选项进行定义。
语法:

ALTER TABLE table name  
ADD new column datatype;

示例:

现在举个例子来说明在已经创建的名为“student”的表上使用ALTER命令。这里我们在名为student的表中添加一个名为 student_email 的文本数据类型列。

使用以下命令后:

ALTER TABLE student ADD student_email text;

执行上面命令添加一个新列。您可以使用SELECT命令检查它。

cqlsh> use yiibai_ks;
cqlsh:yiibai_ks>
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_fees | student_name | student_phone
------------+--------------+--------------+--------------+---------------

(0 rows)
cqlsh:yiibai_ks> ALTER TABLE student ADD student_email text;
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_email | student_fees | student_name | student_phone
------------+--------------+---------------+--------------+--------------+---------------

(0 rows)
cqlsh:yiibai_ks>

删除一列

您还可以使用ALTER命令从表中删除现有的列。在从表中删除列之前,应该检查表是否没有使用紧凑存储选项进行定义。

语法:

ALTER table name  DROP column name;

示例:

让我们举个例子,从名为student的表中删除一个名为student_email的列。

使用以下命令后:

ALTER TABLE student DROP student_email;

现在,您可以看到student表中名为“student_email”的列现在已被删除。如果要删除多个列,请使用“”分隔列名。

cqlsh:yiibai_ks> ALTER TABLE student ADD student_email text;
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_email | student_fees | student_name | student_phone
------------+--------------+---------------+--------------+--------------+---------------

(0 rows)
cqlsh:yiibai_ks> ALTER TABLE student DROP student_email;
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_fees | student_name | student_phone
------------+--------------+--------------+--------------+---------------

(0 rows)
cqlsh:yiibai_ks>

看这个例子:

这里我们将删除以下两列:student_feesstudent_phone

ALTER TABLE student DROP (student_fees, student_phone);

输出结果如下所示 -

cqlsh:yiibai_ks> ALTER TABLE student DROP student_email;
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_fees | student_name | student_phone
------------+--------------+--------------+--------------+---------------

(0 rows)
cqlsh:yiibai_ks> ALTER TABLE student DROP (student_fees, student_phone);
cqlsh:yiibai_ks> select * from student;

 student_id | student_city | student_name
------------+--------------+--------------

(0 rows)
cqlsh:yiibai_ks>