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 zaixian_ks;
cqlsh:zaixian_ks>
cqlsh:zaixian_ks> select * from student;

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

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

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

(0 rows)
cqlsh:zaixian_ks>

刪除一列

您還可以使用ALTER命令從表中刪除現有的列。 在從表中刪除列之前,應該檢查表是否沒有使用緊湊存儲選項進行定義。

語法:

ALTER table name  DROP column name;

示例:

讓我們舉個例子,從名為student的表中刪除一個名為student_email的列。

使用以下命令後:

ALTER TABLE student DROP student_email;

現在,您可以看到student表中名為“student_email”的列現在已被刪除。如果要刪除多個列,請使用“”分隔列名。

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

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

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

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

(0 rows)
cqlsh:zaixian_ks>

看這個例子:

這裏我們將刪除以下兩列:student_feesstudent_phone

ALTER TABLE student DROP (student_fees, student_phone);

輸出結果如下所示 -

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

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

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

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

(0 rows)
cqlsh:zaixian_ks>

上一篇: Cassandra創建表 下一篇: Cassandra刪除表