当前位置: 首页 > article >正文

【MySQL 数据库】增删查改操作CRUD(上)

 🔥博客主页🔥:【 坊钰_CSDN博客 】

欢迎各位点赞👍评论✍收藏⭐

目录

1. CRUD 简介

2. Create -- 新增

2.1 语法

 2.2 练习

3. Retrieve -- 检索

3.1 Select -- 查询

3.1.1 全列查询

3.1.2 指定列查询

3.1.3 表达式查询

3.1.4 为结果命名

 3.1.5 为结果去重

3.1.6 Select 注意事项

3.2 Where -- 条件查询

3.2.1 语法

3.2.2 示例

3.2.2.1 限制条件查询

3.2.2.2 范围查询

3.2.2.3 模糊查询

3.2.2.4 NULL-- 查询

3.3 Order by -- 排序

3.3.1 语法

 3.3.2 排列示例

3.4 分页查询

3.4.1 语法

3.4.2 分页示例

3.5 Update -- 修改

3.5.1 语法

3.5.2 修改示例

3.6 Delete -- 删除

4. 小结


1. CRUD 简介

在数据库中的操作,增删查改是最基本的操作,简称 CRUD

Create -- 新增Retrieve -- 读取Update -- 更新Delete -- 删除

2. Create -- 新增

那么在一张表中,如何插入数据呢?

2.1 语法

insert into table——name 列名 value 数据值
  • 这是较简略的写法,后续还有各种语法组装在一起,后续讲解

 2.2 练习

创建一张考试成绩表,如下:

-- 使用库
use store;-- 创建一张成绩表
create table if not exists exam(id bigint comment '序号',name varchar(20) comment '学生姓名',chinese float comment '语文成绩',math float comment '数学成绩',english float comment '英语成绩'
);-- 插入数据
insert into exam (id,name,chinese,math,english) value (1,'唐三藏', 67, 80, 92),(2,'孙悟空', 87, 78, 77),(3,'猪悟能', 88, 98, 90),(4,'沙和尚', 85, 78, 80),(5,'曹孟德', 82, 84, 67),(6,'刘玄德', 55, 85, 45),(7,'孙权',   70, 73, 78);

先看表的内容: (具体语句在代码中,不作过多讲解)

3. Retrieve -- 检索

那我们如何查看表中的数据呢?

3.1 Select -- 查询

-- 语法
mysql> select 列名 from 表名;

3.1.1 全列查询

  • 使用 * 可进行全列查询
mysql> select * from exam;

3.1.2 指定列查询

  • 使用要查的列名去查询,例:查询同学的数学,英语成绩
mysql> select id,name,math,english from exam;

3.1.3 表达式查询

  • 例:把所有同学的英语成绩加10分
mysql> select id,name,english + 10 from exam;

  • 例:查询所有同学的总分 
mysql> select id,name,chinese+math+english from exam;

3.1.4 为结果命名

  •  为总分命名,以上述为例
mysql> select id,name,chinese+math+english 总分 from exam;

     3.1.5 为结果去重

    • 去除重复的数学成绩

    mysql> select distinct math from exam;

    3.1.6 Select 注意事项

    • select 查询时,如果不加限制条件,会查询服务器中所有数据,导致服务器资源的浪费
    • 生产环境中最好不要写出不带限制条件的查询语句 

    3.2 Where -- 条件查询

    有限制条件的查询如何写呢?

    3.2.1 语法

    mysql> select 列名 from exam where 条件;

    3.2.2 示例

    3.2.2.1 限制条件查询
    • 查询英语成绩不及格的同学
    mysql> select id,name,english from exam where english < 60;

    • 总分在200分以下的同学 
    mysql> select id,name,chinese + math + english 总分 from exam where chinese + math + english < 200;

    3.2.2.2 范围查询
    • 查询语文成绩在【80,90】的同学
    mysql> select id,name,chinese from exam where chinese between 80 and 90;

    • 查询数学成绩为 78 或 79 或 98  的同学 
    mysql> select id,name,math from exam where math in (78, 79, 98);

    3.2.2.3 模糊查询
    • 查询所有姓孙的同学 
    mysql> select * from exam where name like '孙%';

    • 查询所有姓孙且名字只有2个字的同学 
    mysql> select * from exam where name like '孙_';

    3.2.2.4 NULL-- 查询

    写入一个数学成绩为 null 的同学

    -- 插入数学成绩为null
    insert into exam (id,name,chinese,math,english) value (1, '赵云', 78, null, 88);

    • 查询数学成绩不为空的同学  
    mysql> select id,name,math from exam where math is not null;

    • NULL 与任何值进行计算都为 NULL 
    mysql> select id,name,chinese+math+english '总分' from exam;

    3.3 Order by -- 排序

    在数据库中如何排序呢?

    3.3.1 语法

    -- 升序(从小到大)
    ASC-- 降序(从大到小)
    DESC-- 默认为 ASCmysql> select 列名 from exam where 条件 order by 排序;

     3.3.2 排列示例

    • 按数学成绩降序查询
    mysql> select name,math from exam order by math desc;

    • 总分降序查询 
    mysql> select name,chinese + math + english 总分 from exam order by 总分 desc;

    3.4 分页查询

    如果数据库中数据较多,那么我们就要进行分页查询

    3.4.1 语法

    -- 从 0 开始,筛选 num 条结果
    mysql> select 列名 from exam where 条件 order by 排序 limit num;-- 从 start 开始,筛选 num 条结果
    mysql> select 列名 from exam where 条件 order by 排序 limit start,num;-- 从 start 开始,筛选 num 条结果
    mysql> select 列名 from exam where 条件 order by 排序 limit num offset start;

    3.4.2 分页示例

    • 按一页有3行数据来查 
    mysql> select * from exam limit 0,3;

    3.5 Update -- 修改

    数据库中数据信息如果错误,如何修改呢?

    3.5.1 语法

    update table_name set [up_options];
    

    3.5.2 修改示例

    • 将唐三藏数学成绩改为90分
    mysql> update exam set math = 90 where name = '唐三藏';

    • 将所有同学数学都乘以2 
    mysql> update exam set math = math * 2;

    3.6 Delete -- 删除

    删除是一种非常危险的操作,不建议操作

    • 删除赵云的数据 
    mysql> delete from exam where name = '赵云';

    4. 小结

    以上就是对MySQL增删查改的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持 

    相关文章:

    【MySQL 数据库】增删查改操作CRUD(上)

    &#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. CRUD 简介 2. Create -- 新增 2.1 语法 2.2 练习 3. Retrieve -- 检索 3.1 Select -- 查询 3.1.1 全列查询 3.1.2 指定列查询 3.1.3 表达式查询 3.…...

    pycharm 有智能提示,但是没法自动导包,也就是alt+enter无效果

    找到file->settings->editor->inspections 把python勾选上&#xff0c;原来不能用是因为只勾选了一部分。...

    web前端: 什么是web?

    web前端指的是利用HTML、CSS、JavaScript等各种web技术&#xff0c;做出能在浏览器上运行且用户可见的界面&#xff0c;比如网站网页、APP软件界面、游戏前端界面等。web前端主要包括web全局架构、web视觉表现和web交互效果这三部分。 WEB发展史 Web&#xff08;World Wide We…...

    Java 开发中主流安全框架的详细对比,涵盖 认证、授权、加密、安全策略 等核心功能,帮助开发者根据需求选择合适的方案

    以下是 Java 开发中主流安全框架的详细对比&#xff0c;涵盖 认证、授权、加密、安全策略 等核心功能&#xff0c;帮助开发者根据需求选择合适的方案&#xff1a; 1. 主流安全框架对比表 框架名称类型核心功能适用场景优点缺点官网/文档Spring Security企业级安全框架认证、授…...

    Linux网络编程——TCP协议格式、可靠性分析

    目录 一、前言 二、TCP协议格式 三、TCP的可靠性 TCP协议的确认应答机制 总结 四、TCP协议的缓冲区及流量控制 五、 TCP流量控制 六、TCP报文类型 标记位 一、前言 在上一篇文章中&#xff0c;我们重点介绍了UDP协议格式的一些内容。在本文中介绍的便是TCP协议格式的…...

    【深度学习】Downstream Model:预训练模型的下游应用与微调技术

    Downstream Model&#xff1a;预训练模型的下游应用与微调技术 文章目录 Downstream Model&#xff1a;预训练模型的下游应用与微调技术1 什么是Downstream Model&#xff08;下游模型&#xff09;2 预训练模型与下游任务的关系3 微调技术与迁移学习微调的必要性高效迁移学习参…...

    C# ref out关键字 理解学习记录

    ref 在传参是可以以指针的方式传递&#xff0c;而不是传参数的值 举例&#xff0c;函数返回void ,局部变量要传参后得到结果&#xff1a; ref传参前要实例化赋值&#xff0c;而函数体内不一定要赋值 out 传参前不一定要赋值&#xff0c;而函数体内一定要赋值 &#xff0c;与r…...

    网络建设与运维神州数码DCN VRF虚拟路由转发 路由表隔离

    作用&#xff1a; 通过在一台路由器或者三层交换机上创建多张路由表实现数据的隔离&#xff0c;常用与MPLS VPN、防火墙.... 如果发送的包在同一VRF中&#xff0c;则查表&#xff0c;查找到匹配的路由条目后&#xff0c;将指示的端口转发给下一跳 如果不在同一VRF中则丢弃。…...

    Python中的AdaBoost分类器:集成方法与模型构建

    引言 在机器学习领域&#xff0c;集成方法&#xff08;Ensemble Methods&#xff09;是一种通过结合多个基学习器来提高模型性能的技术。AdaBoost&#xff08;Adaptive Boosting&#xff09;是集成方法中的一种经典算法&#xff0c;它通过迭代训练多个弱分类器&#xff0c;并将…...

    11:00开始面试,11:08就出来了,问的问题有点变态。。。

    从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到8月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

    大模型本地部署系列(1) Ollama的安装与配置

    一. Ollama简介 Ollama 是一个 本地化的大模型运行工具&#xff0c;可以让你在自己的电脑&#xff08;比如Mac、Windows、Linux&#xff09;上直接下载和运行各种开源的大型语言模型&#xff08;比如 LLaMA 3、Mistral、Gemma 等&#xff09;&#xff0c;而无需依赖互联网或云…...

    宝塔面板数据库管理页面打不开,提示405 Not Allowed

    宝塔面板数据库的管理按钮打开&#xff0c;提示405 Not Allowed 一般是php版本不匹配。 PHPMyAdmin 4.x PHP 5.2&#xff1a;安装 phpMyAdmin 4.1 PHP 5.3/5.4&#xff1a;安装 phpMyAdmin 4.4 PHP 5.5&#xff1a;安装 phpMyAdmin 4.4 PHP 5.6&#xff1a;安装 phpMyAdmin 4…...

    文件上传漏洞原理学习

    什么是文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件&#xff0c;并通过此脚本文件获得了执行服务器端命令的能力。“文件上传” 本身没有问题&#xff0c;有问题的是文件上传后&#xff0c;服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全&#…...

    数字的乘阶运算

    求数字的乘阶&#xff1a; 例如&#xff1a;6的乘阶运算&#xff1a;6*5*4*3*2*1 例如&#xff1a;3的乘阶运算&#xff1a;3*2*1 class Program{static void Main(string[] args){Console.WriteLine("请输入数字&#xff1a;");int num_01 Convert.ToInt32 (Con…...

    OpenCV——图像融合

    OpenCV——图像融合 一、引言1.1 图像融合分类 二、C代码实现三、效果展示3.1 标准球3.2 铝制底座 一、引言 在许多计算机视觉应用中(例如机器人运动和医学成像)&#xff0c;需要将来自多幅图像的相关信息集成到一幅图像中。这种图像融合将提供更高的可靠性、准确性和数据质量…...

    基于 Spring Boot 瑞吉外卖系统开发(四)

    基于 Spring Boot 瑞吉外卖系统开发&#xff08;四&#xff09; 新增分类 新增分类UI界面&#xff0c;两个按钮分别对应两个UI界面 两个页面所需的接口都一样&#xff0c;请求参数type值不一样&#xff0c;type1为菜品分类&#xff0c;type2为套餐分类。 请求方法都为POST。…...

    C语言for循环嵌套if相关题目

    一、题目引入 以下代码程序运行结果是多少? 二、思路解析 进入一个for循环 a<100 进入第一个if b1不大于20为假 进入第二个if b4 a这时a自增为2 当b4时,满足第二个if条件 1.b4,a2 当b7时,满足第二个if条件 2.bb37,a3 当b10时,满足第二个if条件 …...

    springAOP终极总结

    开头先大致说一下bean的生命周期 创建 Bean 实例 → 填充属性 → 初始化前&#xff1a; → 所有 postProcessBeforeInitialization(bean, name) 执行 init 方法&#xff08;比如 PostConstruct&#xff09; → 所有 postProcessAfterInitialization(bean, name) OK&#xff…...

    紫光展锐5G SoC T8300:影像升级,「定格」美好世界

    影像能力已成为当今衡量智能手机性能的重要标尺之一。随着消费者对手机摄影需求日益提升&#xff0c;手机厂商纷纷在影像硬件和算法上展开激烈竞争&#xff0c;力求为用户带来更加出色的拍摄体验。 紫光展锐专为全球主流用户打造的畅享影音和游戏体验的5G SoC——T8300&#x…...

    视频设备轨迹回放平台用EasyCVR打造变电站智慧消防远程集中视频监控方案

    一、方案背景 近年来&#xff0c;电力系统中变电站火灾事故频发&#xff0c;消防势态不容乐观。强化变电站的消防安全管理&#xff0c;成为电网企业核心的任务之一&#xff0c;预防火灾、消除隐患不容延缓。目前&#xff0c;我国消防安全领域仍面临着诸多的挑战&#xff0c;基…...

    JVM性能调优:参数配置×内存诊断×GC调优实战

    &#x1f680;前言 “你的Java应用是否还在经历莫名卡顿&#xff1f;半夜被OOM报警惊醒&#xff1f;GC日志像天书看不懂&#xff1f; 本文将用20个真实案例50个关键参数&#xff0c;带你掌握&#xff1a; 参数调优&#xff1a;如何用-XX:UseG1GC让GC暂停从秒级降到毫秒级&…...

    如何优化 App 启动速度以实现快速打开

    一、启动阶段分析&#xff08;先明确问题&#xff09; Android App 启动分为三个阶段&#xff1a; 冷启动&#xff08;最慢&#xff09;&#xff1a;进程不存在&#xff0c;需初始化系统和 App 资源 温启动&#xff1a;Activity 被销毁但进程存活 热启动&#xff08;最快&am…...

    逍遥模拟器ARM过检测技术全解析

    逍遥模拟器ARM框架安装magisk和修改设备型号隐藏应用隐藏root过检测 逍遥模拟器ARMmagisk改设备型号隐藏应用隐藏root 引言 逍遥模拟器以其出色的性能和丰富的功能&#xff0c;深受广大用户喜爱&#xff0c;让用户能在电脑上轻松运行各类安卓应用和游戏。然而&#xff0c;为保…...

    每日定投40刀BTC(13)20250404 - 20250408

    定投 坚持 《劲松吟》 千山寒雪覆虬枝&#xff0c; 犹自擎空展翠姿。 岂畏风霜摧瘦骨&#xff1f; 心如磐石立崖时。 十年蓄得凌云志&#xff0c; 终向苍穹吐碧丝。 莫道深冬无劲色&#xff0c; 长将孤影刻天墀。...

    量子计算模拟中的GPU加速:从量子门操作到Shor算法实现

    一、量子模拟的算力困境与GPU破局 量子计算模拟面临‌指数级增长的资源需求‌&#xff1a;n个量子比特的态向量需要2^n个复数存储空间。当n>30时&#xff0c;单机内存已无法承载&#xff08;1TB需求&#xff09;。传统CPU模拟器&#xff08;如Qiskit的Aer&#xff09;在n28…...

    牛客 小红杀怪

    通过枚举所有使用y技能的次数来枚举出所有方案&#xff0c;选出最合适的 #include<iostream> #include<cmath> #include<algorithm> using namespace std;int a, b, x, y; int ans500;int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>&…...

    部署大模型不再难:DeepSeek + 腾讯云 HAI 实战教程

    网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

    企业资源计划(ERP)系统:数字化转型的核心引擎

    在当今高度数字化的商业环境中&#xff0c;企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;ERP&#xff09;系统已成为企业优化运营、提升竞争力的重要工具。本文将从​​定义与发展​​、​​核心功能模块​​、​​行业应用场景​​、​​优势与挑战​​以…...

    基于二叉堆实现的 PriorityQueue

    基于二叉堆实现的 PriorityQueue 是一种常见的数据结构&#xff0c;广泛用于任务调度、路径搜索、事件模拟等场景。下面我将用 Java 语言实现一个简单的基于最小堆的 PriorityQueue&#xff0c;即优先级最小的元素先出队。 ✅ 实现目标 使用数组实现二叉最小堆&#xff08;即父…...

    JVM中常见的垃圾回收器(Garbage Collectors)

    JVM中常见的垃圾回收器&#xff08;Garbage Collectors&#xff09;的分类和描述&#xff1a; 一、新生代收集器&#xff08;Young Generation Collectors&#xff09; 新生代收集器主要负责收集新创建的对象&#xff0c;这些对象通常存活时间较短。 Serial GC • 单线程收集…...