系列文章目录
🌈座右铭🌈:人的一生这么长、你凭什么用短短的几年去衡量自己的一生!
💕个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C++,自顶向下看Java-优快云博客
❤️相关文章❤️:清灵白羽 漾情天殇-优快云博客
文章目录
目录
前言
上一篇文章已经为大家介绍了,关于数据库当中的一些最基础的操作,这篇文章来为大家讲解关于数据库增删查改一些操作,如果有对于数据库不太了解的同学推荐先去看一下我的上一篇的文章,否则这篇文章可能有些无法理解。能够帮助到大家就是对我最大的鼓励!
一、增删查改
1、数据插入
1、单行数据全列插入
insert into table_name values();
如图所示,我的学生表单当中拥有三个字段,那么我们就要根据这三个字段的类型相关信息,向这个表单当中填入数据,数量必须和定义表单中的列的数量和顺序相对应。之后我们可以再对这个表单当中的数据进行查询,查询语句如下:
select * from student; //这里的 * 代表通配符,意思是查询这个表单当中的所有列信息
我们可以看到这个时候我们刚才插入的数据就已经存放到里面去了,这个就是单行插入,一次性插入了一行数据。
2、多行数据指定列插入
我们当然也可以一次性插入多行数据,效果如下图:
这样我们就可以实现多行插入,其实也就是在这个values后面多写几个括号而已,这是多行数据全列插入,我们也可以实现指定列插入,例如我不想插入这个学生的姓名信息,只插入这个学生的学号信息和年龄信息,那么这个时候应该怎么办呢?
大家请看这个时候我们重新插入的两行数据就只包括学号信息和年龄信息,这就是指定列插入,没有插入的信息我们默认为空。
2、数据查询
1、全列查询
其实这个内容我刚才在插入的部分就已经为大家讲解过了,语句如下:
select * from student;
2、指定列查询
select id,name from student;
大家可以发现这个时候我们就实现了只查询学生的学号信息和姓名信息,大家可以和原表对比一下,原表如下:
3、查询字段为表达式
再为大家演示之前,我首先新建一个表格,如下图所示:
我在上面这个表单的基础之上进行关于表达式的查询,如下图所示:
大家可以看到效果就是这样的,这个时候每个学生的数学成绩都被加上了10,但是这个时候当我们继续查询原表格的时候会发现:
我们可以发现原表的学生数学成绩没有发生任何变化,所以我们需要知道此处的关于表达式的运算结果只是一个临时结果,并不会改变原来的数据。
4、字段别名
在介绍这个别名的时候,请大家先来看一下这样的一个语句:
select name,chinese + math + english from result;
大家可以发现这个表格其实就是计算所有学生的总成绩的,(另外我补充一下,只有计算这个总成绩的表达式当中有其中一个变量的值为空那么整个计算的结果都会为空,并不需要每一科的成绩都为空)。
我认为这个表达总成绩的方式过于麻烦能否为总成绩字段命名为total直接输出结果呢?当然是可以的,语句如下:
select name, chinese + math + english as total from result;
这个时候Chinese + math + English 的别名total就生成好了,这样看起来会更加的美观一些。
5、去重查询
讲解这个模块我使用这样的一个表单:
这里面是有着非常多的重复数据的,那么我们想要查重,只保留不同的数据应该怎么做呢?
select distinct math from result;
这个时候系统会自动为我们消除相同的数据,只保留不同的数据。
二、排序
1、默认升序排序:
这个时候我们查询到的数据按照语文成绩进行升序排序的,语文成绩如下:
但是我们要知道order by 这里的排序其实是未定义的,所以我们不能够以来它来进行排序。
2、降序排序
降序排序只需要在order by后面加一个desc就可以了。如下图所示:
在这里我们可以结合之前讲过的别名来进行排序:
3、按照优先级排序
select name,math,chinese,english from result order by math desc,chinese,english;
这行语句的意思就是首先按照数学成绩降序排序,如果数学成绩相同的话,其次按照语文成绩排序,如果语文数学成绩都相同的话,那么最后就按照英语排序。
总结
关于数据库增删查改就为大家讲解了一半了,下篇文章继续为大家讲解关于条件查询等数据库增删查改的后半部分。今天这篇文章就讲解到这里,希望大家能够有所收获。