MySQL | MySQL表的增删改查(CRUD)

news2025/3/16 10:23:23

目录

  • 前言:什么是 CRUD ?
  • 一、Creat 新增
    • 1.1 语法
    • 1.2 示例
      • 1.2.1 单行数据全列插入
      • 1.2.2 单行数据指定列插入
      • 1.2.3 多行数据指定列插入
  • 二、Retrieve 检索
    • 2.1 语法
    • 2.2 示例
      • 2.2.1 全列查询
      • 2.2.2 指定列查询
      • 2.2.3 查询字段为表达式
      • 2.2.4 结果去重查询
      • 2.2.5 where条件查询
      • 2.2.6 order by排序
      • 2.2.7 分页查询
  • 三、Update 修改
  • 四、Delete 删除

复习: MySQL | MySQL库、表的基本操作

前言:什么是 CRUD ?

CRUD 其实就是对数据库中的记录进行增删改查的操作,每个字母都是 “增删改查” 的首字母:

  • C : Creat(创建)
  • R : Retrieve (读取)
  • U : Update (更新)
  • D : Delete (删除)

注: 增删改查操作的是表中的数据行!

一、Creat 新增

1.1 语法

INSERT  [INTO] 表名
	[(列名 [,列名]...)]
VALUES
	(value_list)[, (value_list)]...

//值列表	
value_list: value, [, value]...

简单来说就是:

insert into 表名 [列名...] values (...);

1.2 示例

首先创建一张表,见下图:

在这里插入图片描述

1.2.1 单行数据全列插入

在这里插入图片描述

插入成功!
所插入的值的数量必须和定义表的列的数量和顺序一致!

1.2.2 单行数据指定列插入

这里指定在 id 列和 name 列插入 “2 ,李四”
在这里插入图片描述

1.2.3 多行数据指定列插入

这里指定在 id 列和 name 列插入 “3 ,王五” ,“4 ,赵六”
在这里插入图片描述

二、Retrieve 检索

2.1 语法

SELECT
[DISTINCT]    -- 去重
select_expr [, select_expr] ...
[FROM table_references]    -- 从哪个表
[WHERE where_condition]    -- 查询条件
[GROUP BY {col_name | expr}, ...]    -- 根据什么分组
[HAVING where_condition]   -- 对分组的结果进⾏过滤
[ORDER BY {col_name | expr } [ASC | DESC], ... ]   -- 排序
[LIMIT {[offset,] row_count | row_count OFFSET offset}]  -- 限制

在exam表中插入以下数据:

-- 插入测试数据
INSERT INTO exam (id, name, chinese, math, english) VALUES
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87, 78, 77),
(3, '猪悟能', 88, 98, 90),
(4, '曹孟德', 82, 84, 67),
(5, '刘⽞德', 55, 85, 45),
(6, '孙权', 70, 73, 78),
(7, '宋公明', 75, 65, 30);

2.2 示例

2.2.1 全列查询

select * from 表名;
// *表示所有列   返回表中所有信息

注意: 在工作中,select * from 表名; 是个非常危险的操作,为在生产环境中,一个表中的数据量非常大,有可能是TB级,每一个查询执行的时候会有磁盘开销和网络开销,如果不加限制会把服务器的资源吃完!!!

在这里插入图片描述

2.2.2 指定列查询

select 列名、列名... from 表名;

在这里插入图片描述

要查询的列只要在表中即可,与顺序无关。

2.2.3 查询字段为表达式

例子:

select id, name, chinese, 10 from exam; -- 可以是一个常量
select id, name, chinese, 10 + 1 from exam; -- 可以是一个表达式
select id, name, chinese + math + english from exam; -- 可以是一个表达式 
select id, name, chinese + math + english (as) total from exam;-- 可以为列重命名,直接在列明后边写,可以加as也可以不加

以上四个代码示例的执行结果如下:

在这里插入图片描述

2.2.4 结果去重查询

select math from exam;
select distinct math from exam;  -- 加distinct关键字对查询结果去重

结果1中的两个98变成了一个98

在这里插入图片描述

2.2.5 where条件查询

用法:直接在 where 后边加查询条件
示例:

select id, name, math from exam;
select id, name, math from exam where math > 90;  -- 查询数学成绩大于90分的同学

查询结果:

在这里插入图片描述

2.2.6 order by排序

示例:
将数学成绩大于80分的同学按 升序(asc) / 降序(desc) 排序;

select id, name, math from exam where math > 80 order by math asc;-- 升序
select id, name, math from exam where math > 80 order by math desc;-- 降序

查询结果:

在这里插入图片描述

注意:
• 查询中没有ORDER BY 子句,返回的顺序是未定义的,永远不要依赖这个顺序
• ORDER BY 子句中可以使用列的别名进行排序
• NULL 进行排序时,视为比任何值都小,升序出现在最上面,降序出现在最下面

2.2.7 分页查询

-- 起始下标为 0
-- 从 0 开始,筛选 num 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT num;
-- 从 start 开始,筛选 num 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT start, num;
-- 从 start 开始,筛选 num 条结果,⽐第⼆种⽤法更明确,建议使⽤
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT num OFFSET start;

示例:

select id, name, chinese + english + math total from exam;
select id, name, chinese + english + math total from exam limit 2;-- 从0开始往后查询两条
select id, name, chinese + english + math total from exam limit 1,2;-- 从1开始向后查询两条,不包括1
select id, name, chinese + english + math total from exam limit 2 offset 1;
-- 从记录为1的位置开始向后读取两条记录,不包括1

查询结果:

在这里插入图片描述

三、Update 修改

语法:

UPDATE table_reference -- 表名
SET assignment [, assignment] ...  --哪个列,什么值
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

简单来说就是:

update 表名 set 列名 =...;

示例:将孙悟空的数学成绩修改为80分
代码:

update exam set math = 80 where name = '孙悟空';

执行结果:

在这里插入图片描述

update 注意事项:

  1. 在原值的基础上做变更时,不能使用math+=30这样的语法,要使用math = math + 30
  2. 不加where条件时,会导致全表数据被更新,必须谨慎操作!!!

四、Delete 删除

语法:

DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

示例1:删除孙悟空同学的考试成绩

delete from exam where name = '孙悟空';

在这里插入图片描述
示例2:删除整张表的数据
语法:

delete from exam;

在这里插入图片描述

注意:
执行 delete 时不加条件会删除整张表的数据,谨慎操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2315973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子电气架构 --- 分布到集中的动カ系统及基于域控制器的架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…

基于SpringBoot的“考研互助平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“考研互助平台”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 局部E-R图 系统首页界面 系统注册…

基于javaweb的SpringBoot足球俱乐部管理系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

DQN 玩 2048 实战|第一期!搭建游戏环境(附 PyGame 可视化源码)

视频讲解: DQN 玩 2048 实战|第一期!搭建游戏环境(附 PyGame 可视化源码) 代码仓库:GitHub - LitchiCheng/DRL-learning: 深度强化学习 2048游戏介绍,引用维基百科 《2048》在44的网格上进行。…

高频面试题(含笔试高频算法整理)基本总结回顾24

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

第八节:红黑树(初阶)

【本节要点】 红黑树概念红黑树性质红黑树结点定义红黑树结构红黑树插入操作的分析 一、红黑树的概念与性质 1.1 红黑树的概念 红黑树 ,是一种 二叉搜索树 ,但 在每个结点上增加一个存储位表示结点的颜色,可以是 Red和 Black 。 通过对 任何…

Webpack vs Rollup vs Parcel:构建工具深度对比

文章目录 1. 核心特性对比1.1 功能定位1.2 技术架构对比 2. 配置与使用2.1 Webpack 配置示例2.2 Rollup 配置示例2.3 Parcel 使用示例 3. 性能对比3.1 构建速度3.2 输出质量 4. 生态系统4.1 插件生态4.2 学习曲线 5. 适用场景分析5.1 Webpack 适用场景5.2 Rollup 适用场景5.3 P…

Centos7使用docker搭建redis集群

前置准备: Centos7安装docker就不多说了… 本次目的是搭建3主3从(当然你也可以按需扩展)准备三台服务器,假定IP分别为:192.168.75.128、192.168.75.129、192.168.75.130安装 redis: #拉取redis docker p…

数字孪生像魔镜,映照出无限可能的未来

在当今科技飞速发展的时代,数字孪生作为一项极具潜力的前沿技术,正逐渐崭露头角,成为众多领域关注的焦点。它犹如一面神奇的魔镜,以数字化的方式精准映照出现实世界中的各种实体与系统,为我们开启了一扇通往无限可能未…

前端知识点---原型-原型链(javascript)

文章目录 原型原型链:实际应用面试题回答 原型 原型:每个函数都有prototype属性 称之为原型 因为这个属性的值是个对象,也称为原型对象 只有函数才有prototype属性 作用: 1.存放一些属性和方法 2.在Javascript中实现继承 const arr new Array(1, 2, 3, 4) con…

数据类设计_图片类设计之6_混合图形类设计(前端架构)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 接续上一篇,讨论混合图形类设计 方法论-现在能做什么 这段属于聊天内容---有句话是这么说的:不要只埋头拉车,还要抬头看路。写代码也是…

2024年12月CCF-GESP编程能力等级认证C++编程一级真题解析

一级真题的难度: ‌ CCF-GESP编程能力等级认证C++编程一级真题的难度适中‌。这些真题主要考察的是C++编程的基础知识、基本语法以及简单的算法逻辑。从搜索结果中可以看到,真题内容包括了选择题、编程题等题型,涉及的内容如C++表达式的计算、基本输入输出语句的理解…

尤瓦尔·诺亚·赫拉利(Yuval Noah Harari)作品和思想深度报告

尤瓦尔诺亚赫拉利(Yuval Noah Harari)作品和思想深度报告 引言 尤瓦尔诺亚赫拉利(Yuval Noah Harari)是当今最具影响力的公众知识分子之一 ynharari.com 。作为一名历史学家和哲学家,他以宏大的视角和清晰生动的语言…

JConsole:JDK性能监控利器之JConsole的使用说明与案例实践

🪁🍁 希望本文能给您带来帮助,如果有任何问题,欢迎批评指正!🐅🐾🍁🐥 文章目录 一、背景二、JConsole的启动与连接2.1 JConsole的启动2.2 进程连接2.2.1 本地进程连接2.2…

Neural Architecture Search for Transformers:A Survey

摘要 基于 Transformer 的深度神经网络架构因其在自然语言处理 (NLP) 和计算机视觉 (CV) 领域的各种应用中的有效性而引起了极大的兴趣。这些模型是多种语言任务(例如情绪分析和文本摘要)的实际选择,取代了长短期记忆 (LSTM) 模型。视觉 Tr…

Browser Copilot 开源浏览器扩展,使用现有或定制的 AI 助手来完成日常 Web 应用程序任务。

一、软件介绍 文末提供源码和开源扩展程序下载 Browser Copilot 是一个开源浏览器扩展,允许您使用现有或定制的 AI 助手来帮助您完成日常 Web 应用程序任务。 目标是提供多功能的 UI 和简单的框架,以实现和使用越来越多的 copilots(AI 助手&…

基于PSO粒子群优化的XGBoost时间序列预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 XGBoost算法原理 4.2 XGBoost优化 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2024b 3.部分核心程序 (完整版代码包含…

aws(学习笔记第三十三课) 深入使用cdk 练习aws athena

文章目录 aws(学习笔记第三十三课) 深入使用cdk学习内容:1. 使用aws athena1.1 什么是aws athena1.2 什么是aws glue1.2 为什么aws athena和aws glue一起使用 2. 开始练习aws athena2.1 代码链接2.2 整体架构2.3 代码解析2.3.1 创建测试数据的S3 bucket2.3.2 创建保…

基于RAGFlow本地部署DeepSpeek-R1大模型与知识库:从配置到应用的全流程解析

作者:后端小肥肠 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: DeepSpeek服务器繁忙?这几种替代方案帮你流畅使用!(附本地部署教程)-CSDN博客 10分钟上手…

SpringBoot 集成logback日志链路追踪

项目场景 有时候一个业务调用链场景,很长,调了各种各样的方法,看日志的时候,各个接口的日志穿插,确实让人头大。 为了解决这个痛点,就使用了 TraceId,根据 TraceId 关键字进入服务器查询日志中…