MySQL 第七天作业 nosql作业

作业一: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}}])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

存储服务的演化与MySQL分库分表

文章目录 一、存储服务的演化1.单体结构2.单表单库的数据量膨胀 -> 分库分表3.单个MySQL的读写压力过大 -> MySQL索引优化4.进一步缓解MySQL读写压力 -> 读写分离5.冷热数据分离 -> 使用Redis缓存 二、MySQL分库分表1.策略2.需要注意的问题 一、存储服务的演化 1.…

基于单片机汽车防盗报警的设计与实现

功能介绍 以STM32单片机作为主控系统;LCD1602液晶显示当前温度信息和参数等功能;3个LED指示灯表示:震动指示灯、人体感应指示灯、防盗模式开启指示灯;按键用来开启防盗模式,设置温度上下限;开启防盗后检测到…

T5模型: Transfer Text-to-Text Transformer(谷歌)

🔥 T5由谷歌发表于2019,《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》,最终版本发布在:JMLR。 一句话总结T5: 大一统模型,seq2seq形式完成各类nlp任务,大数据集…

uni-app image加载错误 404 替换为默认图片

双层v-for 使用item修改 aitem.cat_icon || defaultPic绑定图片src属性为aitem.cat_icon 如果aitem.cat_icon的值为空字符串或undefined&#xff0c;那么默认图片defaultPic被显示出来当图片加载错误时,触发handleImageError方法,将aitem传进去 <!-- 页面--><view …

小程序首页轮播图设计

效果图 微信小程序的数据详解 indicator-dots&#xff1a;是否显示面板指示点【默认false 】 indicator-color&#xff1a;指示点颜色【默认rgba(0, 0, 0, .3)】 indicator-active-color&#xff1a;当前选中的指示点颜色【默认#000000】 autoplay&#xff1a;是否自动切换…

Appium python 框架

目录 前言 流程 结构 具体说说 run.py 思路 其他模块 前言 Appium是一个开源的移动应用自动化测试框架&#xff0c;它允许开发人员使用多种编程语言&#xff08;包括Python&#xff09;来编写自动化测试脚本。Appium框架提供了一套API和工具&#xff0c;可以与移动设备进…

【Docker】Docker基本概念

Docker基本概念 1.Docker概述1.1 Docker是什么&#xff1f;1.2 Docker的宗旨1.3 容器的优点1.4 Docker与虚拟机的区别1.5 容器在内核中支持的两种技术1.6 namespace的六大类型 2.Docker核心概念2.1 镜像2.2 容器2.3 仓库 3. 知识点总结3.1 Docker是什么&#xff1f;3.2 容器和虚…

【Express.js】evp-express-cli

evp-express-cli evp-express-cli 是笔者结合自己的实践经验编写的一款 express 手脚架&#xff0c;以一种比较合适的流程构建的 express 架构。 文档 安装用法 命令新建项目运行模板 验证数据库RedisAuthRabbitMQSocketIONacos 开发工具 BabelEsintJestPkgPM2 资源配置日志异…

200行代码写一个简易的C++小黑窗贪吃蛇游戏

分享一个简易的小黑窗贪吃蛇,一共就两百行代码左右(包含注释),很适合初学者巩固语法来练练手. 如果后续需要其他功能也可以再添加. 先小小展示一下: 源码在文末免费领取. 使用工具: VS2019(不是用VS的也可以直接找出cpp和h文件复制到你们用的IDE,甚至是记事本都可以) 闲话…

基于linux下的高并发服务器开发(第二章)- 2.13 匿名管道通信案例

实现 ps aux | grep xxx 父子进程间通信 子进程&#xff1a; ps aux, 子进程结束后&#xff0c;将数据发送给父进程 父进程&#xff1a;获取到数据&#xff0c;过滤 pipe() execlp() 子进程将标准输出 stdout_fileno 重定向到管道的写端。 dup2 07 / 匿名管道…

【代码随想录 | Leetcode | 第七天】链表 | 链表相交 | 环形链表 II

前言 欢迎来到小K的Leetcode|代码随想录|专题化专栏&#xff0c;今天将为大家带来链表相交和环形链表 II的分享✨ 目录 前言面试题 02.07. 链表相交142. 环形链表 II总结 面试题 02.07. 链表相交 ✨题目链接点这里 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找…

Python应用:什么是爬虫?

文章目录 什么是爬虫虫之初&#xff0c;性本善&#xff1f;出行社交电商搜索引擎政府部门总结 面向监狱编程爬虫的君子协议什么是君子协议君子协议是怎么产生的&#xff1f;君子协议是什么内容&#xff1f;如何查看一个网站的robots协议违反君子协议的案例 参考文献 2022年初的…

用Vue如何实现低代码开发平台?

前言 在众多开发技术中&#xff0c;Vue组件化开发技术以其卓越的灵活性和高效性备受瞩目。 低代码平台相信不少人知道它的存在&#xff0c;而且现在大部分公司都在开发自己的低代码平台&#xff0c;首先我们来看看低代码平台可视化界面&#xff1a; 官网&#xff1a;https://ww…

水库大坝安全监测系统是由什么组成的?

水库大坝是防洪抗灾的重要设施&#xff0c;它们的安全性直接关系到人民群众的生命财产安全。因此&#xff0c;水库大坝的安全监测必不可少。水库大坝安全监测系统是一种集成了数据采集、传输、处理和分析的技术平台&#xff0c;能够实时、准确地监测大坝的状态&#xff0c;及时…

Unity游戏源码分享-Unity版本的经典斗地主游戏完整源码

Unity游戏源码分享-Unity版本的经典斗地主游戏完整源码 工程地址&#xff1a; https://download.csdn.net/download/Highning0007/88057828

MySQL第五章、索引事务

目录 一、索引 1.1 概念 1.2 作用 1.3 使用场景 1.4 使用 1.5 案例 二、索引背后的数据结构 2.1 B-树&#xff08;B树&#xff09; 2.2 B树&#xff08;MySQL背后数据结构&#xff09; 三、事务 3.1 为什么使用事务 3.2 事务的概念 3.3 使用 3.4并发执行事务产生…

【深度学习】张量的广播专题

一、说明 张量广播&#xff08;tensor broadcasting&#xff09;是一种将低维张量自动转化为高维张量的技术&#xff0c;使得张量之间可以进行基于元素的运算&#xff08;如加、减、乘等&#xff09;。在进行张量广播时&#xff0c;会将维度数较少的张量沿着长度为1的轴进行复制…

Vue中的侦听器:数据变化的秘密揭示

一、侦听器&#xff1a;vue中想监听数据的变化 &#x1f680;&#xff08;一&#xff09;侦听器watch 如何侦听到某个变量值改变呢&#xff1f;使用watch配置项&#x1f6a7;&#x1f6a7;&#x1f6a7;watch&#xff1a;可以侦听到data/computed属性值的改变。语法&#xff…

fileclude

背景知识 文件包含漏洞 题目 分析上述代码 file2被放入file_get_contents()函数&#xff0c;且要求返回值为hello ctf file1是要包含的文件&#xff0c;放在include函数中 用php://filter伪协议读取源代码 构造payload&#xff1a; file1php://filter/readconvert.base64-…

数字图像处理【11】OpenCV-Canny边缘提取到FindContours轮廓发现

本章主要介绍图像处理中一个比较基础的操作&#xff1a;Canny边缘发现、轮廓发现 和 绘制轮廓。概念不难&#xff0c;主要是结合OpenCV 4.5的API相关操作&#xff0c;为往下 "基于距离变换的分水岭图像分割" 做知识储备。 Canny边缘检测 在讲述轮廓之前&#xff0c;…