【大数据存储】实验4 NoSQL数据库

实验4 NoSQL数据库

NoSQL数据库的安装和使用实验环境:

|--------|-----------|
| Ubuntu | 22.04.3 |
| Jdk | 1.8.0_341 |
| Hadoop | 3.2.3 |
| Hbase | 2.4.17 |
| Redis | 6.0.6 |
| mongdb | 6.0.12 |
| mogosh | 2.1.0 |

  • Redis
    1. 安装redis完成
    1. 新建终端启动redis
  1. redis-server
  2. 新建一个终端
  3. redis-cli
    1. 建表操作

尝试

set hello world

get hello

    1. 数据库中插入小组成员信息

Student信息

set student:001:sname prx

Course信息

set course:01:cname math

SC信息

set sc:001:01:grade 90

set sc:002:01:grade 95

    1. 数据库中 修改 信息

将3号课程名修改为音乐music

get sc:002:01:grade

set course:01:cname music

get course:01:cname

修改001学生名为prx17

    1. 数据库中 查询 信息

获取3课程名

获取001学生名

获取002学生课程4的成绩

    1. 数据库中 删除 信息

7.1删除学生课程表002学生课程4成绩

del sc:001:01:grade

7.2删除学生表001的学生名字

  • MongoDB
  1. 安装成功

mongosh -version

  1. 启动mongodb

sudo service mongod start

  1. 进入mongo shell模式

mongosh

  1. 查看数据库

show dbs

  1. 切换数据库

use school

  1. 创建集合(Collection)

db.createCollection('teacher')

  1. 插入数据

db.teacher.insert({_id:1,sname:'ppp',sage:20})

6.1插入成功

db.teacher.find()

6.2再插一条

6.3相同id不能重复插入

6.4批量插入

s=[{_id:3,sname:'sss',sage:2},{_id:5,sname:'lll',sage:3}]

db.teacher.insert(s)

  1. 更新操作

Prx变为prx17,根据id更新

db.teacher.update({_id:1},{$set:{sname:'prx'}})

  1. MongoDB不需要预先定义集合(collection),在第一次插入数据后,集合会被自动创建。

show collections

  1. 查找数据

9.1查询所有

9.2查询名字为yls的学生

db.teacher.find({sname:'yyy'})

9.3查询指定列数据,比如年龄

db.teacher.find({sage:2})

9.4AND条件查询

查询名字为yls,年龄为21的数据

9.5OR条件查询

查询名字为yls或者年龄等于20的数据

9.6格式化输出

  1. 删除数据

删除名字为cpp的学生

  1. 删除集合
  1. 退出mongdb shell
  1. 关闭mongdb
相关推荐
minebmw73 小时前
Oracle 19.29 中 ORA-00600 [4193] 错误完全解析与恢复指南
数据库·oracle
BizViewStudio4 小时前
甄选 2026:AI 重构新媒体代运营行业的三大核心变革与落地路径
大数据·人工智能·新媒体运营·媒体
m0_377618234 小时前
Golang怎么连接MySQL数据库_Golang MySQL连接教程【总结】
jvm·数据库·python
weixin_586061465 小时前
C#怎么通过反射获取类属性_C#如何动态读取元数据【进阶】
jvm·数据库·python
Pluto_CSND5 小时前
PostgreSQL 聚合函数总览
数据库·postgresql
资深数据库专家5 小时前
总账EBS 应用服务器1 的监控分析
java·网络·数据库
m0_678485455 小时前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
m0_748839495 小时前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
qq_334563555 小时前
PHP源码是否依赖特定芯片组_Intel与AMD平台差异【操作】
jvm·数据库·python
Cx330❀6 小时前
Linux命名管道(FIFO)通信:从原理到实操,一文搞懂跨进程通信
大数据·linux·运维·服务器·elasticsearch·搜索引擎