在本文中,我们将讨论如何以不同的方式更新集合数据类型,还将讨论如何使用 UPDATE 子句插入行,如果我们不想要任何集合元素,那么我们也可以使用 UPDATE 子句删除与 (-)运算符。
首先,我们将创建表 Food_menu,其中 Café_id、Order_Date、total_cost、Menu_items 是下表中的字段。我们来看一下。
Create Table Food_menu
(
Cafe_id int Primary Key,
Order_Date Date,
total_cost int,
Menu_items Set
);
现在,我们将使用下面给出的以下 Cassandra 查询语言 (CQL) 查询将一些数据插入 Food_menu 表中。我们来看一下。
INSERT INTO Food_menu (Cafe_id, Order_Date, total_cost, Menu_items)
VALUES (7801, '2019-02-13', 500, {'Banana', 'Mango', 'Apple'});
INSERT INTO Food_menu (Cafe_id, Order_Date, total_cost, Menu_items)
VALUES (7802, '2019-02-15', 600, {'Banana', 'Mango', 'Apple'});
INSERT INTO Food_menu (Cafe_id, Order_Date, total_cost, Menu_items)
VALUES (7803, '2019-02-19', 800, {'grapes', 'papaya', 'pomegranate'});
让我们看看插入数据的输出。
select *
from Food_menu;
输出:
现在,我们将在这里讨论更新集合数据类型。我们来看一下。
- 我们可以使用 (+)运算符在集合数据类型中添加元素。
UPDATE Food_menu SET Menu_items = Menu_items + {'mango shake'} WHERE Cafe_id = 7802;
让我们看看上面 CQL 查询的输出。
select * from Food_menu;
输出:
- 我们可以使用减法 (-)运算符从集合中删除元素。
UPDATE Food_menu SET Menu_items = Menu_items - { 'Banana'} WHERE Cafe_id = 7801;
让我们看看以下 CQL 查询的输出。
select * from Food_menu;
输出:
- 现在,如果我们想从集合中删除所有元素,则使用下面给出的以下 CQL 查询。
UPDATE Food_menu SET Menu_items = {''} WHERE Cafe_id = 7803;
select * from Food_menu;
输出: