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