1.❤️❤️前言~🥳🎉🎉🎉
Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。
如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的内容感兴趣,记得关注我👀👀以便不错过每一篇精彩。
当然,如果在阅读中发现任何问题或疑问,我非常欢迎你在评论区留言指正🗨️🗨️。让我们共同努力,一起进步!
加油,一起CHIN UP!💪💪
🔗个人主页:E绵绵的博客**
📚所属专栏:**1. JAVA知识点专栏
深入探索JAVA的核心概念与技术细节
2.JAVA题目练习****
实战演练,巩固JAVA编程技能
3.c语言知识点专栏****
揭示c语言的底层逻辑与高级特性
4.c语言题目练习****
挑战自我,提升c语言编程能力
了解Mysql知识点,提升数据库管理能力
学习前端知识,更好的运用它
📘 持续更新中,敬请期待 ❤️❤️
以下是针对数据表中数据的增删查改。
2.增加数据
单行数据 + 全列插入
insert 数据表名 value (值1,值2,...,值n);
- 在插入数据时,插入的数据顺序必须与创建数据表时对应的字段位置顺序相同,不可搞乱顺序,规避数据顺序错误情况,总而言之要一一对应。
![](https://i-blog.csdnimg.cn/direct/e441f629e1a84ac49e5eec84b16c0a1f.png)
![](https://i-blog.csdnimg.cn/direct/dbfdf9c972a34b62b11b3b2539cec995.png)
单行数据+指定列插入
insert 数据表名(字段名1,字段名2,...,字段名n)value (值1,值2,...,值n);
指定的字段名可以是数据表中的全部字段,也可以是部分字段。未添加的数据的字段系统会自动为该字段添加默认值NULL(空的)
![](https://i-blog.csdnimg.cn/direct/051bbc304a0b48b38b6ce8eadd81438c.png)
![](https://i-blog.csdnimg.cn/direct/860007f11a7f44c49b258245256f0dd2.png)
多行数据 + 全列插入
insert 数据表名 value (值列表1),(值列表2),...,(值列表n);
- 在同时插入多行数据时,多个值列表之间使用逗号相隔。
![](https://i-blog.csdnimg.cn/direct/09eba318c81443ae8d12027d51504cde.png)
![](https://i-blog.csdnimg.cn/direct/475c635484cb4636ac7132986cd1b6c8.png)
插入数据时我们一般都不用单行插入,而是多行数据一起插入,这样更高效。
3.查询数据
全列查询
SELECT * FROM 数据表;
- 查询数据表中所有字段的数据,星号*通配符代表数据表中的所有字段名。
![](https://i-blog.csdnimg.cn/direct/8dc523fe0c254dd29b4b87b133064b3c.png)
通常情况下不建议使用 * 进行全列查询
查询的列越多,意味着需要传输的数据量越大;
可能会影响到索引的使用。(索引待后面课程讲解)
指定列查询
SELECT 字段名1,字段名2,字段名3,...,字段名n FROM 数据表名;
指定列的顺序不需要按定义表的顺序来
查询 字段为表达式
select 表达式 from 表名;
表达式不包含字段时:
表达式包含一个字段时:
表达式包含多个字段时:
表达式中的 加减乘除 之类的针对列进行的运算 只是对数据库服务器査询出的数据进行运算,它们是临时的数据,不会影响到数据库服务器原有的保存的数据.
别名
为查询结果中的列指定别名,以别名作为该列的名称出现在临时表中
SELECT 字段名 as 别名 FROM 数据表名;
![](https://i-blog.csdnimg.cn/direct/50db014b0e00476f9523d9569cd07554.png)
去重:distinct
使用DISTINCT关键字对某列数据进行去重:
而原本是:
所以达到了一个很好的去重效果
而如果有多列,那去重就要求该多列完全一样才能去重,否则会如下图一样。
左边虽然相同,但右边不相同,所以去不了重。
排序:order by
select ... from 数据表 order by 字段 (asc/desc);
-- ASC 为升序(从小到大) -- DESC 为降序(从大到小) -- 如果都不填默认为 ASC。
![](https://i-blog.csdnimg.cn/direct/c84122650568475290539db1dff4b19e.png)
1.注意排序以一整行为单位,排序会对一整行做出改变。
2.同样该排序只是对数据库服务器査询出的数据进行排序,它们是临时的数据,不会影响到数据库服务器原有的保存的数据顺序.
3.如果你 select 的时候没有把order by 指定的列查出来 也不影响 排序~~,其他列依旧会排序
4.order by 还可以针对表达式进行排序~~
5.order by 还可以指定多个列进行排序,排序优先级随书写顺序。先按照最左边顺序来,如果最左边相同,再按照右边顺序来。
如图就是先按照c进行升序,因为存在相同的行,相同行又按照b大小进行降序。
条件查询:where
其中要用到运算符,分为比较运算符和逻辑运算符。
比较运算符:
逻辑运算符:
![](https://i-blog.csdnimg.cn/direct/b99e849092884423968c4822bf539d07.png)
注意:
-
where条件可以使用表达式,但尽量别使用别名,很可能报错。
-
AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
3.MySQL不存在==这种运算符
4.like运算符的模糊匹配只适用于字符串。
以下是一些经典案例,这是数据表中的内容:
![](https://i-blog.csdnimg.cn/direct/decdc9db3aa54ffd84d65ad02a6bbc7c.png)
基本查询:
查询总分在 200 分以下的同学
AND与OR :
查询语文成绩大于80分,且英语成绩大于80分的同学
![](https://i-blog.csdnimg.cn/direct/7814d021e50441b8a5220657a418237d.png)
查询语文成绩大于80分,或英语成绩大于80分的同学
![](https://i-blog.csdnimg.cn/direct/128ab3a87cf44f50a9496c58a1b1ca37.png)
范围查询:
1. BETWEEN ... AND ...
查询语文成绩在 [80, 90] 分的同学及语文成绩
![](https://i-blog.csdnimg.cn/direct/818ccc2c01ba426eb6477b94d71d7fe6.png)
2. IN
查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
![](https://i-blog.csdnimg.cn/direct/a265221dc3714912ba81b6272364a0ec.png)
模糊查询:LIKE
like只针对于字符串,其中 %能表示任意多个(包括0个)任意字符;_表示任意一个字符。
![](https://i-blog.csdnimg.cn/direct/e5e87d52d1ec484d80d8b743564930f0.png)
![](https://i-blog.csdnimg.cn/direct/49056f1d5e09471ca54c10089d5d909e.png)
![](https://i-blog.csdnimg.cn/direct/e490a089ba1e4afb8003383e129b8be6.png)
![](https://i-blog.csdnimg.cn/direct/9989bf00b251483995c85d6c2a8dc4b9.png)
NULL 的查询:is not null
我们加入了一个没有成绩的李白
![](https://i-blog.csdnimg.cn/direct/d80a69bc4d434c09acd45a2424c5c464.png)
查询有语文成绩的同学
![](https://i-blog.csdnimg.cn/direct/2619276318274252ab2210a7d62c1ac5.png)
查询没有英语成绩的同学
![](https://i-blog.csdnimg.cn/direct/c0632894fc9346f8a779e3cebc5df631.png)
分页查询:LIMIT
语法如下:
SELECT 列 from 数据表 LIMIT n;
SElECT 列 from 数据表 LIMIT n offset s;
其计算是以下标方式计算的,其中我们将第一行数据当作下标为0。
所以limit n 的代码也就是从 0(第一行) 开始,筛选 n 条结果。
![](https://i-blog.csdnimg.cn/direct/c00f127e1ead4df4a45f07bd40db3576.png)
所以limit n 也就相当于 limit n offset 0;
limit n offset s也就相当于从s(第s+1行)开始,筛选n条结果
![](https://i-blog.csdnimg.cn/direct/b8dbe641fd9345369909af551b07d73c.png)
其中如果筛选的结果不足,不会有影响。
4.修改数据
UPDATE table_name SET column = expr [, column = expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]
案例:
因为不存在== ,所以mysql这里的=既可以代表赋值,还可以代表是否相等。
5.删除数据
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
案例: