【Mysql】数据表的增删查改(基础)

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 ...]

案例:

相关推荐
凌虚29 分钟前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪39 分钟前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善43 分钟前
了解Mysql优化吗?如何优化索引?
数据库·mysql
赤壁小虾3 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
MC皮蛋侠客3 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
奈斯先生Vector4 小时前
把 Midjourney 二次编辑做成生产系统:customId 能力令牌、Action Graph 与 WebUI 精修工作台
数据库·人工智能·架构·aigc·音视频·midjourney
Lethehong5 小时前
双擎并驱·全链路并行:KFS让TB级异构增量同步秒级到达
数据库
MC皮蛋侠客5 小时前
SQLAlchemy 系列(八):AsyncIO、并发与 Web 生命周期——让每个并发任务持有自己的 Session
数据库·python
一水5 小时前
Redis实战:一个AI工作流系统里的五个应用场景,从传参到限流的完整链路
数据库·redis·wpf
Ai拆代码的曹操5 小时前
MySQL GROUP BY 性能优化:执行计划分析 + 索引重构实战
mysql·性能优化·重构