前言:
大家好,我是良辰丫,这篇文章我将带领大家进入基础版本增删查改数据库
的学习,后面的文章会有数据库进阶版,更多的约束条件让你润享丝滑。增删查改是数据库操作中极其重要的内容,我们从简单入手,逐渐把数据库学扎实,说实在的,数据库其实没有多少技术含量。算法经验是长期积累的,而数据库只要多加练习很容易学好。🛕🛕🛕
🧑个人主页:良辰针不戳
📖所属专栏:数据库
🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。
💦期待大家三连,关注,点赞,收藏。
💌作者能力有限,可能也会出错,欢迎大家指正。
💞愿与君为伴,共探Java汪洋大海。
目录
- 1、添加数据
- 2、查找语句
- 2.1 查找所有列
- 2.2 查找我们想要查找的列
- 2.3 查询字段为表达式
- 2.4 针对查询结果去重
- 2.5 根据查找结果排序
- 2.6 根据表达式或别名进行排序
- 2.7 通过多个列进行排序
- 2.8 条件查询
- 2.9 关于like的查询(模糊匹配)
- 2.10 分页查询
- 3、修改数据
- 4、删除操作
1、添加数据
所谓的
增
就是添加数据,也可以叫做插入数据,这不是重点,我们主要任务是学会使用这些命令。上一篇文章我们学习了搭建表,但是表中空荡荡的总有点不习惯,嘿嘿嘿,这不,添加数据的操作来了哦。
insert into 表名 values (数值...);
- 基本插入数据。
- 插入语句可以省略into,但是我个人建议一般不要省略,容易出错。
- 插入指定的列,没有指定的列默认为空(NULL)。
- 一次插入多行数据。
注意:
一次插入多条记录比多次插入一条记录快好几倍,对于我们人而言感觉二者差不多,但是计算机中秒是一个大单位。因为数据库在插入数据的时候需要和服务器进行交互,插入一次交互一次,多次交互多次。
2、查找语句
查找语句
是及其重要的,我们可以根据自己的需求,查找出数据库中的信息。
2.1 查找所有列
其中*号表示通配符,意思是这个表中的所有列,通过*号可以打印表中的所有列信息。
select * from 表名;
注意:
查找的所有行和列只是一个临时表,咱们第一篇数据库博客中提到,数据库存储在硬盘上,而查找产生的临时表在我们关闭数据库后就会消失,释放掉,不复存在。
2.2 查找我们想要查找的列
select 属性,属性 from 表名;
接下来我们创建一个简单的成绩表来进一步学习更多的查找知识。
2.3 查询字段为表达式
首先创建一个数据库。
create table score (sno varchar(15),name varchar(10),
chinese decimal(3,1) ,math decimal(3,1));
查看一下数据库的属性。
咱们上节课了解到类型decimal(3,1),其中3表示数值位数,1表示小数点位数。
注意:
此时插入的学号是整型,而我们创建表的时候学号为字符串,数据库内部会自己进行类型转换,当然不是任意类型都能相互转换,‘110’可以和数字110进行转化。
insert into score values(101,'张三',78,88),
(102,'李四',77,92),(103,'王五',99,83);
查看一下数据库内容信息。
查看同学的语文与数学成绩之和。
大家可以发现上面第二例并不美观,因此呢,我们可以采用重命名的方式,把chinese + math利用关键词as进行重命名。
上面的as可以省略,但是省略了之后就区分不明显了,我们尽量还是不要轻易省略,避免发生一些细节错误。
2.4 针对查询结果去重
我们再插入一个同学的信息,让赵六和王五有相同的语文成绩。
insert into score values(104,'赵六',99,75);
查看原始信息。
查看语文成绩信息。
去重后的信息。
也可以根据两个条件去重,只有当两个条件都满足时才会去重。
2.5 根据查找结果排序
关键字是 order by
asc是升序的关键字,如果不写asc,默认为升序,如下图。
desc是降序的关键字。
带有空值的默认为最小值。
2.6 根据表达式或别名进行排序
as重命名后,可以根据别名就行排序。
2.7 通过多个列进行排序
by后面可以有多个属性。
多个列排序是具有优先级的,如果第一列结果相同,那么比较第二列结果。
2.8 条件查询
关键字为where,后面可以加上条件。
where后面的条件不能使用别名,在这里说明一下,可能其它的数据库软件支持,我所使用的mysql软件不支持。下面就会报错。
where后面没有别名可以正常查询信息。
一般而言,and的优先级大于or,两者同时出现的时候,要想先使用or,要加括号。
or表示或者,只要满足一个条件就可以。
between…and表示范围,下面就是90-100,一般为左闭右开。
is 和is not条件。
in后面也可加条件,下面括号里的数据表示,只要满足里面的数据,就可以输出。
2.9 关于like的查询(模糊匹配)
%表示任意个字符,也可以是0个字符。
_代表任意一个字符。
张%,可以打印张三,张无忌等,但是大张伟就不可以,因为设置的是张%。
一个_只能有一个字符。
信息表。
= 这个无法与NULL匹配,但是数据库里面有一个特殊的符号<=>可以匹配NULL。
2.10 分页查询
关键字为limit
下图中 limit 2 限制输出两行数据。
offset 1 表示从哪个下标开始。咱们的数据和java一样,数组从0下标开始,咱们数据库里面也是下标从0开始。
3、修改数据
updata 表名 set 列名 = 数值 where 条件;
where 后是限制条件,如果没有条件将修改所有的数据。
把张三的语文成绩修改位88。
有时候会产生警告。如果想查看警告的内容
show warnings
4、删除操作
delete from 表名 where 条件;
删除名字为玉皇大帝的信息。
后序:
时间过得好快,基础版本的数据库增删查改结束了,🍟🍟🍟希望大家可以学到知识,学习是一个漫长的过程,不要急于求成,一步一个脚印去学习,不要只是幻想,想多了都是问题,要动手动脑,做多了都是答案。加油,尽其所能做好自己,心若向阳,路便花开,希望有一天可以绽放自己的光彩。✨✨✨