MySQL数据库增删改查超完整示例图(新手入门必看)实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“MySQL数据库增删改查超完整示例图(新手入门必看)”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
目录
- 一、新增(create)
- 1.单行数据
- 2.指定列插入
- 3.多行插入
- 二、查询(Retrieve)
- 1.全列查询
- 2.指定列查询
- 3.去重:DISTINCT
- 4.排序:ORDER BY
- 5.条件查询:WHERE
- 5.1 运算符说明表
- 5.5逻辑运算符说明表
- 三、修改(Update)
- 四、删除(Delete)
- 五、文章知识总结
- 一、Create(新增)
- 二、Retrieve(查询)
- 基础查询
- 表达式查询
- DISTINCT 去重
- ORDER BY 排序
- WHERE 条件过滤(重点)
- MySQL 执行顺序(高频考点)
- 三、Update(修改)
- 四、Delete(删除)
- 高频易错点总结
- 一句话总结
在操作之前,我们需明确自己操作的是哪部分的数据。
一、新增(create)
1.单行数据
insert into [(字段1,字段2)] values (值,值);
insert into student(id,name) values (1,'张三');
执行成功,有一条数据被写入数据表。
- 1.如果列与值的个数不匹配就会报一个错误,这条记录无法写入数据表
- 2.简写方式:不用在表名后面指定列名,在values列表中按定义字段的顺序设置相应的值。
insert into 表名 values (值,值...);
2.指定列插入
insert into 表名(列名) values (值);
3.多行插入
insert into 表名[(列名...)] values (值),(值)...
二、查询(Retrieve)
1.全列查询
select *from 表名;
注意:这个一个很危险的操作,因为在生产环境中,一个表中的数据量可能会很多很多,当一个查询开始的时候,磁盘会开销,网络会开销,这些都是很紧缺的资源。这一条语句开始执行的时候,可能会吃光服务器所有资源,其他程序或数据库操作就要等待当前SQL语句执行完以后才能继续执行。
2.指定列查询
select 列名[,列名]...from 表名;
指定查询id,姓名,和语文成绩。
- 查询的结果是一个表达式
- 把所有学生的语文成绩在原来的基础上加上十分
- 列与列之间也能够参与运算,计算总分
3.去重:DISTINCT
select distinct 列名 from 表名;
这里没有加distinct关键字查询出来的成绩有两个98分
加上distinct关键字查询出来的记录如下所示
重复的记录只保留了一条。
注意:在查询结果中,每一列都相同MYSQL才认为他们是重复的数据,也就是数据行与数据行之间,两条记录完全一致才是重复的数据。
比如:
在这个场景下,在查询数学成绩时,加上id这一列,第一列和第三列记录,虽然数学成绩一致,但是他们的id不一致,所以distinct关键字也就不把他们当做重复的数据行。
4.排序:ORDER BY
排序规则
1.升序 ASC(不指定时,默认是升序)
2.降序 DESC
select 列名 from 表名 order by 列名[ASC | DESC];
- 1.按语文成绩从高到低排序(DESC)
- 2.对数学成绩进行升序排序
- 3.NULL数据排序,视为比任何值都笑,升序出现在最上面,降序出现在最下面。
注意:MYSQL中NULL的特殊性
不论什么值和NULL进行运算,得到值都是NULL
NULL始终被判定为FALSE
结合项目来看,NULL的值不是我们以前学过的其他编程语言中的0,在MYSQL中它就是NULL
- 5.能够对多个字段进行排序,排序的优先级与书写有关
比如:先按数学降序排序,再按语文升序排序,再按英语进行升序排序
5.条件查询:WHERE
语法:
select *from 表名 where 列名/表达式 运算符 条件;
5.1 运算符说明表
| 运算符 | 说明 |
|---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 在这个场景下,等于,NULL 不安全,比如 NULL = NULL 的结果是 NULL |
<=> | 等于,NULL 安全,比如 NULL <=> NULL 的结果是 TRUE(1) |
!=, <> | 不等于 |
BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,得到 TRUE(1) |
IN (option, ...) | 如果是 option 中的任意一个,得到 TRUE(1) |
IS NULL | 是 NULL |
IS NOT NULL | 不是 NULL |
LIKE | 模糊匹配,% 表示任意多个(包括 0 个)任意字符,_ 表示任意一个字符 |
5.5逻辑运算符说明表
| 运算符 | 说明 |
|---|---|
AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
OR | 任意一个条件为 TRUE(1),结果为 TRUE(1) |
NOT | 条件为 TRUE(1),结果为 FALSE(0) |
注意:
- WHERE条件能够采用表达式,但不能采用别名。
- 结合项目来看,AND的优先级高于OR,在同时采用时,需采用小括号()包裹优先执行的部分
比如
- 1.like模糊匹配
%表示多个任意字符,_表示任意一个字符 - 3.查询语文成绩好于英语成绩的同学
. 注意:在一行数据中的两个列是能够进行比较的,但不能跨行比较
。 - 4.查询总分在200分一下的同学
- 5.查询语文成绩大于80且英语成绩大于80的同学
- 7.观察and和or的优先级
and的优先级高于or - 9.查询数学成绩是58 或者 59 或者 98 或者 99 分的同学
查询方法 1.用OR把所有的条件关联起来
用IN(集合)
- 10.NULL的查询:IS[NOT] NULL
- 11.分页查询:LIMIT
作用:限制查询结果集中的条数
理解这一步时,分页查询在项目开发中运用的很多,只要查询的是一个记录的集合(多条记录)都在采用分页查询。
--起始下标为0
--从0开始,筛选n条结果
select....from 表名 [where...] [order by...] limit n;
--从s开始,筛选n条结果
select....from 表名 [where...] [order by...] limit s, n;
注意:如果起始位置超过了整个结果集的范围,也是能够执行的,只不过是一个空集
--从s开始,筛选n条结果,比第二种用法更明确,推荐使用
--offset偏移量,也就是从哪开始的意思
select....from 表名 [where...] [order by...] limit n offset s;
注意:s = (当前页号-1)*每页显示的记录数
三、修改(Update)
update 表名
set 列名1 = 值1, 列名2 = 值2
where 条件;
- 1.将孙悟空的数学成绩变更为80分
- 2.将孙权的数学成绩变更为60分,语文成绩变更为73分
- 3.将总成绩倒数前三的同学的数学成绩加上5分
四、删除(Delete)
delete from 表名 [where ...] [order by ...] [limit...]
- 1.删除孙悟空的考试成绩
- 2.删除英语成绩倒数前三的同学的考试成绩
先对英语成绩进行升序排序,再限制删除的条数。
注意:delete不加where条件是个很危险的操作,会把表中的所有记录都删除。
五、文章知识总结
一、Create(新增)
- 采用
INSERT INTO向数据表中插入数据 - 兼容:
- 单行插入
- 指定列插入
- 多行插入(建议,效率更高)
- 插入时必须保证 列数与值的个数一致
二、Retrieve(查询)
查询是数据库中最常用的操作,重点掌握以下内容:
基础查询
SELECT *(生产环境慎用)- 指定列查询(建议)
表达式查询
- 列能够参与运算
- 能够采用
AS起别名
DISTINCT 去重
- 只有整行数据完全一致才会被认为重复
ORDER BY 排序
- 默认升序
ASC - 降序
DESC - 兼容多字段排序(前面的优先级更高)
- NULL 在升序中最小,在降序中最大
WHERE 条件过滤(重点)
- 兼容比较运算符:
> >= < <= = != - 兼容逻辑运算符:
AND、OR、NOT - 兼容
BETWEEN、IN、LIKE、IS NULL -
AND优先级高于OR -
WHERE不能采用别名
MySQL 执行顺序(高频考点)
FROM → WHERE → SELECT → ORDER BY → LIMIT
理解执行顺序能够帮助我们:
- 明白为什么 WHERE 不能采用别名
- 理解排序为什么最后执行
- 理解分页为什么写在最后
三、Update(修改)
- 采用
UPDATE ... SET ... WHERE ... - 不加
WHERE会更新整张表(极度危险)
四、Delete(删除)
- 采用
DELETE FROM ... WHERE ... - 能够结合
ORDER BY + LIMIT精准删除 - 不加
WHERE会删除整张表数据
高频易错点总结
NULL不能采用=判断,要采用IS NULLWHERE中不能采用SELECT定义的别名AND优先级高于OR- 分页公式:
s = (当前页号 - 1) * 每页条数
- 生产环境慎用:
SELECT *- 不带
WHERE的UPDATE - 不带
WHERE的DELETE
一句话总结
先确定数据来源(FROM)
再过滤数据(WHERE)
再选择字段(SELECT)
再排序(ORDER BY)
最后限制条数(LIMIT)
掌握这条主线,MySQL 的 CRUD 操作基本就能熟练掌握。
到此这篇关于MySQL数据库增删改查的文章就介绍到这了,更多相关MySQL增删改查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!
您可能感兴趣的文章:
- mysql增删改查基础语句
- Mysql的增删改查语句轻松实现
- mysql触发器之触发器的增删改查操作示例
- MySQL 详细单表增删改查crud语句
- MySQL表的增删改查之多表查询和联合查询功能
- MySQL基本增删改查语句练习(最新建议)
- Mysql基础教程之增删改查语句
- MySQL表的增删改查基础教程
- MySQL数据库表的增删改查操作(进阶)
-
08.27
手机游戏辅助软件汇总2026
-
08.27
SkildArt商品图生成流程是什么-概念边界和适用条件
-
08.27
格斗三国志甄姬厉害吗-格斗三国志甄姬强不强
-
08.27
英伟达:人工智能相关产品价格将涨价超15%
-
08.27
掌握WPS制作PPT的实用技巧让你的演示更加生动专业
-
08.27
曙光英雄新版乌雅玩法攻略-曙光英雄新版乌雅如何玩
-
-
- Redis配置只读账号实现方式方式实用指南
- 08.27
-
-
- AI兑现时刻:当"烧钱"开始"回本"
- 08.27
-
-
- Imgcook-阿里推出的免费设计稿智能生...
- 08.27
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏