在本文中,我们将介绍Cassandra 中的以下DML 命令,它们可以帮助我们插入、更新、删除、查询数据等。在CQL 中,有以下数据操作命令。让我们一一讨论。
1. Insert
2. Update
3. Delete
4. Batch
让我们举个例子:
表名: Employee_info
CREATE TABLE Employee_info
(
E_id int,
E_name text,
E_city text,
PRIMARY KEY(E_id)
);
DML 命令:
1. 插入:
在列族中,有很多行包含可以由用户预先指定的列。但是有一种情况,当用户在创建表后想要添加更多列时,我们可以使用数据操作命令。 INSERT’关键字用于插入数据。
插入数据有2种格式。
- 格式 1:
句法:
INSERT INTO table_name (field _name1, field_name2, field_name3…) VALUES ('field_value1', 'field_value2', 'field_value3'…) USING update_parameter[optional] ;
例如:
INSERT INTO Employee_info(E_id, E_name, E_city) VALUES (107, ‘Ashish’, ‘Delhi’); INSERT INTO Employee_info(E_id, E_name, E_city) VALUES (110, ‘Rana’, ‘Noida’);
要查询数据或读取数据,请使用以下“SELECT”查询。
Select * from Employee_info;
输出:
E_id E_name E_city 107 Ashish Delhi 110 Rana Noida - 格式 2:通过使用 JSON,我们还可以插入数据。
句法:
INSERT INTO table_name JSON '{"field_name1":"field_value1", "field_name2":"field_value2", "field_name3":"field_value3", ...}'
例如:
INSERT INTO Employee_info JSON ’(“E_id” :”107”, “E_name” : “Ashish”, “E_city” : “Delhi”)’ ;
输出:使用 JSON 将数据插入表中。
E_id E_name E_city 107 Ashish Delhi
2. 更新:
要使用新数据更新现有数据,我们可以使用 Cassandra 中的“UPDATE”数据操作命令。
句法:
UPDATE table_name USING update _parameter
SET field_name1 = field_value1,
field_name2 = field_value2,
field_name3> = field_value3,
.....
WHERE field_name = field_value;
例如:
UPDATE student USING TTL 500
SET E_name= ‘Ashish Rana’,
E_city= ‘Mumbai’,
WHERE E_id=107;
输出:
E_id | E_name | E_city |
---|---|---|
107 | Ashish Rana | Mumbai |
110 | Rana | Noida |
笔记:
UPDATE 和 INSERT 语句支持以下参数。
1. TIMESTAMP
2. TTL (Time To Live)
DELETE 和 BATCH 语句支持以下参数。
1. TIMESTAMP
3. 删除:
当用户想根据某些条件删除一些现有数据时,我们可以在 Cassandra 中执行“删除”数据操作命令。
句法:
DELETE table_name
USING update _parameter
...
WHERE condition;
例如:
- 示例 1:
DELETE FROM Employee_info USING TIMESTAMP 1450002143 WHERE E_id = 107;
输出:
E_id E_name E_city 110 Rana Noida - 示例 2:
DELETE E_city FROM Employee_info WHERE E_id IN (107, 110);
输出:
E_id E_name 107 Ashish Rana 110 Rana
4. 批次:
它用于通过一个 BATCH 语句进行分组来执行多个 INSERT、UPDATE 和 DELETE 语句。
句法:
batch_statement ::= BEGIN [ UNLOGGED | COUNTER ] BATCH
[ USING update_parameter ( AND update_parameter )* ]
modification_statement ( ';' modification_statement )*
APPLY BATCH
modification_statement ::= insert_statement | update_statement | delete_statement
来源。
例如:
BEGIN BATCH
INSERT INTO users (E_id, E_name, E_city)
VALUES (908, 'Rahul Rana', 'Meerut');
INSERT INTO users (E_id, E_name, E_city)
VALUES (909, 'Gaurav Rana', 'Meerut');
UPDATE Employee_info SET E_city = 'Noida' WHERE E_id = '908';
DELETE E_name
FROM Employee_info
WHERE E_id = 909;
APPLY BATCH;
输出:
E_id | E_name | E_city |
---|---|---|
908 | Rahul Rana | Noida |
909 | Null | Meerut |