MySQL 第七天作业 nosql作业

news2024/12/23 10:44:17

作业一:string list hash结构中,每个至少完成5个命令,包含插入 修改 删除 查询,list 和hash还需要增加遍历的操作命令

1、 string类型数据的命令操作:

(1) 设置键值:

set key1 redis

(2) 读取键值:

get key1

(3) 数值类型自增1:

incr key1

在这里插入图片描述

(4) 数值类型自减1:

decr key1

在这里插入图片描述

(5) 查看值的长度:

STRLEN key1

在这里插入图片描述

2、 list类型数据的命令操作:

(1)对列表city插入元素:Shanghai Suzhou Hangzhou

LPUSH city Shanghai Suzhou Hangzhou

在这里插入图片描述

(2)将列表city里的头部的元素移除

LPOP city

在这里插入图片描述

(3)将name列表的尾部元素移除到number列表的头部

RPOPLPUSH name number

在这里插入图片描述

(4) 对一个已存在的列表插入新元素

RPUSH name e

在这里插入图片描述

(5)查看list的值长度

LLEN name

在这里插入图片描述
(1)设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三

HMSET order id 1 customer_name "张三"

在这里插入图片描述

(2) 创建一个hash表,表里的键值批量插入

HMSET order1 name n add a ip i

在这里插入图片描述

(3) 获取order对应的map的所有key

HKEYS order

在这里插入图片描述

(4) 获取order对应的map的键值数量

HLEN order

在这里插入图片描述

(5) 获取order表里的id值

HGET order id

在这里插入图片描述

4、Keys相关的命令操作

(1) 查看key是否存在

EXISTS key1

在这里插入图片描述

(2) 查找满足pattern的keys

KEYS or*

在这里插入图片描述

(3) 查看key的超时时间

TTL key1

(4) 遍历key

KEYS * 

作业二:mongodb作业

1. 创建一个数据库 名字grade

use grade

2. 数据库中创建一个集合名字 class

db.createCollection("class")

3. 集合中插入若干数据

db.class.insert([
{name:"小计",age:10,sex:'m',hobby:['draw','basketball','pingpong']},
{name:"小红",age:8,sex:'f',hobby:['draw','dance','pingpong']},
{name:"小明",age:11,sex:'m',hobby:['football','dance','sing']},
{name:"小张",age:13,sex:'f',hobby:['draw','dance','pingpong']},
{name:"小龙",age:6,sex:'f',hobby:['draw','football','sing']},
{name:"小李",age:7,sex:'m',hobby:['draw','dance','pingpong']},
{name:"小陈",age:5,sex:'f',hobby:['draw','dance','sing']},
{name:"小钱",age:3,sex:'m',hobby:['pingpong','dance','sing']},
{name:"小明",age:6,sex:'f',hobby:['draw','dance','pingpong']},
{name:"小米",age:12,sex:'m',hobby:['draw','dance','football']},
{name:"小小",age:14,sex:'f',hobby:['draw','basketball','football']},
{name:"小康",age:15,sex:'m',hobby:['draw','basketball','pingpong']}
])

4. 查找

查看班级所有人信息

db.class.find()

查看班级中年龄为8岁的学生信息

db.class.find({age:8})

查看年龄大于10岁的学生信息

db.class.find({age:8})

在这里插入图片描述
查看年龄在 4—8岁之间的学生信息

db.class.find({age:{$gte:4,$lte:8}})

在这里插入图片描述
找到年龄为6岁且为男生的学生

db.class.find({age:6,sex:"m"})

在这里插入图片描述

找到年龄小于7岁或者大于10岁的学生

db.class.find({$or:[{age:{$lte:7}},{age:{$gte:10}}]})

在这里插入图片描述

找到年龄是8岁或者11岁的学生

db.class.find({age:{$in:[7,11]}})

在这里插入图片描述

找到兴趣爱好有两项的学生

db.class.find({'hobby':{$size:2}})

在这里插入图片描述
找到兴趣爱好有draw的学生

db.class.find({'hobby':'draw'})

在这里插入图片描述
找到既喜欢画画又喜欢跳舞的学生

db.class.find({'hobby':{$all:['draw','dance']}})

在这里插入图片描述
统计爱好有三项的学生人数

db.class.find({'hobby':{$size:3}}).count()

找出本班年龄第二大的学生

db.class.find({}).sort({age:-1}).skip(1).limit(1)

查看学生的兴趣范围

db.class.distinct('hobby')

将学生按年龄排序找到年龄最大的三个

db.class.find({}).sort({age:-1}).limit(3)

在这里插入图片描述

删除所有 年级大于12或者小于4岁的学生

db.class.remove({$or:[{age:{$lt:4}},{age:{$gt:12}}]})

5. 增加、更新、删除、统计

将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画

db.class.update({'name':'小红'},{$set:{'age':8,'hobby':['dance','draw',]}})

在这里插入图片描述

追加小明兴趣爱好 打篮球

db.class.update({'name':'小明'},{$push:{'hobby':'basketball'}})

小李兴趣爱好增加 吹牛 打篮球

db.class.update({'name':'小李'},{$pushAll:{'hobby':['basketball','computer']}})

小李增加爱好,跑步和唱歌,但是不要和以前的重复

db.class.update({'name':'小李'},{$addToSet:{'hobby':{$each:['run','sing']}}})

在这里插入图片描述

该班所有同学年龄加1

db.class.update({},{$inc:{age:1}},false,true)

在这里插入图片描述

删除小明的sex属性

db.class.update({name:'小明'},{$unset:{sex:0}})

删除小李兴趣中的第一项

db.class.update({name:'小李'},{$pop:{hobby:-1}})

将小红兴趣中的画画爱好删除

db.class.update({name:'小红'},{$pull:{hobby:'draw'}})

6.增加分数域

按照性别分组统计每组人数

db.class.aggregate({$group:{_id:'$sex',num:{$sum:1}}})

在这里插入图片描述

按照姓名分组,过滤出有重名的同学

db.class.aggregate([{$group:{_id:'$name',num:{$sum:1}}},{$match:{num:{$gt:1}}}])

统计每名男生的语文成绩

db.class.aggregate([{$match:{sex:'m'}},{$project:{_id:0,name:1,'score.chinese':1}}])

在这里插入图片描述

将女生按照英语分数降序排列

db.class.aggregate([{$match:{sex:'f'}},{$sort:{'score.english':-1}}])

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++基础与深度解析01——函数基本组成+函数传参的三种方法

0.前期准备 请安装Visual Studio 并学习基本的新建项目、新建CPP文件以及运行代码。 1.从Hello World 开始 1.1代码内容 函数功能&#xff1a;打印“Hello World” #include<iostream> int main() { std::cout << "Hello World" << std::endl…

学习babylon.js --- [1] 初次体验和安装

babylon.js是微软推出的Web3D库&#xff0c;本文写作时版本是6.x&#xff0c;官方介绍如下&#xff0c; 看这意思是6.x系列的版本大大提高了性能&#xff0c;并提供了很多新特性。其Github地址是https://github.com/BabylonJS/Babylon.js 本篇文章讲述使用babylon.js的初次体…

申请阿里云服务器并搭建公网可支持数据上传的HTTP服务器

1. 前言 拥有一台自己的云服务器可以做很多事情。阿里云服务器毫无疑问是国内最好的。 阿里云服务器可以用于各种互联网应用的搭建和运行&#xff0c;提供稳定、高性能的服务。 阿里云服务器的用途&#xff0c;包括但不限于以下几个方面&#xff1a; 网站托管&#xff1a;可以将…

常用adb命令整理

一、adb介绍 adb&#xff1a;Android Debug Bridge&#xff0c;Android 调试桥的缩写&#xff0c;adb 是一个 C/S 架构的命令行工具&#xff0c; 主要由 3 部分组成&#xff1a; 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试运行在 PC 端的 Serv…

Python实现校园网自动连接

用过校园网的小伙伴可能深有体会&#xff0c;在连接上校园网之后&#xff0c;需要再进行一个用户认证&#xff0c;才算真正的连接成功。这就会带来一些问题&#xff0c;比如若在长时间内没有网络请求&#xff0c;用户认证就会失效&#xff0c;它会自动断开校园网&#xff0c;这…

Android 系统开发工具

Android 系统开发工具 1、SSH 服务与 Tabby Terminal1.1 配置 Ubuntu ssh 服务 2、Samba 服务器搭建3、Idegen Android Studio 查看源码3.1 修改android.iml文件 (可选) 4、AIdegen Android Studio 查看源码4.1 准备工作4.2 Android Studio 配置4.2.1 添加源码中的 jdk 和 sd…

两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出和为目标值 target 的那两个整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。…

arcgis实现影像监督分类

1、打开ArcMap,右击空白处打开影像分类工具栏&#xff0c;如下&#xff1a; 2、打开影像&#xff0c;如下&#xff1a; 打开的影像由于未经处理&#xff0c;颜色看起来很昏暗&#xff0c;这时候可以拉伸一下。具体操作&#xff0c;右击图层选择属性&#xff0c;如下&#xff1a…

python使用websockets进行数据传输

背景说明&#xff1a; 最近在研究一个智能监控系统&#xff0c;后台通过rtsp读取摄像头视频流&#xff0c;使用yolov算法进行目标检测&#xff0c;然后将检测的视频帧通过字符串的方式抛转到前台html页面显示&#xff0c;需要用到前后台数据交互技术&#xff0c;查询资料发现w…

ShareX设置快捷键、自定义保存路径、取消上传等设置

让ShareX变成顺手的形状 设置篇ShareX设置快捷键ShareX设置自定义保存路径ShareX取消自动上传和打开OCR 使用篇OCR 设置篇 ShareX设置快捷键 ShareX设置自定义保存路径 ShareX取消自动上传和打开OCR 为什么取消上传功能&#xff1a;因为不需要自动把本地截图自动上传到远程服务…

Vue3 使用存储库Pinia(getters)

一、store.js创建getters import { defineStore } from "pinia"; export const useStore defineStore(main, {state() { // state表示这个store里的状态&#xff0c;也就是存放数据的地方return {name: 张三,age:26 }},actions: { // 和vue中的methods一样updateA…

前端必会的三种DIV+CSS布局

要开发网页&#xff0c;必须要搞懂这三种divcss布局技术&#xff01;&#xff08;1&#xff09;左右两列布局&#xff1b;&#xff08;2&#xff09;1行3列&#xff1b;&#xff08;3&#xff09;1行多列或多行多列布局&#xff1b;只要你掌握了这三种布局方式&#xff0c;那搭…

2核4G服务器腾讯云或阿里云能安装几个网站?性能如何?

2核4G服务器能安装多少个网站&#xff1f;2核4g配置能承载多少个网站&#xff1f;一台2核4G服务器可以安装多少个网站&#xff1f;阿腾云2核4G5M带宽服务器目前安装了14个网站&#xff0c;从技术角度是没有限制的&#xff0c;只要云服务器性能够用&#xff0c;想安装几个网站就…

java之maven专题

1、idea配置maven https://blog.csdn.net/hanmingjun/article/details/129977880 2、阿里云补充缺少的jar包 到官方下载好jar包到这里上传 maven中配置跳过单元测试 https://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html

记录--再也不用手动改package.json的版本号

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 本文的起因是有在代码仓库发包后&#xff0c;同事问我“为什么package.json 里的版本还是原来的&#xff0c;有没有更新&#xff1f;”&#xff0c;这个时候我意识到&#xff0c;我们完全没有必要在每…

lwip-2.1.3自带的httpd网页服务器使用教程(二)使用SSI动态生成网页部分内容

上一篇&#xff1a;lwip-2.1.3自带的httpd网页服务器使用教程&#xff08;一&#xff09;从SD卡读取网页文件并显示 通过全局数组定义TAG标签列表 &#xff08;本节例程名称&#xff1a;ssi_test&#xff09; 电脑上用的Web服务器采用ASP、PHP或JSP动态网页技术后&#xff0c…

Verdi之状态机状态查询nState

目录 5. nState 5.1如何打开状态机视图 5.2 如何在状态机视图中添加状态转移条件 5.3 如何查看状态机个状态对应的相关代码 5.4 查看具体的状态机状态转移时间点 5.5 查找自定义状态 5.6 查找某个状态执行的次数 5. nState 5.1如何打开状态机视图 1. 将设计文件导入Ver…

人脸识别学习

1、人脸识别如何做到一次学习 &#xff08;1&#xff09;、数据收集&#xff1a;收集包含多个人脸图像的数据集&#xff0c;每个人脸图像都有对应的标签或身份信息。 &#xff08;2&#xff09;、图像预处理&#xff1a;对数据集中的每个人脸图像进行预处理&#xff0c;包括图…

pytorch的配置从此不在愁

anaconda配置 原视频的配置网站&#xff1a;Anaconda pytorch&#xff1a; 【从入门到进阶】PyTorch深度学习框架完结合集&#xff01;草履虫都能学会的计算机视觉实战&#xff08;PyTorch安装/深度学习实战/神经网络/人工智能&#xff09;_哔哩哔哩_bilibili 上面的视频 …

开放麒麟操作系统能打动嵌入式软件工程师吗?

国产操作系统大部分客户其实是toB的&#xff0c;内核以外的源码也是不开源的&#xff0c;比如麒麟系、统信UOS等&#xff0c;个人学习、小企业基本不会用。7月5日开放麒麟操作系统v1.0版正式发布&#xff0c;不同点是这个操作系统从内核到桌面系统源代码都是开源的&#xff0c;…