day05

查询所有的行和列
-- *代表所有列,一般在项目中不允许使用,按需搜索
SELECT*FROM student;
# 查询部分列
SELECT student_no,student_name,sex FROM student;
# WHERE 查询条件
SELECT student_no,student_name,sex FROM student
WHERE sex='男';
-- 别名  外号
SELECT student_no as 学号,student_name as 姓名,sex as 性别 FROM student
WHERE sex='男';

SELECT student_no 学号,student_name 姓名,sex 性别 FROM student
WHERE sex='男';
-- 查询所有成绩小于80分的学生
-- 查询2024-09-09之后的所有考试
-- 查询所有科目信息
-- 查询所有年级信息
SELECT * FROM result WHERE student_result<80
SELECT * FROM result WHERE examDate>'2024-09-09'
SELECT subject_name as 科目 FROM subject;
SELECT grade_name AS 年级 FROM grade;
-- 查询null  NULL是从来没有添加过数组,或者添加null
SELECT * FROM student WHERE sex is NULL;
--  被清空的列 使用''
SELECT * FROM student WHERE sex ='' OR sex IS NULL;

-- 分页 (开始,数量)
SELECT * FROM student LIMIT 5; 

SELECT * FROM student LIMIT 0,5; 
# LIMIT 要放在语句的最后
SELECT * FROM student WHERE sex='男' LIMIT 5,5;

SELECT * FROM student WHERE grade_id=1;
SELECT student_no FROM student WHERE grade_id=1;  
SELECT * FROM student WHERE sex='女';
SELECT * FROM subjects WHERE class_hour>60;
SELECT phone FROM student WHERE student_name='咳咳咳';
SELECT student_name,address FROM student WHERE sex='男'
SELECT * FROM student LIMIT 5,13;

-- 模糊查询 项目中尽量不要使用
-- 张*
SELECT * FROM student WHERE  student_name LIKE '张__'
-- % 不限长度的字符
-- 手机号中有23
SELECT * FROM student WHERE phone LIKE '%23%'
-- 以名字包含铮的学生
SELECT * FROM student WHERE student_name LIKE '%铮%'

SELECT * FROM result WHERE student_result BETWEEN 60 AND 80;

-- '孟二金','瑶'
SELECT * FROM student WHERE student_name in ('孟二金','瑶')

SELECT * FROM result WHERE subject_id in (1,2)

SELECT * FROM student WHERE student_name NOT LIKE '%张%'


SELECT * FROM student ORDER BY birthday ASC;
-- DESC 降序
SELECT * FROM student ORDER BY birthday DESC;

-- 根据多个字段进行排序
SELECT * FROM student ORDER BY birthday DESC ,sex;
-- 获取成绩的前两名的信息
SELECT * FROM result ORDER BY student_result DESC LIMIT 2;

### 苍穹外卖 Day05 课程相关内容 关于苍穹外卖项目的第五天教程,可以从多个角度了解其核心知识点和技术实现细节。以下是基于提供的参考资料以及专业知识整理的内容。 #### 1. **项目背景与目标** 苍穹外卖项目是一个综合性的电商类应用开发实践案例[^3]。Day05 的主要内容围绕缓存技术的应用展开,重点讲解如何利用 Redis 提升系统的性能和响应速度。此阶段的目标是让开发者掌握 Spring Boot 中集成 Redis 的方法及其实际应用场景。 #### 2. **Spring Data Redis 集成** 为了在项目中引入 Redis 支持,需完成 Maven 坐标的导入工作。具体依赖如下所示: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 上述配置文件片段定义了 Spring Boot Starter 数据模块中的 Redis 组件支持[^2]。 #### 3. **Redis 序列化器设置** 在使用 Redis 存储数据时,默认情况下会将 Java 对象序列化为字节数组存储到数据库中。如果希望以更直观的方式查看键值对内容,则需要自定义序列化方式。例如,可以采用 `StringRedisSerializer` 或者 Jackson JSON 格式的序列化工具来处理字符串类型的 Key 和 Value[^4]。 #### 4. **常用 API 操作** 通过 `RedisTemplate` 类型的对象实例能够便捷地访问不同类型的数据结构并执行相应命令: - **Value Operations**: 处理简单的 K-V 键值对。 ```java ValueOperations<String, String> valueOps = redisTemplate.opsForValue(); valueOps.set("key", "value"); String result = valueOps.get("key"); ``` - **Hash Operations**: 管理哈希表形式的复杂映射关系。 ```java HashOperations<String, Object, Object> hashOps = redisTemplate.opsForHash(); hashOps.put("hashKey", "field", "value"); Object fieldValue = hashOps.get("hashKey", "field"); ``` - **List Operations**: 实现队列或者栈的功能模拟。 ```java ListOperations<String, String> listOps = redisTemplate.opsForList(); listOps.rightPush("queueName", "item"); Long size = listOps.size("queueName"); ``` - **Set Operations**: 进行集合运算如交集、差集等操作。 ```java SetOperations<String, String> setOps = redisTemplate.opsForSet(); setOps.add("uniqueSetName", "element"); Boolean isMember = setOps.isMember("uniqueSetName", "element"); ``` - **ZSet (Sorted Set) Operations**: 排序后的有序集合管理。 ```java ZSetOperations<String, String> zSetOps = redisTemplate.opsForZSet(); zSetOps.add("sortedSetName", "member", score); Double memberScore = zSetOps.score("sortedSetName", "member"); ``` 以上代码展示了不同场景下针对各种数据模型的具体调用逻辑。 #### 5. **推荐学习资源链接** 根据已有信息汇总得出以下几篇博文可供进一步深入研究: - [苍穹外卖Day05——总结](https://blog.youkuaiyun.com/qq_43751200/article/details/...) - [程序喵正在路上原创系列专栏](https://blog.youkuaiyun.com/lushimeng/) 这些文档不仅提供了理论指导还附带大量实战演练示例供参考学习[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值