增删改查是什么功能(增删改查属于什么功能)

增删改查是什么功能(增删改查属于什么功能)对于 MySQL 数据库 笔者在上篇文章就详细的介绍了如何使用及其创建数据表 删除表等操作 上篇文章是基础 这篇文章是升华部分 对于 MySQL 数据库的增删改查会是将来我们在进行工作中最经常使用的部分 那么 这就需要我们着重进行了解了 注意 本文是在上篇文章的基础上进行扩展的



对于MySQL数据库,笔者在上篇文章就详细的介绍了如何使用及其创建数据表/删除表等操作,上篇文章是基础,这篇文章是升华部分!!对于MySQL数据库的增删改查会是将来我们在进行工作中最经常使用的部分!!那么,这就需要我们着重进行了解了!!

注意:本文是在上篇文章的基础上进行扩展的!!如果你是一个MySQL小白,那么,请先看之前的那篇文章,如果你已经接触过MySQL,那么请忽略!!!!!!!

对于MySQL数据库的增删改查,主要涉及四个过程:!!那么,接下来的部分,我们便深入了解一下MySQL的增删改查吧!!

在进行表数据的增删改查之前,我们仍然需要先选中某一个数据库!!因此笔者的准备操作为:

经过上述的代码,我们在MySQL中,可以看出……

那么,有了上述的操作,我们便可以在student表中,进行数据的增删改查了!

  1. 新增/插入数据 insert into 表名 values(值,值,值,…………);

在这插入数据的时候,我们需要注意的是:!!!

当然,在插入的时候,我们也可以!!

通过查看数据表student中的数据,我们可以看出……

对于这个代码,我们在后面进行讲述!!

对于我们第二次插入的数据,指定列插入的情况,其余没有插入的列,会出现默认值null!!

当然,我们也能一次插入多组数据!!

这个是对于数据表student全部插入多组数据,当然也能选择某个列进行多组插入数据!!这里便不再讲解!!语法一致!!

那我们再次查看表中的数据!

此时,根据结果,我们可以看出,成功的插入了多组数据!!

!!重点照顾!!

先创建一个表吧!!

上述创建了一个数据表,名称为homework

查看homework的表结构!

那么,接下来,我们就可以进行时间日期的插入了!!

1.手动插入时间!!

值得注意的是:在手动插入时间日期的时候,我们需要严格按照标准来!!

注意区分!!

  1. 插入瞬间的时间日期!!

sql提供了一个特殊的函数now(),来表示插入瞬间的时间日期!!

经过这个now()函数的插入,我们在查看数据表homework的所有数据的时候:可以看出时间对比!!

由于笔者的忙碌(笨),导致浪费了几秒钟!!抱歉!!当然这也能看出笔者写作的不易!!

2.查找操作

对于数据库的查找操作也很重要!!

  1. 全列查找:查找这个数据表的所有的行和列!(这个数据表中有啥,都给找出来!) 

select* from 表名

虽然上述的这个代码,能够显示出来所有的行和列,但是,这个操作却是很不安全!!假如数据库的数据很多,几亿??几十亿??这种select* 的操作将会很不安全!!

  1. 指定列查询  select 列名,列名,……from 表名

我们需要注意一下指定列查询与全列查询的区别!!

通过指定列查询,我们可以减少不必要的查询!!

  1. 查询还可以是表达式!查询的过程中,可以做出简单的运算(列和列之间的运算)

注意一下运行结果中id列的区别!!

当我们再次进行查询的时候……

经过结果,我们可以看出原始的数据并没有发生改变!!吓死宝宝了可!

因此,在查询的时候,通过简单的运算,并不会改变原始的数据!只是会创建一个临时表,跟原始数据无关!!

当然,,我们也可以把多个列放在一块进行运算!!

创建一个数据表!并进行插入数据!

查看表中的所有数据!

在这个基础上,我们来进行多个列放在一起进行运算的操作!!

按照表达式查询,临时表的列名与表达式一样!这样很不直观!!很不好看!!

4.因此,我们可以通过!!

我们可以通过两个列名的对比,来看出别名的好处/优势!!

5.去重查询 distinct  可以针对指定的列进行去重查询(把重复的行去掉,只保留一行)

很明显上述代码的最后结果,没有重复的数据!!

需要注意的是:distinct指定多个列的时候,要求这些列的值都相同,才视为重复!!

6.查询结果排序 order by 子句(指定某些列进行排序(升序,降序))!

按照数学成绩进行升序排序!!

对于该段的代码,我们的运行结果为:

对于MySQL而言,如果你不指定排序,那么,输出的MySQL结果,可能是随机的!!是不可预期的!!

如:

就比如这个代码而言:

虽然目前看着很有顺序,但是,当你的数据多了起来!比如:几万??几亿??几十亿??又会是一个不一样的结果!!希望可以注意一下!!

!!(注意:对多个列进行排序的时候,写在前面的列优先排序,当出现数据一样的情况下,会在根据第二个列来进行排序!!

降序排序!!主要用到了desc

对数学成绩进行降序排序!

该段代码的最后结果为:

上述笔者讲述了一个升序排序,一个降序排序!!那么,希望大家能够注意一下语法问题!!!

我们也可以对多个列进行降序排序:如:先按照数学成绩降序排序,如果数学成绩相同,则按照语文成绩进行降序排序!!

运行结果为:

在日常生活中,我们所遇到的排序,大多数是按照多个列来进行排序的,那么,咱们最关键的就是要明确排序的列之间的主次关系!!

7.条件查询

所谓的条件查询,就是在查询的时候,指定筛选条件,符合条件的留下,不符合条件的直接pass!

条件查询,主要依靠:来完成条件查询!

查询英语成绩小于60的

经过上述的代码,我们可以看出来,所保留的结果都是英语成绩小于60的数据!!

对于该过程,我们可以理解为:

针对该数据库的表进行遍历,取出每一行的数据,把数据代入到条件中,看条件是否符合!如果为真,则保留,如果为假,则pass,进行下一条!

筛选总分小于200的!

对于该段代码,我们需要注意表达式!!代码的运行结果为:

对于上述的结果,不相信的老铁,可以用计算器来算算哟!!

当然,在上述的这个代码中,指定的条件,在select中可以出现也可以不出现!

该段代码的运行结果为:

值得注意的是:上述的运行结果,虽然chinses+math+english的列名,不怎么美观,但是,笔者仍然!!所以大家!!这个是!!!

对于该错误的代码,最后的运行结果为:

对于这个代码,这就需要我们来深入了解一下MySQL的执行顺序了!!

在上述的这个错误实列代码中,执行规则为:

  1. 遍历每一行

  1. 把这一行带入到where的条件中

  1. 符合条件的结果,再根据select这里指定的列进行查询/计算

注意:别名不能当作where的条件!这个和当前的sql语句的执行顺序有关,也是MySQL对于语法所规定的!!

查询语文大于80并且英语大于80

运行结果为:

查询语文大于80或者英语大于80的!

运行结果为:

筛选语文成绩在80到90之间的

写法1:

该段代码的运行结果为:

写法2:

该段代码的运行结果为:

数学成绩在58或者59或者98或者99之间的

写法1:

写法2:

模糊查询:like----->模糊匹配

所谓的模糊查询:不要求元素完全相识,只要满足一定的规则就可以了!

like只支持两种用法!!

比如:查找名字性孙的同学:

查找以孙结尾的名字

查找包含孙的名字

对于_(下划线)的使用不多,所以更多的还是使用%作为模糊查询!!

(在很多地方都可以见到)

就比如400多条的数据,,总不能一页全部显示出来吧!!所以,我们可能需要分页,分成40多页,一页十个数据……

使用limit关键字:限制查询结果是几个!!

查询前3条的数据!

当然,!

查询下标为3开始的3条数据!(从第四个数据开始)

查询下标为6开始的3条数据!(从第七个数据开始)

limit限制最多显示几条数据,如果数据不够,那么,有几个算几个!!

当然,我们进行了limit的分页查询,那么,我看也可以进行和之前的那些进行查询条件进行搭配使用!!

比如:我们要查询总分前三名的同学信息:

  1. 计算每个同学总成绩(表达式查询)

  1. 按照成绩进行排名(降序)

  1. 取前三条记录

那么,请看接下来的代码吧!!

该段代码的运行结果为:

3.修改  update 关键字

对于修改是一个很简单的语法,但是,对于大多数同学会记不住!!感觉太简单了,不用记,看看就行了,但是,等到后序在使用的时候,就会导致出现不会/写不出的情况!!

基础的语法为:

将孙悟空的数学成绩修改为80分;

代码的运行结果显示,我们修改成功了!!

然后我们在查看一下孙悟空同学的成绩即可看出是否修改!!

根据运行结果,我们可以看出,孙悟空的数学成绩成功的改为80分了!!

当然,对于修改的操作,我们也可以对多个列进行修改!!

将曹孟德的语文,数学,英语成绩都改为99分!

然后我们在查看一下曹孟德的成绩

那么,请看接下来的运行结果!

当然,我们也可以对所有的数据进行指定列进行修改!!

将总分为前三名的数学成绩都减30分!!

代码的运行结果为:

当然,如果你要是msth=math+30,那么,你就要考虑数据是否超出定义的范围了!!!

如果超出数据定义的范围,那么,可能会出现警告/不进行修改!!

将所有同学的语文成绩都改为0.5倍!!

那么,需要我们注意一下,该段代码的最后运行结果!

显而易见的:出现了警告!!那么,我们可以查看一下警告!

根据上述的警告原因,我们可以看出,数据的第2行和第5行发生了截断!!主要还是由于定义的数据与发生截断后的数据(小数点后几位)不匹配!!

所以update 的修改操作很危险!!

4.删除记录(行) 以行为单位的删除  delete 

最基础的语法为:

删除姓孙同学的记录!

那么,我们查看一下表中所有的同学,看看还有没有孙姓的学生?

根据最后的结果显示,表中没有孙姓的同学了!!

因此,delete 就是把条件匹配出来的结果全部删除!

当然,如果我们!!

当然,如果要删除的数据量很大,很大,我们可以在删除的时候用CTRL+C(^C)进行强制中断!!

小结一下,瞬间开心!

到此为止,MySQL数据库的基础语法,笔者已经讲解的差不多了!!若有其他不足之处,那么,请移步其他文章!!尴尬!!害拍嘴喷!!

编程小号
上一篇 2025-01-23 17:30
下一篇 2025-01-27 19:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/7354.html