最全【MySQL】表的增删查改,2024年最新C C++开发基础视频

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

全列插入

在这里插入图片描述

多行插入

在这里插入图片描述

1.2 插入否则更新操作

向表中插入记录时,如果待插入记录中的主键或唯一键已经存在,那么就会因为主键冲突或唯一键冲突导致插入失败。
在这里插入图片描述
这时可以选择性地进行同步更新操作:

  • 如果表中没有冲突数据,则直接插入数据。
  • 如果表中有冲突数据,则将表中的数据进行更新。

比如向学生表中插入记录时,如果没有出现主键冲突则直接插入记录,如果出现了主键冲突,则将表中冲突记录的学号和姓名进行更新。
在这里插入图片描述
执行替换数据的SQL后,也可以通过受影响的数据行数判断本次数据的插入情况。

  • 1 row affected:表中没有冲突数据,数据直接被插入。
  • 2 row affected:表中有冲突数据,冲突数据被删除后重新插入。

2. Retrieve

为了进行演示,下面创建一个成绩表,表当中包含自增长的主键id、姓名以及该同学的语文成绩、数学成绩和英语成绩。
在这里插入图片描述
下面我们插入一些数据,便于演示后续的查询操作。
在这里插入图片描述

2.1 select查询

全列查询

在查询数据时直接用 * 代替column列表,表示进行全列查询,这时将会显示被筛选出来的记录的所有列信息。

在这里插入图片描述

说明一下: 通常情况下不建议使用 * 进行全列查询,因为被查询到的数据需要通过网络从MySQL服务器传输到本主机,查询的列越多也就意味着需要传输的数据量越大,此外,进行全列查询还可能会影响到索引的使用。

指定列查询

在查询数据时也可以只对指定的列进行查询,这时将需要查询的列在column列表列出即可。
在这里插入图片描述

查询字段为表达式

column列表中的表达式中也可以包含多个表中已有的字段,这时我们就可以通过表达式计算出更多有意义的数据。
在这里插入图片描述

为查询结果指定别名

比如查询成绩表中的数据时,将每条记录中的三科成绩相加,然后将计算结果对应的列指定别名为“总分”。

在这里插入图片描述

结果的去重

查询成绩表时指定查询数学成绩对应的列,可以看到数学成绩中有重复的分数。
在这里插入图片描述
如果想要对查询结果进行去重操作,可以在SQL中的select后面带上distinct。在这里插入图片描述

2.2 where条件

  • 如果在查询数据是没有指定where子句,那么会直接将表中所有的记录作为数据源来一次执行select语句。
  • 如果在查询数据时指定了where子句,那么在查询数据时会先根据where子句筛选出符合条件的记录,然后将符合条件的记录作为数据源来一次执行select子句。

where子句中可以指明一个或多个筛选操作,各个筛选条件直接用逻辑运算符AND或OR进行关联,下面给出了where子句中常用的比较运算符和逻辑运算符。

查询英语不及格的同学及其英语成绩

在这里插入图片描述

查询语文成绩在80到90分的同学及其语文成绩

在这里插入图片描述
此外,这里也可以使用BETWEEN a0 AND a1来指明语文成绩的的所在区间。

在这里插入图片描述

查询数学成绩是58或59或98或99分的同学及其数学成绩

在where子句中指明筛选条件为数学成绩等于58或59或98或99,在select的column列表中指明要查询的列为姓名和数学成绩。

在这里插入图片描述
此外,这里也可以通过==IN(58, 59, 98, 99)==的方式来判断数学成绩是否符合筛选要求。
在这里插入图片描述

查询姓张的同学

在where子句中通过模糊匹配来判断当前同学是否姓孙 (需要用到%来匹配多个字符) ,在select的column列表中指明要查询的列为姓名。
在这里插入图片描述

查询李某同学

在where子句中通过模糊匹配来判断当前同学是否为孙某 (需要用到_来严格匹配单个字符) ,在select的column列表中指明要查询的列为姓名。

在这里插入图片描述

查询语文成绩好于英语成绩的同学

在这里插入图片描述

查询语文成绩大于80分并且不姓王的同学

在where子句中指明筛选条件为语文成绩大于80,并且通过模糊匹配和not来保证该同学不姓王,在select的column列表中指明要查询的列为姓名和语文成绩。

在这里插入图片描述

2.3 null的查询

我们使用这样一张表进行演示。
在这里插入图片描述

查询qq号已知的同学

在where子句中指明筛选条件为QQ号不为NULL,在select的column列表中指明要查询的列为姓名和QQ号。

在这里插入图片描述

查询QQ号未知的同学

在这里插入图片描述
需要注意的是,在与NULL值作比较的时候应该使用 <=> 运算符,使用 = 运算符无法得到正确的查询结果。
在这里插入图片描述
因为=运算符是NULL不安全的,使用=运算符将任何值与NULL作比较,得到的结果都是NULL。
在这里插入图片描述
但是<=>运算符是NULL安全的,使用<=>运算符将NULL和NULL作比较得到的结果为TRUE(1),将非NULL值与NULL作比较得到的结果为FALSE(0)。
在这里插入图片描述

2.4 order by排序

对于没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序

下面,通过一些案例来理解order by排序:

注:SQL语句中的ASC和DESC分别代表的是排升序和排降序,默认为ASC。

查询同学及其数学成绩,按数学成绩升序显示

在select的column列表中指明要查询的列为姓名和数学成绩,在order by子句中指明按照数学成绩进行升序排序。
在这里插入图片描述

查询同学及其QQ号,按QQ号升序显示

在这里插入图片描述

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

中…(img-kBG6o7MT-1715822534707)]
[外链图片转存中…(img-0E91nBXh-1715822534707)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值