📜  Cassandra 中的表操作

📅  最后修改于: 2021-09-10 02:32:41             🧑  作者: Mango

在本文中,我们将通过一些示例练习讨论表操作,例如在 Cassandra 中创建插入截断删除。我们来看一下。

创建表 – 注册:
首先,我们将创建一个表,即注册,其中我们有 id、name、email、city 是字段。我们来看一下。

Create table Register
 (
  id uuid primary key,
  name text,
  email text,
  city text
 );

将数据插入寄存器表:
现在创建表后,我们将向注册表中插入一些数据。我们来看一下。

Insert into Register (id, name, email, city) 
values(uuid(), 'Ashish', 'ashish05.rana05@gmail.com', 'delhi');

Insert into Register (id, name, email, city) 
values(uuid(), 'abi', 'abc@gmail.com', 'mumbai');

Insert into Register (id, name, email, city) 
values(uuid(), 'rana', 'def@gmail.com', 'bangalore'); 

验证结果:
使用下面给出的以下 CQL 查询来验证结果。我们来看一下。

select * 
from Register; 

描述表架构:

describe table Register; 

CREATE TABLE cluster1.register (
    id uuid,
    city text,
    email text,
    name text,
    PRIMARY KEY (id)
) WITH read_repair_chance = 0.0
    AND dclocal_read_repair_chance = 0.0
    AND gc_grace_seconds = 864000
    AND bloom_filter_fp_chance = 0.01
    AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
    AND comment = ''
    AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
                       'max_threshold' : 32, 'min_threshold' : 4 }
    AND compression = { 'chunk_length_in_kb' : 64, 
                        'class' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
    AND default_time_to_live = 0
    AND speculative_retry = '99PERCENTILE'
    AND min_index_interval = 128
    AND max_index_interval = 2048
    AND crc_check_chance = 1.0
    AND cdc = false
    AND memtable_flush_period_in_ms = 0; 

更新表:
要更新表,请使用下面给出的以下 CQL 查询。

update Register set 
email = 'abe@gmail.com' 
where id = 57280025-1261-44ab-85d4-62ab2c58a1c1; 

更新表后验证:
让我们使用下面给出的以下 CQL 查询来验证结果。

select * 
from Register; 

输出:

对表进行修改操作:
要更改表,请使用下面给出的以下 CQL 查询。

ALTER table Register 
add events text; 

要查看更新,请使用下面给出的以下 CQL 查询。

describe table Register; 

输出:

CREATE TABLE cluster1.register (
    id uuid,
    city text,
    email text,
    events text,
    name text,
    PRIMARY KEY (id)
) WITH read_repair_chance = 0.0
    AND dclocal_read_repair_chance = 0.0
    AND gc_grace_seconds = 864000
    AND bloom_filter_fp_chance = 0.01
    AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
    AND comment = ''
    AND compaction = { 'class' : 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
                       'max_threshold' : 32, 'min_threshold' : 4 }
    AND compression = { 'chunk_length_in_kb' : 64, 
                        'class' : 'org.apache.cassandra.io.compress.LZ4Compressor' }
    AND default_time_to_live = 0
    AND speculative_retry = '99PERCENTILE'
    AND min_index_interval = 128
    AND max_index_interval = 2048
    AND crc_check_chance = 1.0
    AND cdc = false
    AND memtable_flush_period_in_ms = 0; 

验证新添加的列:
为了验证新添加的列,使用下面给出的以下 CQL 查询。

select * 
from Register; 

输出:

将数据插入新添加的列:

Insert into Register (id, name, email, city, events) 
values(uuid(), 'Ashish', 'ashish05.rana05@gmail.com', 'delhi', 'game'); 

要验证插入的数据到新添加的列,请使用下面给出的以下 CQL 查询。

select * 
from Register; 

输出:

从表寄存器中删除数据:
要从表 Register 中删除数据,请使用以下 CQL 查询。我们来看一下。

truncate Register; 

删除一个表:
要从表 Register 中删除表架构和数据,请使用以下 CQL 查询。我们来看一下。

drop table Register;