飞道的博客

MySQL笔记下

550人阅读  评论(0)

目录

 

#学生信息表添加数据

#一次添加一条数据

#省略into

#有约束的列添加信息

#添加calss班级表信息

#修改数据

#修改单条数据

#级联问题(主外键)

#:主外建级关系修改

#删除表数据

#删除一行或者一条学生信息

#根据主键删除信息

分组

#分组查询

#1.单列查询

#2.多列分组

分组查询后规定条件: HAVING 筛选分组查询结果里面的条件

多表链接

1.内连接查询(等值查询):两个表或者两个表以上

2. INNER JOIN 也可以不写


本文是本人以前笔记,如果说是在掘金上看到的话没错,还是本人程程呀 的个人主页 - 动态 - 掘金 只有这一个。如果有哪里不对的话欢迎各位大佬指出问题,本人是一个小白。

上一篇文章链接为:MySQL笔记上_程程呀是小白的博客-CSDN博客 ,本篇是下。

如果是springboot的话请看springboot创建项目_程程呀是小白的博客-CSDN博客 ,这个是从头开始的还没有学完springboot,一起学习呀!!!!

#学生信息表添加数据

#一次添加一条数据


   
  1. INSERT into student(stuid,stuname,stusex,studate,classid)
  2. values( 1003,"小明","女","2020-05-08", 202004)

#省略into


   
  1. INSERT student(stuid,stuname,stusex,studate,classid)
  2. values( 1004,"小张","女","2020-05-08", 202006)

#省略列名

INSERT student VALUES(1006,"小花","女","2020-05-08",202007)

#一次添加多条数据


   
  1. INSERT student VALUES
  2. ( 1007,"小李","女","2020-05-08", 202008),
  3. ( 1008,"小苏","女","2020-05-08", 202009),
  4. ( 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;

#修改多条数据


   
  1. update student set classid = 1,
  2. Stusex ="男" where Stuid in( 1006, 1007, 1008)
  3. # UPDATE student set classid = 1,Stusex ="男", WHERE Stuid in( 1006, 1007, 1008)

#级联问题(主外键)


   
  1. -- 有主外级关系,并且有外键约束是不可以更改
  2. 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;

#重新添加外键约束


   
  1. ALTER TABLE student
  2. 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.单列查询


   
  1. # group by 分组
  2. SELECT Stusex 性别, count(Stusex) 人数 from student GROUP BY Stusex;

#2.多列分组

SELECT  classid 班级编号 ,Stusex 性别, count(Stusex) 人数 from student GROUP BY classid,Stusex;

分组查询后规定条件: HAVING 筛选分组查询结果里面的条件


   
  1. SELECT  classid 班级编号 ,Stusex 性别, count(Stusex) 人数
  2. from student
  3. GROUP BY classid,Stusex HAVING Stusex = '女';

多表链接

1.内连接查询(等值查询):两个表或者两个表以上

-- 指令:inner join

-- 语法:SELECT 列 from 表一 [inner] join 表二 on <表达式>

#学生信息表 和班级表 内连接查询

-- 等值的部分取出来 ,不同的就舍掉了     表起一个别名


   
  1. SELECT s.Stuid   '学生编号', s.Stuname   '学生名称',s.Stusex '性别', s.Studate '入学时间', s.classid '班级编号(s表:外键)',
  2. c.classid '班级编号(c表:主键)',c.classname '班级名称', c.begintime '入学时间',c.endtime '结束时间',c.remark '备注',c.gradeid
  3. 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.gradeid  FROM 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,自己表中列匹配。只存在一张表中

-- 表自己连接自己


   
  1. SELECT  s1.classid 学生编号,s1.Stuname 学生姓名,s2.zid  组别
  2. FROM student s1 JOIN student s2 on s1.zid=s2.Stuid;

#自连接和内连接都用inner join inner 可以不写


   
  1. SELECT  s1.classid 学生编号,s1.Stuname 学生姓名,s2.zid  组别
  2. FROM student s1 ,student s2 where s1.zid =s2.Stuid;

#3.外连接:左外连接和右外连接(两个表及以上)

-- 左外连接:left join指定:不仅可以匹配到等值数据还可以匹配到左其他没有匹配到的数据


   
  1. SELECT s.Stuid   '学生编号',
  2. s.Stuname   '学生名称',
  3. s.classid '班级编号(s表:外键)',
  4. c.classid '班级编号(c表:主键)',
  5. c.gradeid '班级名称(c表:外键)'
  6. FROM student s LEFT JOIN calss c on s.classid =c.classid;

本文是本人以前笔记,如果说是在掘金上看到的话没错,还是本人程程呀 的个人主页 - 动态 - 掘金 只有这一个。如果有哪里不对的话欢迎各位大佬指出问题,本人是一个小白。

如果是springboot的话请看springboot创建项目_程程呀是小白的博客-CSDN博客 ,这个是从头开始的还没有学完springboot,一起学习呀!!!!


转载:https://blog.csdn.net/qq_57785602/article/details/125781351
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场