当前位置:网站首页>MySQL笔记下
MySQL笔记下
2022-07-29 15:10:00 【m0_67391521】
目录
分组查询后规定条件: HAVING 筛选分组查询结果里面的条件
本文是本人以前笔记,如果说是在掘金上看到的话没错,还是本人程程呀 的个人主页 - 动态 - 掘金只有这一个。如果有哪里不对的话欢迎各位大佬指出问题,本人是一个小白。
上一篇文章链接为:MySQL笔记上_的博客-CSDN博客,本篇是下。
如果是springboot的话请看springboot创建项目_的博客-CSDN博客,这个是从头开始的还没有学完springboot,一起学习呀!!!!
#学生信息表添加数据
#一次添加一条数据
INSERT into student(stuid,stuname,stusex,studate,classid)
values(1003,"小明","女","2020-05-08",202004)
#省略into
INSERT student(stuid,stuname,stusex,studate,classid)
values(1004,"小张","女","2020-05-08",202006)
#省略列名
INSERT student VALUES(1006,"小花","女","2020-05-08",202007)
#一次添加多条数据
INSERT student VALUES
(1007,"小李","女","2020-05-08",202008),
(1008,"小苏","女","2020-05-08",202009),
(1009,"小周","女","2020-05-08",202010)
#有约束的列添加信息
#添加calss班级表信息
INSERT class VALUES(4,"网络六班","2021-05-08 13:56:17",NULL,remark,3)
修改一条
update?表名 set 字段1=值1?where?条件
#修改数据
#修改单条数据
#根据学生编号主键修改学生信息
update student set Stuname="小宁",Stusex="男" WHERE Stuid=1003;
#修改多条数据
update student set classid=1,
Stusex="男"where Stuid in(1006,1007,1008)
#UPDATE student set classid=1,Stusex="男",WHERE Stuid in(1006,1007,1008)
#级联问题(主外键)
-- 有主外级关系,并且有外键约束是不可以更改
UPDATE student set classid=2022,Stusex="女"where Stuid in(1003,1006)
#:主外建级关系修改
ALTER TABLE student DROP FOREIGN key fk_classid;
– 更改班级表中的班级编号和班级名称
UPDATE calss set classid=110,classname='程程'WHERE classid=1;
#更改学生信息表中的classid=1
UPDATE student set classid=1 where classid=1;
#重新添加外键约束
ALTER TABLE student
add CONSTRAINT fk_classid FOREIGN key(classid) REFERENCES calss(classid);
删除一条
delete?from?表名?where?条件
#删除表数据
#删除一行或者一条学生信息
#根据主键删除信息
delete FROM student WHERE stuid=1004;
#删除多行包含in
delete FROM studentinfo WHERE stuid in(1003,1007);
#删除用truncate效率高
truncate table studentinfo;
分组
select?字段1,字段2?from 表名 group by?字段1;
#分组查询
#1.单列查询
#group by 分组
SELECT Stusex 性别, count(Stusex) 人数 from student GROUP BY Stusex;
#2.多列分组
SELECT??classid 班级编号 ,Stusex 性别, count(Stusex) 人数 from student GROUP BY classid,Stusex;
分组查询后规定条件: HAVING 筛选分组查询结果里面的条件
SELECT??classid 班级编号 ,Stusex 性别, count(Stusex) 人数
from student
GROUP BY classid,Stusex HAVING Stusex='女';
多表链接
1.内连接查询(等值查询):两个表或者两个表以上
– 指令:inner join
– 语法:SELECT 列 from 表一 [inner] join 表二 on <表达式>
#学生信息表 和班级表 内连接查询
– 等值的部分取出来 ,不同的就舍掉了表起一个别名
SELECT s.Stuid??'学生编号', s.Stuname??'学生名称',s.Stusex '性别', s.Studate '入学时间', s.classid '班级编号(s表:外键)',
c.classid '班级编号(c表:主键)',c.classname '班级名称', c.begintime '入学时间',c.endtime '结束时间',c.remark '备注',c.gradeid
FROM student s INNER JOIN calss c on s.classid=c.classid;
2. INNER JOIN 也可以不写
SELECT s.Stuid ‘学生编号’,s.Stuname ‘学生姓名’, s.Stusex ‘学生性别’, c.classid ‘班级编号(c表:主键)’, c.classname ‘班级名称’,
c.gradeidFROM student s,calss c where s.classid=c.classid;
SELECT s.Stuid’学生编号’, s.Stuname’学生名称’,s.Stusex ‘性别’, s.Studate ‘入学时间’, s.classid ‘班级编号(s表:外键)’,
c.classid ‘班级编号(c表:主键)’,c.classname ‘班级名称’, c.begintime ‘入学时间’,c.endtime ‘结束时间’,c.remark ‘备注’,c.gradeid
FROM student s , calss c where s.classid=c.classid;
#自连接:等值匹配1,自己表中列匹配。只存在一张表中
– 表自己连接自己
SELECT??s1.classid 学生编号,s1.Stuname 学生姓名,s2.zid??组别
FROM student s1 JOIN student s2 on s1.zid=s2.Stuid;
#自连接和内连接都用inner join inner 可以不写
SELECT??s1.classid 学生编号,s1.Stuname 学生姓名,s2.zid??组别
FROM student s1 ,student s2 where s1.zid=s2.Stuid;
#3.外连接:左外连接和右外连接(两个表及以上)
– 左外连接:left join指定:不仅可以匹配到等值数据还可以匹配到左其他没有匹配到的数据
SELECT s.Stuid??'学生编号',
s.Stuname??'学生名称',
s.classid '班级编号(s表:外键)',
c.classid '班级编号(c表:主键)',
c.gradeid '班级名称(c表:外键)'
FROM student s LEFT JOIN calss c on s.classid=c.classid;
本文是本人以前笔记,如果说是在掘金上看到的话没错,还是本人程程呀 的个人主页 - 动态 - 掘金只有这一个。如果有哪里不对的话欢迎各位大佬指出问题,本人是一个小白。
如果是springboot的话请看springboot创建项目_的博客-CSDN博客,这个是从头开始的还没有学完springboot,一起学习呀!!!!
边栏推荐
- 驱动领域DDD的微服务设计和开发实战
- 数据库管控平台-awr报告采集(mysql/oracle)
- 从通信延伸到全行业,亚信科技AntDB 7.0蓄势待发
- Contribution and writing required documents - OpenHarmony developer documentation style guide
- LeetCode·621.任务调度器·构造法
- Google Play policy update | in July 2022
- 求连续90日每日的用户留存率 -- 全网唯一
- Do you really understand the persistence mechanism of Redis?
- I/O代码实践
- 【GoLang】Sync lock
猜你喜欢

JUL 学习

不会多线程还想进BAT?精选19道多线程面试题,有答案边看边学

云原生Meetup·广州站举行,共话云原生时代的企业数字化转型

The very city live 丨 being - Unicorn: towards the unification of target tracking (ECCV2022 Oral)

数商云SCM供应链系统方案服务亮点:生产管理更智能、产业供应链协同管理更便捷

【深度学习】深度学习刷SOTA的一堆trick

如何在MySQL中执行SQL?

NDK 系列(5):JNI 从入门到实践,爆肝万字详解!

开源数据库连接池的使用及其工具类

Shell script programming - operation
随机推荐
参与一个rk3399的一起学习班级
教程篇(7.0) 07. 诊断和故障排除 * FortiClient EMS * Fortinet 网络安全专家 NSE 5
UFLO:5、启动任务并自动完成第一个人工任务
The future trend of the conversation
高通发布全新屏下指纹传感器:识别区域增大77%,识别速度提升50%
Numpy
走高质量、可持续的保障亿万家庭之路 水滴公司发布2020·2021ESG报告
【深度学习】深度学习刷SOTA的一堆trick
Linux环境 redis完整配置及启动命令
数据分析(一)
【7.22-7.29】写作社区精彩技术博文回顾
I quit my job after cutting the brothers, and turned to do a small clerk
韦伯首批照片引发论文竞速大战:晚13秒即错失首发,科研党纷纷肝得起飞
LG卷轴屏手机曝光;三星屏下摄像头新机曝光
即刻体验 | 借助 CTS-D 进一步提升应用设备兼容性
怎么建立数据分析思维
[MySQL] 排序与分页
解题-->在线OJ(十七)
package-lock.json 有什么作用,如果项目中没有它会怎么样,举例说明
NDK 系列(5):JNI 从入门到实践,爆肝万字详解!