【MySQL】DML数据操作语句和基本的DQL语句

目录

一、Mysql对数据的增删改

1. 增加数据

2. 修改数据(UPDATE语句)

3. 删除

3.1 delete、truncate、drop区别

二、DQL语言(重点)

1. 单表查询

1.1 最简单的查询

1.2 从表中获取数据

1.3 字段名起别名

1.4 添加字段

1.5 distinct 去重

1.6 带条件的查询

1.7 in 表示在某个特定的范围内

1.8 like 模糊查询

1.9 null

1.10 聚合函数(重点)

1.11 group by(重重点)

1.12 where和having区别

1.13 order by   排序

1.14 limit  分页  0开始   (页码-1)*步长,步长

1.15 扩展

1.16 小结

2. 多表查询

2.1 内联查询

2.2 外联查询

2.3 子查询(内部查询)

2.4 结果集控制语句

2.5 case when then end语句

三、Sql执行顺序

1. Sql语句在数据库中的执行流程

2. Sql查询语句的执行顺序


一、Mysql对数据的增删改

1. 增加数据

        -- insert into 表名(字段名,字段名,...,字段名)values/value (值,值...值)

        -- 日期使用字符串的形式进行书写日期格式(yyyy-MM-dd HH:mm:ss)

(1)全字段的插入

        方式一:insert into student(sid,sname,birthday,ssex,classid)

                values(9,'张三','2007-1-1','男',1);

        方式二:

        1)null

                insert into student values(null,'齐韬尊','1789-1-1','女',2);

          2)default

                insert into student values(default,'齐韬尊','1789-1-1','女',2);

(2)部分字段插入

        insert into student(sname,ssex) values('齐同学','女');

        alter student modify ssex varchar(10) not null default '保密';   -- 非空,默认保密

        insert into student(sname) values('陈博远');

(3)一次性添加多条数据

        1)方式一 (最常用的方式

        insert into 表名(字段名...) values(值..),(值..)...

        insert into student(sname,ssex)  values('杨文琦','男'),('杨博海','男'),('杨坤','男');

        2)方式二 (不常用)

        insert into select

        插入和被插入的表都必须存在。

create table newstu(

   xingming varcahr(10),

   xingbie varchar(10),

   classid int

);

        insert into newstu(xingming,xingbie,classid) select sname,ssex,classid from student;

        3)方式三(不常用)I/O高,容易锁表

                create table select

                被插入表(stu1)不能能存在,被插入表没有任何约束。

                create table stu1 select sid,sname,birthday from student;

2. 修改数据(UPDATE语句)

        -- update 表名 set 字段名=值,字段名=值,...,字段名=值

        -- 【where子句条件】

        -- where 子句中的条件是对表中每一条数据进行判断,判断成立该数据的父句执行,判断不成立该数据的父句不执行

        update stu1 set birthday='1678-2-2';

        update stu1 set birthday='1888-1-1' where sname='陈博远';

        update newstu set classid = 200 where xingbie != '男';     -- null是类型,不是值,性别为null,不会受影响

        update newstu set classid = 300 where xingbie <> '女';     -- <> 不等于

        update newstu set xingbie = '保密' where classid < 260;

        update newstu xingbie = '外星人' where classid >=30 and classid <=90;

        -- 30 50 70 性别变为地球人

        update newstu set xingbie='地球人' where classid=30 or classid=50 or classid=70;

        update newstu set xingbie='火星人' where classid>=30 and classid<=90;

        update newstu set xingbie='水星人' where classid between 30 and 90;

3. 删除

        -- delete from 表名 【where 子句】

        delete from newstu;

        delete from stu1 where sid=1;

        -- 清空表/截断表

        -- truncate 表名

        truncate stu1;

3.1 delete、truncate、drop区别

        -- delete只删数据

        -- truncate不仅把数据删掉,还删除了索引

        -- drop 不仅把数据删掉,还删除了索引,表结构也删了

二、DQL语言(重点

        DQL(Data Query Language 数据查询语言)。用途是查询数据库数据,如SELECT语句。是SQL语句中最核心、最重要的语句,也是使用频率最高的语句。其中,可以根据表的结构和关系分为单表查询和多表联查。

单表查询

        针对数据库中的一张数据表进行查询,可以通过各种查询条件和方式去做相关的优化。

多表联查

        针对数据库中两张或者两张以上的表同时进行查询,依赖的手段有复杂查询和嵌套查询

1. 单表查询

-- 所有的查询都会得到一张虚拟表

1.1 最简单的查询

select 123;

select 'abc';

select 1+1;

1.2 从表中获取数据

-- select 字段名,字段名... from 表名

(1)全字段查询

select sid,sname,birthday,ssex,classid from student;

select * from student;   -- 效率慢,不推荐使用

(2)部分字段查询

select sname,ssex from student;

1.3 字段名起别名

select sname as '姓名' from student;

select sname as '姓名',birthday '生日' from student;

select sname as '姓名',birthday '生日',ssex 性别 from student;

select sname 姓名 from student;

1.4 添加字段

select sname,'猿究院' from student;

select sname,'猿究院' 学校 from student;  -- 字段猿究院别名为学校

1.5 distinct 去重

-- 所有的字段的数据都一致才会去重

select ssex from student;

select distinct ssex from student;

select distinct sname,ssex from student;

1.6 带条件的查询

-- 【where子句】

select * from student where sid = 5

select * from student where sid <> 5;

select * from student where sid > 5;

select * from student where sid between 3 and 6;

-- 查找1班的女同学

select * from student where classid=1 and ssex='女';

-- 面试题

-- 查询年龄大于1990-1-1 的同学

select * from student where birthday < '1990-1-1';  -- 日期比大小,逻辑反的

1.7 in 表示在某个特定的范围内

-- 3 5 7 9

-- or 会让索引失效

select * from student where sid=3 or sid=5 or sid=7 or sid=9;

-- 推荐

-- in 可以使用索引

select * from student where sid in(3,5,7,9,20,100);

1.8 like 模糊查询

-- 模糊符号

(1)% 任意多的字符

(2)_ 一个任意字符

insert into student(sname) values('杨文齐'),('小小杨'),('杨帅哥'),('帅气的杨同学');

select * from student where sname like '%杨%';

select * from student where sname like '%杨';

select * from student where sname like '杨%';

select * from student where sname like '杨__';     -- 两个下划线

1.9 null

-- is:是一个什么

select * from student where birthday is null;

select * from student where birthday is not null;

1.10 聚合函数(重点)

-- 把多个值变为一个值

-- count() 统计个数

-- max()   求最大值

-- min()   求最小值

-- sum()   总和

-- avg()   平均值

(1)count 任何类型 不统计null

-- select count(字段、常量、*) from 表名

select count(sid) from student;   -- 主键

select count(classid) from student;   -- 不统计null

select count('a') from student;   -- 不推荐

select count(123) from student;   -- 推荐

select count(*) from student;     -- 推荐

(2) sum avg min max 数值类型

select sum(score) from sc;

select avg(score) from sc;

select max(score) from sc;

select min(score) from sc;

-- 统计出成绩表中一共有多少次考试,总成绩,平均分,最高分,最低分

select count(*),sum(score),avg(score),max(score),min(score) from sc;

1.11 group by(重重点)

对所有的数据进行分组统计;

分组的依据字段可以有多个,并依次分组。

-- 分组之后必然有聚合

-- 男女同学个有多少人

select ssex,count(1) from student group by ssex;

-- 统计出各班有多少人

select classid,count(1) from student group by classid;

-- 统计成绩表中每个同学的总分和平均分

select sid,sum(score),avg(score) from sc group by sid;

1.12 where和having区别

        -- having 对数据表中单个数据进行判断,与group by结合使用,进行分组后的数据筛选。

        -- 查询出平均分不及格的同学

select sid,sum(score),avg(score) from sc

group by sid

having avg(score) < 60;

select sid,sum(score),avg(score) from sc

        where score < 60

        group by sid

having avg(score) < 60;

1.13 order by   排序

        -- 先写先排

        -- 升序 asc 不写(默认)

        -- 降序 desc 必须声明

        select * from student order by classid;

        select * from student order by classid asc;

        select * from sc order by score desc,cid desc;  -- score降序,分数相同,按cid降序

1.14 limit  分页  0开始   (页码-1)*步长,步长

        -- select * from 表名 limit 位置,步长

        select * from student limit 6,3

        -- 应用层解决

        -- select * from student limit (3-1)*3,3  错误的

        -- 找到成绩及格的总分数排名第二的:sid总成绩

        select sid,sum(score) from sc

        where score >60

        group by sid

        order by sum(score) desc

        limit 1,1

1.15 扩展

1.16 小结

DML语句内容
        • INSERT语句,UPDATE语句和DELETE语句;
新增语句如何实现多记录同时新增?
        • INSERT INTO `表名` (`字段1`,`字段n`) VALUES (值1,值n),(值1,值n),(值1,值n);
WHERE子句的功能?
        • 依赖逻辑条件对数据库的记录修改,删除或者查询;
TRUNCATE语句和DELETE语句的异同?
        • 相同点:都能删除数据,都不能修改表结构;
        • 不同点:1、前者会重置自增计数器,后者不会;
                         2、前者无条件约束,速度快效率高。
DQL语句内容
        • SELECT语句。

2. 多表查询

2.1 内联查询

(1)非等值查询   -- 笛卡尔积 两个结果集相乘  逻辑上有错误

        -- 查询出学生和班级信息

        select * from student,class;

(2)等值查询

        -- 查询出学生和班级信息 student class

        select * from student,class

            where student.classid=class.classid;

        -- 5张表联查

select * from student,class,course,teacher,sc

    where student.classid=class.classid and course.cid=sc.cid and class.classid=student.classid and teacher.Tid=course.Tid;

-- 查询出学过张三老师课程的学生信息

select * from student,class,course,teacher,sc

    where student.sid=sc.sid and course.cid=sc.cid and teacher.Tid=course.Tid and teacher.tname='张三';

-- 多表最终跟单表一致

-- 查询每个学生的平均成绩   学生姓名,班级名称,平均成绩

select sname,classname,avg(score) from student,sc,class

    where student.sid=sc.sid and class.classid=student.classid

    group by student.sid;

(3)inner join on 

-- 笛卡尔积

-- 表的个数多,每个表的数据量不大,吃内存,IO小

select * from student,class

    where student.classid = class.classid and ssex='男';

-- 通过第一张表的结果集进行on条件匹配

-- 表少,每张表的数据量很大,内存占用小,但IO高

select * from student

    inner join class on student.classid = class.classid

    where ssex='男';

-- 3表查询

select * from studentinner join class on student.classid=class.classidinner join sc on student.sid=sc.sid;

-- 5表联查

select * from studentinner join class on student.classid=class.classidinner join sc on student.sid=sc.sidinner join course on sc.cid=course.Cidinner join teacher on course.tid=teacher.Tid;

-- 每门课程的平均成绩     课程名称 代课老师姓名 平均成绩

select cname,tname,avg(score) from course,teacher,scwhere course.cid=sc.cid and teacher.tid=course.tidgroup by course.cid;
select cname,tname,avg(score) from scinner join course on sc.cid=course.Cidinner join teacher on course.tid=teacher.Tidgroup by course.cid;
2.2 外联查询

(1)主查表

-- 查询出主表所有信息

-- 所有学生的数据和对应的班级信息    主查学生

-- left join on 左外联     主查表在join左

select * from student

    left join class on student.classid=class.classid;

-- right join on 右外联    主查表在join右

select * from class

    right join student on student.classid=class.classid;

-- 查询出所有学生都学过多少门课程  学生姓名 课程数     *含null

        

-- 没有班级的学生     绿色

select * from studentleft join class on student.classid=class.classidwhere class.classid is null;

-- 没有学生的班级     橙色

select * from student  right join class on class.classid= student.classidwhere student.sid is null;
select * from class  left join student on class.classid= student.classidwhere student.sid is null

(2) union  两个结果集的并集

-- 去除重复   distinct一样

-- 不同类型的字段是可以合并的

-- 不同列数量的结果集是不允许合并的

-- 取别名给第一个结果集才有用

-- 库中的所有人的名字

select sname,ssex from student

UNION

select tname,tsex from teacher;

select sname,ssex,classid from student

UNION

select tname,tsex,temail from teacher;

select sname 姓名,ssex 性别,classid from student

UNION

select tname,tsex,temail from teacher;

-- 获取没有学生的班级和没有班级的学生     紫色

select * from studentleft join class on student.classid=class.classidwhere class.classid is nullunionselect * from student  right join class on class.classid= student.classidwhere student.sid is null

-- 获取没有班级的学生和 班级和学生都有的 还要获取没有学生的班级      -- 绿紫橙

1)全连接  去重

select * from studentleft join class on student.classid=class.classidunionselect * from student  right join class on class.classid=student.classid

2)不去重的并集 union all

select * from studentleft join class on student.classid=class.classidunion allselect * from student  right join class on class.classid= student.classid

2.3 子查询(内部查询)

(1)where子查询   效率低

-- 查询id最大的一名同学

select * from student order by student.sid desc limit 0,1;

-- 查询id最大的一名同学(子查询)

select max(sid) from student;

select * from student where sid =16;    -- 魔术

select * from student where sid =(select max(sid) from student);

-- 查询每个班下id最大的同学(子查询)

select max(sid) from student

group by student.classid;

select * from student

where sid in(select max(sid) from student group by student.classid);

select * from student,class

where sid in(select max(sid) from student group by student.classid) and student.classid=class.classid;

select * from student

left join class on student.classid=class.classid

where sid in(select max(sid) from student group by student.classid);

select * from student

inner join class on student.classid=class.classid

where sid in(select max(sid) from student group by student.classid);

-- 查询学过张三老师课程的学生

select * from student where sid in          -- in 查询多条记录(select sid from sc where cid=(select cid from course where tid=(select tid from teacher where tname='张三')));

-- 查询大于5人的班级名称和人数(不适用子查询)

select classname,count(*) from classleft join student on class.classid=student.classidgroup by class.classidhaving count(*) > 5 ;

(2)from子查询

-- 查询大于5人的班级名称和人数(子查询)

select classname,人数 from class left join

(select classid,count(*) 人数 from student group by classid) t1  -- t1是别名

on class.classid=t1.classid

where 人数>5;

(3)exists 子查询 子句有结果,父句执行,子句没结果,父句不执行

select * from teacher

        where exists (select * from student where classid=1);

(4)any,some,all

        1)any

        -- 查询出一班成绩比二班最低成绩高的学生

select distinct student.* from scleft join student on sc.sid=student.Sidwhere student.classid=1 and score > any(select min(score) from scleft join student on sc.sid=student.sidwhere student.classid=2)

        2)some

select  DISTINCT student.* from scleft join student on sc.sid = student.sidwhere student.classid = 1 and score > some (select score from scleft join student on sc.sid = student.sidwhere student.classid = 2)

        3)all

        -- 查询出一班成绩比二班最高成绩高的学生

select  DISTINCT student.* from scleft join student on sc.sid = student.sidwhere student.classid = 1 and score > (select max(score) from scleft join student on sc.sid = student.sidwhere student.classid = 2)

select  DISTINCT student.* from scleft join student on sc.sid = student.sidwhere student.classid = 1 and (score > 70.0 and score > 60.0and score >80.0 and score >50.0 and score > 30.0 and score > 20.0and score > 31.0 and score > 34.0)

select distinct student.* from scleft join student on sc.sid=student.Sidwhere student.classid=1 and score > all(select min(score) from scleft join student on sc.sid=student.sidwhere student.classid=2)

2.4 结果集控制语句

-- IF(expr1,expr2,expr3)

-- expr1 条件

-- expr2 条件成立 显示数据

-- expr3 条件不成立 显示数据

select * from teacher;

-- 1 女

-- 0 男

        select tid,tname,if(tsex=1,'女','男') tsex,tbirthday,taddress from teacher;

-- IFNULL(expr1,expr2)

-- expr1 字段

-- expr2 当字段为null 默认值

        select sid,sname,ifnull(birthday,'这个学生没有生日,很可怜') bir,ssex from student;

2.5 case when then end语句

-- 没有在选项的为null

select tid,tname,case tsexwhen 0 then'男'when 1 then'女'end tsex,tbirthday,taddress from teacher;
select tid,tname,case tsexwhen 0 then '男'when 1 then '女'else '保密'end tsex,tbirthday,taddress from teacher;
select tid,tname,casewhen tsex >1 then '男'when tsex =1 then '女'when tsex <1 then '保密'end tsex,tbirthday,taddress from teacher;

-- 查询学生成绩

select score,casewhen score >=90 then 'A'when score >=80 then 'B'when score >=70 then 'C'when score >=60 then 'D'when score <60 then '不及格'endfrom sc;

select sname,score,casewhen score >=90 then 'A'when score >=80 then 'B'when score >=70 then 'C'when score >=60 then 'D'when score <60 then '不及格'endfrom scinner join student on sc.sid=student.sid;

-- 面试题

-- 行专列 列转行

-- 统计各分数段人数

(1)

        -- 分数段      人数 

        -- 100-90   

        -- 90-80

        -- 80-70

        -- 70-60

        -- 不及格

select '100-90' 分数段,count(*) 人数 from sc where score <=100 and score >=90unionselect '90-80', count(*) from sc where score <90 and score >=80unionselect '80-70', count(*) from sc where score <80 and score >=70unionselect '70-60', count(*) from sc where score <70 and score >=60unionselect '不及格', count(*) from sc where score <60;

(2)

        -- 分数段   100-90  90-80  80-70  70-60  不及格

        -- 人数

select '人数' 分数段,count(case when score>=90 and score<=100 then score end) '100-90',count(case when score>=80 then score end) '90-80',count(case when score>=70 then score end) '80-70',count(case when score>=60 then score end) '70-60',count(case when score<60 then score end) '不及格'
from sc;

三、Sql执行顺序

1. Sql语句在数据库中的执行流程

2. Sql查询语句的执行顺序

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

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

相关文章

深度学习——线性神经网络(一、线性回归)

目录 一、线性回归1.1 线性回归的基本元素1.1.1 术语介绍1.1.2 线性模型1.1.3 损失函数1.1.4 解析解1.1.5 随机梯度下降1.1.6 模型预测 1.2 正态分布与平方损失 因为线性神经网络篇幅比较长&#xff0c;就拆成几篇博客分开发布。目录序号保持连贯性。 一、线性回归 回归&#x…

Linux:深入理解冯诺依曼结构与操作系统

目录 1. 冯诺依曼体系结构 1.1 结构分析 1.2 存储结构分布图 2. 操作系统 2.1 概念 2.2 如何管理 2.3 什么是系统调用和库函数 1. 冯诺依曼体系结构 1.1 结构分析 不管是何种计算机&#xff0c;如个人笔记本电脑&#xff0c;服务器&#xff0c;都是遵循冯诺依曼结构。…

基于Springboot的在线订餐系统设计与实现(论文+源码)_kaic

摘 要 当今世界&#xff0c;互联网以及和互联网有关的行业都在不断的发展&#xff0c;也在持续走进人们的生活&#xff0c;在此趋势下人们对于通过互联网解决生活问题的需求愈来愈多&#xff0c;本文考虑到了这些情况后做出了该订餐系统。 本系统选择了MySQL作为主要存储单元…

深入探讨Windows 11专业版与Windows 11专业工作站版的差异

前言 深入探讨Windows 11专业版与Windows 11专业工作站版的差异&#xff0c;可以更全面地理解这两款操作系统版本面向的不同用户群体、硬件支持、性能特点以及应用场景&#xff0c;从而为专业用户和企业选择最合适的平台提供依据。 硬件支持与扩展能力 Windows 11专业版&…

Apache OFBiz SSRF漏洞CVE-2024-45507分析

Apache OFBiz介绍 Apache OFBiz 是一个功能丰富的开源电子商务平台&#xff0c;包含完整的商业解决方案&#xff0c;适用于多种行业。它提供了一套全面的服务&#xff0c;包括客户关系管理&#xff08;CRM&#xff09;、企业资源规划&#xff08;ERP&#xff09;、订单管理、产…

记录一次学习--委派攻击学习

目录 为什么要使用委派 什么账号可以使用委派 非约束性委派 这里有一张图 利用 流程 约束性委派 这里有一张图 如何利用 条件 具体流程 为什么要使用委派 这个是因为可能A服务需要B服务的支持&#xff0c;但是A服务的权限不可以使用B服务。然后这时就可以让域用户将…

OpenStack Yoga版安装笔记(十四)启动一个实例

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行&#xff0c;基本按照OpenStack Installation Guide顺序执行&#xff0c;主要内容包括&#xff1a; 环境安装 &#xff08;已完成&#xff09;OpenStack…

OpenCV计算机视觉库

计算机视觉和图像处理 Tensorflow入门深度神经网络图像分类目标检测图像分割OpenCVPytorchNLP自然语言处理 OpenCV 一、OpenCV简介1.1 简介1.2 OpenCV部署1.3 OpenCV模块 二、OpenCV基本操作2.1 图像的基本操作2.1.1 图像的IO操作2.1.2 绘制几何图像2.1.3 获取并修改图像的像素…

无人机电力巡检:点亮电力巡检新视野!

一、无人机电力巡查的优势 提高巡检效率&#xff1a;无人机可以搭载高清摄像头、红外热像仪等先进设备&#xff0c;实时拍摄和传输图像&#xff0c;帮助巡检人员快速发现潜在问题&#xff0c;如电线破损、绝缘子污损、设备过热等&#xff0c;从而大大缩短了巡检周期。 降低人…

python-斐波那契词序列/最大回文乘积/求最大最小k个元素

一:斐波那契词序列题目描述 编写一个程序&#xff0c;生成斐波那契词序列的前n个元素。 斐波那契词序列是一个词序列&#xff0c;其中每个词是通过连接前两个词形成的。 它以斐波那契序列命名&#xff0c;因为它是以类似的方式创建的&#xff0c;但是我们不是加数字&#xff0c…

《OpenCV》—— 指纹验证

用两张指纹图片中的其中一张对其验证 完整代码 import cv2def cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(0)def verification(src, model):sift cv2.SIFT_create()kp1, des1 sift.detectAndCompute(src, None)kp2, des2 sift.detectAndCompute(model, None)fl…

以太网交换安全:MAC地址表安全

一、MAC地址表安全 MAC地址表安全是网络安全中的一个重要方面&#xff0c;它涉及到网络设备的MAC地址表的管理和保护。以下是对MAC地址表安全的详细介绍&#xff1a; &#xff08;1&#xff09;基本概念 定义&#xff1a;MAC地址表是网络设备&#xff08;如交换机&#xff0…

【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;Linux “ 登神长阶 ” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀Linux进程间通信 &#x1f4d2;1. 进程间通信介绍&#x1f4da;2. 什么是管道&#x1f4dc;3…

unity 默认渲染管线材质球的材质通道,材质球的材质通道

标准渲染管线——材质球的材质通道 文档&#xff0c;与内容无关&#xff0c;是介绍材质球的属性的。 https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html游戏资源中常见的贴图类型 https://zhuanlan.zhihu.com/p/260973533 十大贴图…

最新版ChatGPT对话系统源码 Chat Nio系统源码

介绍&#xff1a; 最新版ChatGPT对话系统源码 Chat Nio系统源码 支持 Vision 模型, 同时支持 直接上传图片 和 输入图片直链或 Base64 图片 功能 (如 GPT-4 Vision Preview, Gemini Pro Vision 等模型) 支持 DALL-E 模型绘图 支持 Midjourney / Niji 模型的 Imagine / Upsc…

OpenSource - 开源WAF_SamWaf

文章目录 PreSafeLine VS SamWaf开发初衷软件介绍架构界面主要功能 使用说明下载最新版本快速启动WindowsLinuxDocker 启动访问升级指南自动升级手动升级 在线文档 代码相关代码托管介绍和编译已测试支持的平台测试效果 安全策略问题反馈许可证书贡献代码 Pre Nginx - 集成Mod…

单调队列应用介绍

单调队列应用介绍 定义应用场景实现模板具体示例滑动窗口最大值问题描述问题分析代码实现带限制的子序列和问题描述问题分析代码实现跳跃游戏问题描述问题分析代码实现定义 队列(Queue)是另一种操作受限的线性表,只允许元素从队列的一端进,另一端出,具有先进先出(FIFO)的特…

关于HTML 案例_个人简历展示01

案例效果展示 代码 <!DOCTYPE html> <lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简历信息</title> </he…

MySQL 中的 LAST_INSERT_ID()函数详解

在 MySQL 数据库中&#xff0c;LAST_INSERT_ID()是一个非常有用的函数。它可以帮助我们获取最近一次插入操作所生成的自增 ID 值。本文将详细解释 MySQL 中的LAST_INSERT_ID()函数及其用途。 一、函数介绍 LAST_INSERT_ID()是 MySQL 中的一个内置函数&#xff0c;它返回最近一…

通过栈实现字符串中查找是否有指定字符串的存在

题目示例&#xff1a; 分析 由与没有给出字符串的长度&#xff0c;所以只能通过getline一次性处理&#xff0c;而在输入后恰好能倒序处理字符串&#xff0c;以标点符号为分界点&#xff0c;将数字当成字符放到栈里&#xff0c;遇到下一个标点符号时执行查找操作&#xff0c;…