Cassandra 命令大全

文章目录

      • 1. 连接与基本操作
      • 2. 数据库管理
      • 3. 表(Column Family)操作
      • 4. 集群管理
      • 5. 权限管理
      • 6. 其他高级功能
      • 7. 条件查询与聚合操作
      • 8. 索引管理
      • 9. 用户权限和角色管理
      • 10. 安全性相关设置
      • 11. 一致性级别控制
      • 12. 用户定义类型 (UDTs)
      • 13. 用户定义函数 (UDFs) 和聚合函数 (UDA)
      • 14. 材料化视图 (Materialized Views)
      • 15. 备份与恢复

Apache Cassandra 数据库使用 CQL (Cassandra Query Language) 进行交互,以下是一些常用CQL命令的摘要列表。由于篇幅限制,无法提供详尽的“大全”,但可以给出一些基础和常用的命令类别:

1. 连接与基本操作

  • 连接到Cassandra节点
cqlsh [hostname] [port] [username] [password]

例如:

cqlsh localhost 9042
  • 显示帮助信息
help

2. 数据库管理

  • 创建Keyspace(数据库空间)
CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
  • 选择Keyspace
USE mykeyspace;

3. 表(Column Family)操作

  • 创建表
CREATE TABLE users (id uuid PRIMARY KEY,username text,email text,created_at timestamp
);
  • 插入数据
INSERT INTO users (id, username, email, created_at) VALUES (uuid(), 'user1', 'user1@example.com', toTimestamp(now()));
  • 查询数据
SELECT * FROM users WHERE id = 6b5e7cfc-8a12-11ec-bf63-0242ac130003;
  • 更新数据
UPDATE users SET email = 'newemail@example.com' WHERE id = 6b5e7cfc-8a12-11ec-bf63-0242ac130003;
  • 删除数据
DELETE FROM users WHERE id = 6b5e7cfc-8a12-11ec-bf63-0242ac130003;

4. 集群管理

  • 列出Keyspaces
DESCRIBE keyspaces;
  • 查看表结构
DESCRIBE TABLE users;
  • 修改表结构
ALTER TABLE users ADD last_login_time timestamp;
  • 删除表
DROP TABLE users;
  • 删除Keyspace
DROP KEYSPACE mykeyspace;

5. 权限管理

  • 创建用户
CREATE USER user1 WITH PASSWORD 'password';
  • 授权
GRANT SELECT ON ALL KEYSPACES TO user1;

6. 其他高级功能

  • 索引创建
CREATE INDEX ON users (username);
  • 批量操作
BEGIN BATCHINSERT INTO ...;UPDATE ...;
APPLY BATCH;
  • 时间序列相关的TTL(生存期)设置
INSERT INTO logs (id, message) VALUES (uuid(), 'log message') USING TTL 3600;

7. 条件查询与聚合操作

  • 条件查询
SELECT * FROM users WHERE username = 'user1' AND email LIKE '%example.com';
  • 分页查询
SELECT * FROM users LIMIT 10 OFFSET 20;
  • 聚合函数
SELECT COUNT(*) FROM users;

或者按字段进行计数:

SELECT COUNT(username) FROM users WHERE created_at > '2020-01-01';

8. 索引管理

  • 查看索引
DESCRIBE INDEXES ON users;
  • 删除索引
DROP INDEX users_by_username;

9. 用户权限和角色管理

  • 列出用户权限
LIST ALL PERMISSIONS OF user1;
  • 撤销权限
REVOKE SELECT ON KEYSPACE mykeyspace FROM user1;
  • 创建角色并分配权限
CREATE ROLE admin WITH LOGIN = true AND SUPERUSER = true;
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO admin;

10. 安全性相关设置

  • 更改密码
ALTER USER user1 WITH PASSWORD 'new_password';
  • 禁用或启用用户
ALTER USER user1 WITH PASSWORD 'password' AND OPTIONS = {'login': 'false'};

11. 一致性级别控制

在Cassandra中,可以为每个查询设置一致性级别以控制读取和写入的保证程度。例如:

CONSISTENCY LEVEL ONE; -- 设置当前会话的一致性级别为ONE(至少一个副本响应)
INSERT INTO users (...) VALUES (...) IF NOT EXISTS; -- 使用当前会话的一致性级别执行插入

12. 用户定义类型 (UDTs)

  • 创建用户定义类型
CREATE TYPE address (street text,city text,zip_code int,country text
);
  • 在表中使用UDT
CREATE TABLE users (id uuid PRIMARY KEY,name text,addresses map<text, frozen<address>>,contact_info frozen<address>
);

13. 用户定义函数 (UDFs) 和聚合函数 (UDA)

  • 创建用户定义函数
CREATE FUNCTION concat_ws(separator text, values set<text>) 
RETURNS text LANGUAGE java AS '...'; -- 实现函数逻辑的Java代码SELECT key, concat_ws(',', tokens) FROM mytable;
  • 创建用户定义的聚合函数
CREATE AGGREGATE average(int)
SFUNC avg_update STYPE tuple<int,bigint> INITCOND (0,0);SELECT key, average(value) FROM mytable GROUP BY key;

14. 材料化视图 (Materialized Views)

  • 创建材料化视图
CREATE MATERIALIZED VIEW user_by_email ASSELECT * FROM usersWHERE email IS NOT NULL AND id IS NOT NULLPRIMARY KEY (email, id);

15. 备份与恢复

虽然CQL本身不直接支持备份和恢复,但可以通过驱动程序或工具(如nodetool snapshot)执行这些操作。

  • 创建快照
nodetool snapshot -t backup_keyspace keyspace_name
  • 清理快照
nodetool clearsnapshot [snapshot-name]

请注意,在实际操作中,可能需要结合其他运维命令、工具及策略来实现更复杂的数据管理任务。对于Cassandra的所有命令以及其具体用法,请查阅官方文档以获取详细信息和最新指南。

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)
————————————————

​最后我们放松一下眼睛
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252144.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C生万物】C语言数据类型、变量和运算符

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有…

亚信安慧AntDB推动技术创新与满足用户需求

随着互联网技术的迅猛发展&#xff0c;大数据时代的到来&#xff0c;数据库的需求不断增长。在这样的背景下&#xff0c;国产分布式数据库正逐渐崭露头角&#xff0c;AntDB作为其中的重要代表&#xff0c;也积极参与到了这场竞争中。作为国内的技术创新者&#xff0c;AntDB不仅…

Solidworks 与 MATLAB 联合仿真

本文主要讲解了“MATLAB与SolidWorks的联合仿真怎么实现”&#xff0c;文中的讲解内容简单清晰&#xff0c;易于学习与理解&#xff0c;下面请大家跟着小编的思路慢慢深入&#xff0c;一起来研究和学习“MATLAB与SolidWorks的联合仿真怎么实现”吧&#xff01; 下载插件。 1、…

SpringBoot 登录检验JWT令牌 生成与校验

JWT官网 https://jwt.io/ 引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>设置过期时间 LocalDateTime localDateTime LocalDateTime.now().…

Python flask 模板详解

文章目录 1 概述1.1 模板简介1.2 templates 文件1.3 简单应用 2 模板语法2.1 for 循环2.2 if 判断 3 模板的继承3.1 格式要求3.2 实现示例3.3 复用父模板的内容&#xff1a;super 1 概述 1.1 模板简介 定义&#xff1a;定义好的 html 文件&#xff0c;用于快速开发 web 页面J…

计算机毕业设计 | SSM 校园线上订餐系统(附源码)

1&#xff0c; 概述 1.1 项目背景 传统的外卖方式就是打电话预定&#xff0c;然而&#xff0c;在这种方式中&#xff0c;顾客往往通过餐厅散发的传单来获取餐厅的相关信息&#xff0c;通过电话来传达自己的订单信息&#xff0c;餐厅方面通过电话接受订单后&#xff0c;一般通…

Vue 上门取件时间组件

本文使用vue2.0elementui 制作一个上门取件时间组件&#xff0c;类似顺丰&#xff0c;样式如下&#xff1a; 大概功能&#xff1a;点击期望上门时间&#xff0c;下面出现一个弹框可以选择时间&#xff1a; 首先我们定义一些需要的数据&#xff1a; data() {return {isDropdown…

算法学习——LeetCode力扣链表篇1

算法学习——LeetCode力扣链表篇1 203. 移除链表元素 203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 示例 …

计组学习笔记2024/2/4

1.计算机的发展历程 2.计算机硬件的基本组成 存储器 -> 就是内存. 3.各个硬件的部件 寄存器 -> 用来存放二进制数据. 各个硬件的工作原理视频留白,听完后边课程之后再来理解理解. 冯诺依曼计算机的特点: 1.计算机由五大部件组成 2.指令和数据以同等地位存于存储器,…

进程和线程的区别详解

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 进程 进程在系统中是如何管理的 进一步认识PCB 线程 能否一直增加线程数目来提高效率 进程和线程…

SpringMVC精简知识点

SpringMVC 数据格式化基本数据类型和字符串自动转换特殊数据类型和字符串自动转换 验证及国际化应用实例注意事项和使用细节注解的结合使用数据类型转换校验核心类-DatBinder取消某个属性的绑定中文乱码解决处理json和HttpMessageConverter<T>作业布置SpringMVC文件上传自…

HashCat 恢复Excel、Word、PPT密码保姆教程

HashCat 恢复Excel、Word、PPT密码 一、流程 整体需要两个步骤 先用office2john.py获取下文件的hash值 python office2john.py 1.xlsx > hash这个命令需要你电脑有python环境&#xff0c;然后在cmd命令窗口中执行此命令就行 文件链接&#xff1a;https://github.com/magnu…

CSS的Day05(浮动+flex布局)

跟着黑马程序员的课&#xff0c;稍稍对CSS的了解 常见的显示模式&#xff1a;行内、块级、行内块 在HTML中&#xff0c;标准流也称为文档流或普通流&#xff0c;是指元素按照其在HTML文档中的出现顺序依次排列的方式。在标准流中&#xff0c;元素会自动占据父容器的空间&#…

《云原生安全攻防》-- 云原生安全概述

从本节课程开始&#xff0c;我们将正式踏上云原生安全的学习之旅。在深入探讨云原生安全的相关概念之前&#xff0c;让我们先对云原生有一个全面的认识。 什么是云原生呢? 云原生&#xff08;Cloud Native&#xff09;是一个组合词&#xff0c;我们把它拆分为云和原生两个词来…

bitcoin core 请求拒绝响应【或者】卡死

日志 经过排查节点日志&#xff0c;发现抛出异常。 tail -f debug.log日志&#xff1a; 2024-02-05T05:56:26Z BlockUntilSyncedToCurrentChain: txindex is catching up on block notifications 2024-02-05T05:56:26Z BlockUntilSyncedToCurrentChain: txindex is catching…

如何以管理员身份删除node_modules文件

今天拉项目&#xff0c;然后需要安装依赖&#xff0c;但是一直报错&#xff0c;如下&#xff1a; 去搜这个问题会让把node_modules文件先删掉 再去安装依赖。我在删除的过程中会说请以管理员身份来删除。 那么windows如何以管理员身份删除node_modules文件呢&#xff1f; wi…

爬虫实战--爬取简单文字图片并保存到mongodb数据库

文章目录 前言发现宝藏 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚&#xff0c;文章中如果有记录错误&#xff0c;欢迎读者朋友们…

ios搭建OpenGL环境

前言 本篇文章介绍在ios搭建OpenGL开发环境 在app的启动文章中&#xff0c;讲述了一个ios应用是如何启动的以及在IOS 13之后苹果公司推出的多窗口功能&#xff0c;通过app的启动这篇文章&#xff0c;我们基本能随心所欲的搭建一个app应用环境&#xff0c;搭建完成后的基本文件…

idea 快捷键ctrl+shift+f失效的解决方案

文章目录 搜狗输入法快捷键冲突微软输入法快捷键冲突 idea的快捷键ctrlshiftf按了没反应&#xff0c;理论上是快捷键冲突了&#xff0c;检查搜狗输入法和微软输入法快捷键。 搜狗输入法快捷键冲突 不需要简繁切换的快捷键&#xff0c;可以关闭它&#xff0c;或修改快捷键。 微…

海康威视有插件、无插件播放;webrtc直播;西瓜视频播放器;mpegts.js直播;flvjs直播

Notes 视频播放的几种方式 一、Video mp4链接直接播放 二、海康威视3.3插件版直播、云台控制&#xff0c;资源下载地址 index.html引入hk文件中的js文件双击HCWebSDKPlugin.exe安装插件前端参照文件夹hkCamera中的示例代码 三、海康威视3.2无插件版直播&#xff0c;资源下…