平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“MySQL数据库增删改查超完整示例图(新手入门必看)”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
在操作之前,我们需明确自己操作的是哪部分的数据。

insert into [(字段1,字段2)] values (值,值);
insert into student(id,name) values (1,'张三');

执行成功,有一条数据被写入数据表。
![]()
insert into 表名 values (值,值...);

insert into 表名(列名) values (值);

insert into 表名[(列名...)] values (值),(值)...

select *from 表名;

注意:这个一个很危险的操作,因为在生产环境中,一个表中的数据量可能会很多很多,当一个查询开始的时候,磁盘会开销,网络会开销,这些都是很紧缺的资源。这一条语句开始执行的时候,可能会吃光服务器所有资源,其他程序或数据库操作就要等待当前SQL语句执行完以后才能继续执行。
select 列名[,列名]...from 表名;
指定查询id,姓名,和语文成绩。




select distinct 列名 from 表名;
这里没有加distinct关键字查询出来的成绩有两个98分

加上distinct关键字查询出来的记录如下所示

重复的记录只保留了一条。
注意:在查询结果中,每一列都相同MYSQL才认为他们是重复的数据,也就是数据行与数据行之间,两条记录完全一致才是重复的数据。
比如:
在这个场景下,在查询数学成绩时,加上id这一列,第一列和第三列记录,虽然数学成绩一致,但是他们的id不一致,所以distinct关键字也就不把他们当做重复的数据行。
排序规则
1.升序 ASC(不指定时,默认是升序)
2.降序 DESC
select 列名 from 表名 order by 列名[ASC | DESC];



不论什么值和NULL进行运算,得到值都是NULL
NULL始终被判定为FALSE
结合项目来看,NULL的值不是我们以前学过的其他编程语言中的0,在MYSQL中它就是NULL

语法:
select *from 表名 where 列名/表达式 运算符 条件;
| 运算符 | 说明 |
|---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 在这个场景下,等于,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 个)任意字符,_ 表示任意一个字符 |
| 运算符 | 说明 |
|---|---|
AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
OR | 任意一个条件为 TRUE(1),结果为 TRUE(1) |
NOT | 条件为 TRUE(1),结果为 FALSE(0) |
注意:
比如



![]()



查询方法 1.用OR把所有的条件关联起来
用IN(集合)
--起始下标为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 表名
set 列名1 = 值1, 列名2 = 值2
where 条件;


delete from 表名 [where ...] [order by ...] [limit...]


INSERT INTO 向数据表中插入数据查询是数据库中最常用的操作,重点掌握以下内容:
SELECT *(生产环境慎用)AS 起别名ASCDESC> >= < <= = !=AND、OR、NOTBETWEEN、IN、LIKE、IS NULLAND 优先级高于 ORWHERE 不能采用别名FROM → WHERE → SELECT → ORDER BY → LIMIT
理解执行顺序能够帮助我们:
UPDATE ... SET ... WHERE ...WHERE 会更新整张表(极度危险)DELETE FROM ... WHERE ...ORDER BY + LIMIT 精准删除WHERE 会删除整张表数据NULL 不能采用 = 判断,要采用 IS NULLWHERE 中不能采用 SELECT 定义的别名AND 优先级高于 ORs = (当前页号 - 1) * 每页条数
SELECT *WHERE 的 UPDATEWHERE 的 DELETE先确定数据来源(FROM)
再过滤数据(WHERE)
再选择字段(SELECT)
再排序(ORDER BY)
最后限制条数(LIMIT)
掌握这条主线,MySQL 的 CRUD 操作基本就能熟练掌握。
到此这篇关于MySQL数据库增删改查的文章就介绍到这了,更多相关MySQL增删改查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!