Cassandra 数据库 CQL 查询语言基础语法与常用操作

Cassandra 数据库阿木 发布于 12 天前 4 次阅读


Cassandra 数据库:CQL 查询语言基础语法与常用操作

Cassandra 是一个开源的分布式 NoSQL 数据库,它能够提供高可用性、高性能和可伸缩性。Cassandra 使用一种名为 CQL(Cassandra Query Language)的查询语言,它类似于 SQL,但有一些独特的语法和特性。本文将围绕 CQL 查询语言的基础语法和常用操作进行详细介绍。

CQL 简介

CQL 是 Cassandra 的查询语言,它允许用户执行数据查询、插入、更新和删除操作。CQL 的设计目标是易于使用,同时保持 Cassandra 的分布式特性。CQL 支持多种数据类型,包括字符串、数字、日期和集合类型。

CQL 基础语法

1. 数据库和表创建

在 Cassandra 中,首先需要创建数据库和表。以下是一个创建数据库和表的示例:

cql

CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};

CREATE TABLE IF NOT EXISTS mykeyspace.users (


id uuid PRIMARY KEY,


name text,


email text,


age int


);


在这个例子中,我们创建了一个名为 `mykeyspace` 的数据库,并定义了一个名为 `users` 的表,其中包含 `id`、`name`、`email` 和 `age` 四个字段。

2. 数据插入

插入数据到 Cassandra 表中可以使用 `INSERT` 语句。以下是一个插入数据的示例:

cql

INSERT INTO mykeyspace.users (id, name, email, age) VALUES (uuid(), 'Alice', 'alice@example.com', 30);


在这个例子中,我们使用 `uuid()` 函数生成一个唯一的 ID,并将数据插入到 `users` 表中。

3. 数据查询

查询数据可以使用 `SELECT` 语句。以下是一个查询数据的示例:

cql

SELECT FROM mykeyspace.users WHERE name = 'Alice';


这个查询将返回所有名为 Alice 的用户信息。

4. 数据更新

更新数据可以使用 `UPDATE` 语句。以下是一个更新数据的示例:

cql

UPDATE mykeyspace.users SET age = 31 WHERE name = 'Alice';


这个更新语句将 Alice 的年龄更新为 31。

5. 数据删除

删除数据可以使用 `DELETE` 语句。以下是一个删除数据的示例:

cql

DELETE FROM mykeyspace.users WHERE name = 'Alice';


这个删除语句将删除所有名为 Alice 的用户记录。

CQL 常用操作

1. 聚合查询

Cassandra 支持使用 `COUNT`、`SUM`、`MAX` 和 `MIN` 等聚合函数进行数据聚合。以下是一个使用 `COUNT` 函数的示例:

cql

SELECT COUNT() FROM mykeyspace.users;


这个查询将返回 `users` 表中记录的总数。

2. 分页查询

Cassandra 支持使用 `LIMIT` 和 `OFFSET` 子句进行分页查询。以下是一个分页查询的示例:

cql

SELECT FROM mykeyspace.users LIMIT 10 OFFSET 20;


这个查询将返回第 21 到第 30 条记录。

3. 联合查询

Cassandra 支持使用 `ALLOW FILTERING` 子句进行联合查询。以下是一个联合查询的示例:

cql

SELECT FROM mykeyspace.users WHERE email LIKE '%example.com';


这个查询将返回所有电子邮件地址包含 `example.com` 的用户记录。

4. 索引操作

Cassandra 支持使用 `CREATE INDEX` 语句创建索引。以下是一个创建索引的示例:

cql

CREATE INDEX ON mykeyspace.users (email);


这个索引将根据 `email` 字段创建一个索引,以提高查询效率。

总结

Cassandra 的 CQL 查询语言提供了丰富的语法和操作,使得用户可以轻松地进行数据查询、插入、更新和删除操作。本文介绍了 CQL 的基础语法和常用操作,包括数据库和表创建、数据插入、查询、更新和删除,以及聚合查询、分页查询、联合查询和索引操作。通过学习和掌握 CQL,用户可以更好地利用 Cassandra 的强大功能,构建高性能、可伸缩的分布式系统。