MYSQL中的增删改查操作(如果想知道MYSQL中有关增删改查操作的知识,那么只看这一篇就足够了!)

news2024/12/26 18:24:33

        前言:在 MySQL 中,增、删、改、查(CRUD)操作是基本的数据库操作,增操作(INSERT)用于插入数据,删操作(DELETE)用于删除数据,改操作(UPDATE)用于更新数据,查操作(SELECT)用于查询数据。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

在正式开始讲解之前,先让我们看一下本文大致的讲解内容:

目录

1.增操作

        (1)INSERT 操作

——插入数据的基本语法

——插入方式

【1】单行全列插入

【2】单行指定列插入

【3】多行指定列插入

2.查操作

        (1)SELECT 查询

        【1】查询所有列

        【2】查询指定列

        【3】查询字段为表达式

        【4】查询结果去重

        (2)WHERE 条件查询

        【1】条件运算符

        【2】逻辑运算符

        【3】范围查询

        【4】多值查询

        【5】模糊查询

        【6】NULL 查询

        (3)ORDER BY 排序

        (4)分页查询

3.修改操作

        (1)UPDATE操作

4.删除操作

        (1)DELETE操作


1.增操作

        (1)INSERT 操作

——插入数据的基本语法

        首先先让我们学习一下插入操作(INSERT),INSERT 语句用于向数据库表中插入新记录,最常见的插入方式是指定列名和对应的值,基本语法如下:

INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);

        为了能让读者更好的进行理解,这里我们使用一个案例来进一步讲解一下,假设我们有一个员工表 employees,其结构如下:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    job VARCHAR(50)
);

我们可以使用 INSERT INTO 语句将数据插入表中:

INSERT INTO employees (id, name, age, job) VALUES (1, 'Alice', 30, 'Engineer');

        这样我们就完成了插入操作了!

——插入方式

        在了解了插入语句的基本操作之后,在让我们看一下MySQL中的插入方式有哪些:

【1】单行全列插入

        单行全列插入的方式是最简单的插入方式,在这种方式下,我们不需要指定列名,直接按表的结构顺序提供值,插入的数据会按顺序与表的列匹配。

例子:

INSERT INTO employees VALUES (2, 'Bob', 28, 'Manager');

        解释:在这个示例中,我们没有显式指定列名,VALUES 中的值会按表中列的顺序插入。

【2】单行指定列插入

        当我们不希望插入所有列的数据时,可以仅插入部分列,此时需要明确指定要插入的列名,如果未指定的列没有默认值或允许 NULL,则会插入 NULL

例子:

INSERT INTO employees (id, name) VALUES (3, 'Charlie');

        解释:在上面的示例中,只有 idname 被插入,agejob 会默认为 NULL(假设这两个字段允许 NULL)。

【3】多行指定列插入

        SQL 允许我们在一个 INSERT 语句中插入多行数据,这样可以减少数据库的交互次数,提高批量插入的效率。

例子:

INSERT INTO employees (id, name, age, job)
VALUES (4, 'David', 35, 'HR'),
       (5, 'Eva', 40, 'CFO'),
       (6, 'Frank', 25, 'Engineer');

        解释:在此示例中,我们一次插入了三行数据,所有插入的数据列都明确列出。

至此,我们就了解了所有的插入方式了!

2.查操作

        (1)SELECT 查询

        学习完增操作之后,接下来让我们学习一下查操作,首先先让我们学习SELECT 查询,SELECT 语句是用于从数据库表中查询数据的最基本语句,通过 SELECT,我们可以指定查询的列、排序方式、过滤条件等,从而获取所需的结果。

以下为SELECT查询的常见操作:

        【1】查询所有列

        ——如果希望查询表中的所有列,可以使用 SELECT *

SELECT * FROM employees;

        解释:这条语句将返回 employees 表中的所有列和所有行数据

        【2】查询指定列

        ——如果我们只关心某些列的数据,可以在 SELECT 语句中指定列名:

SELECT name, age FROM employees;

        解释:这样只会返回 nameage 两列的数据,而忽略其他列。

        【3】查询字段为表达式

        ——有时,我们可能需要在查询结果中包含计算结果,例如,可以将员工的年龄加上 5 年,生成一个新的字段。

SELECT name, age, age + 5 AS age_in_5_years FROM employees;

       解释:在这个示例中,我们不仅查询了 nameage 列,还通过表达式 age + 5 计算了员工 5 年后的年龄,并给计算结果起了个别名 age_in_5_years

        【4】查询结果去重

        ——使用 DISTINCT 关键字可以去除查询结果中的重复数据,比如,如果我们希望查询所有不重复的职位,可以使用:

SELECT DISTINCT job FROM employees;

        解释:这条查询会返回所有不同的职位,而不会重复出现相同的职位。

至此,我们就大致了解了SELECT 查询了!

        (2)WHERE 条件查询

        在了解完了SELECT 查询之后,在让我们了解一下 WHERE 条件查询。

        在 SQL 中,WHERE 子句用于指定筛选查询结果的条件,它可以包含各种条件运算符、逻辑运算符、范围查询、模糊查询等,从而精确控制查询结果。

        【1】条件运算符

        ——SQL 提供了多种条件运算符,允许我们精确地过滤结果。

常见的条件运算符包括:

  • =:等于
  • !=<>:不等于
  • ><:大于、小于
  • >=<=:大于等于、小于等于

示例:

SELECT * FROM employees WHERE age > 30;

        解释:这条查询会返回 employees 表中年龄大于 30 岁的所有员工。

        【2】逻辑运算符

        ——除了基本的条件运算符外,SQL 还支持逻辑运算符来组合多个条件:

  • AND:同时满足多个条件
  • OR:满足任一条件
  • NOT:取反

示例1:

SELECT * FROM employees WHERE age > 30 AND job = 'Engineer';

        解释:该查询将返回所有年龄大于 30 且职位为 Engineer 的员工。

示例2:

SELECT * FROM employees WHERE job = 'Engineer' OR job = 'Manager';

        解释:这条查询返回所有职位为 EngineerManager 的员工。

        【3】范围查询

        ——BETWEEN 运算符用于筛选在指定范围内的值,通常用于数值、日期、时间等字段,它是闭区间,即包括边界值。

示例:

SELECT * FROM employees WHERE age BETWEEN 25 AND 35;

        解释:这条查询会返回年龄在 25 到 35 岁之间(包括 25 和 35)的所有员工。

        【4】多值查询

        ——IN 运算符用于检查某个值是否在指定的集合中,它可以用于多个具体值的匹配,非常适用于查找在特定列表中的记录。

示例:

SELECT * FROM employees WHERE job IN ('Engineer', 'Manager');

        解释:该查询将返回职位为 EngineerManager 的所有员工。

        【5】模糊查询

        ——LIKE 运算符用于进行模糊匹配,通常用于字符串数据类型。

支持通配符:

  • %:匹配零个或多个字符
  • _:匹配一个字符

示例:

SELECT * FROM employees WHERE name LIKE 'A%';

        解释:这条查询将返回所有名字以字母 A 开头的员工。例如,AliceAndrew 等。

        【6】NULL 查询

        ——IS NOT 用于判断某个字段是否为空,而 IS NOT NULL 用于判断字段不为空。

示例1:

SELECT * FROM employees WHERE job IS NULL;

        解释:该查询将返回 job 字段为空的所有员工记录。

示例2:

SELECT * FROM employees WHERE job IS NOT NULL;

        解释:这条查询将返回所有职位已指定的员工记录。

至此,我们就了解了所有的where条件查询了!

        (3)ORDER BY 排序

        在学习完了SELECT查询和where查询之后,在让我们学习一下ORDER BY 排序查询,ORDER BY子句用于对查询结果进行排序,可以按一个或多个列进行升序(ASC)或降序(DESC)排列。

        以下是常见的排序方式:

升序排序:

        ——ORDER BY 默认按照升序排列数据。

示例:

SELECT * FROM employees ORDER BY age;

        解释:这条查询会按 age 列的升序对 employees 表进行排序,即年龄从小到大。

降序排序:

        ——如果是想要按降序排列,可以在列后加上 DESC

示例:

SELECT * FROM employees ORDER BY age DESC;

        解释:这条查询将返回 employees 表中按 age 列降序排列的员工数据,即年龄从大到小。

按多个列排序:

        ——ORDER BY还支持对多个列进行排序,默认情况下,排序是从左到右进行的,可以先按一个列排序,再按另一个列排序。

示例:

SELECT * FROM employees ORDER BY job, age DESC;

        解释:该查询将首先按照 job 列升序排列,如果有多个员工职位相同,再根据 age 列降序排列。

        以上就是ORDER BY排序的常见排序方式了!

        (4)分页查询

        接下来让我们学习一下分页查询,分页查询用于在查询结果较多时,将数据分为多个页面进行展示,SQL 提供了 LIMITOFFSET 来实现分页查询。

       其中 LIMIT 用于限制返回的记录数,而 OFFSET 用于指定从哪一行开始返回数据。LIMITOFFSET 通常一起使用来控制分页。

示例:

假设我们每页显示 10 条记录,想查询第 2 页的内容:

SELECT * FROM employees LIMIT 10 OFFSET 10;

        解释:这条查询会从第 11 条记录开始,返回 10 条记录(即第 2 页的内容),OFFSET 指定了起始记录的偏移量,而 LIMIT 指定了每页返回的记录数。

        相信通过上述的案例,读者就可以很好的对分页查询进行理解了!

3.修改操作

        (1)UPDATE操作

        在学习完了增操作和查操作之后,在让我们学习一下修改操作,UPDATE 语句用于修改表中的现有数据,它允许我们指定要修改的列及其新值,并通过 WHERE 子句指定修改的行,没有 WHERE 子句时,整个表的所有数据都会被更新。

基本语法:

UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;

        了解了上述的基础语法之后,让我们使用一个例子来帮助你进行理解:

UPDATE employees SET age = 35 WHERE id = 1;

        解释:上面的示例将 id 为 1 的员工年龄更新为 35。

使用UPDATE 语句时的注意事项:

  • 在执行 UPDATE 时,确保通过 WHERE 子句精确指定要更新的记录,否则可能会更新整个表的数据。
  • 在更新前,可以先执行 SELECT 查询确认数据是否符合预期,以避免误操作。

至此,我们就了解完了MySQL中的修改操作了!

4.删除操作

        (1)DELETE操作

        最后再让我们学习一下删除操作,DELETE 用于删除表中的记录,与 UPDATE 操作类似,DELETE 也需要通过 WHERE 子句指定条件,否则会删除表中的所有数据。

基本语法:

DELETE FROM 表名 WHERE 条件;

        了解了上述的基础语法之后,让我们使用一个例子来帮助你进行理解:

DELETE FROM employees WHERE id = 1;

        解释:该语句删除 id 为 1 的员工记录。

使用DELETE操作的注意事项:

  • 删除操作是不可恢复的,因此在执行 DELETE 时,建议先进行备份或者确认条件是否准确。
  • 同样,使用 WHERE 子句时要非常谨慎,避免不小心删除所有数据。

至此,我们就了解完了MySQL中的删除操作了!


以上就是本篇文章全部内容~~

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

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

相关文章

Ansible的yum和saltstack的哪个功能相似

Ansible的yum和saltstack的哪个功能相似 在 Ansible 和 SaltStack 中&#xff0c;Ansible 的 yum 模块 和 SaltStack 的 pkg 模块 功能相似。它们都用于管理软件包&#xff0c;支持安装、升级、删除和查询等操作。 Ansible 的 yum 模块 用途&#xff1a; 专门用于基于 Red Hat …

在做题中学习(76):颜色分类

解法&#xff1a;三指针 思路&#xff1a;用三个指针&#xff0c;把数组划分为三个区域&#xff1a; for循环遍历数组&#xff0c;i遍历数组&#xff0c;left是0区间的末尾&#xff0c;right是2区间的开头&#xff0c;0 1 2区间成功被划分 而上面的图画是最终实现的图样&…

Java版-速通数据结构-树基础知识

现在面试问mysql,红黑树好像都是必备问题了。动不动就让手写红黑树或者简单介绍下红黑树。然而&#xff0c;我们如果直接去看红黑树&#xff0c;可能会一下子蒙了。在看红黑树之前&#xff0c;需要先了解下树的基础知识&#xff0c;从简单到复杂&#xff0c;看看红黑树是在什么…

浙江工业大学《2024年828自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《浙江工业大学828自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2024年真题 Part1&#xff1a;2024年完整版真题 2024年真题

【计算机网络】实验11:边界网关协议BGP

实验11 边界网关协议BGP 一、实验目的 本次实验旨在验证边界网关协议&#xff08;BGP&#xff09;的实际作用&#xff0c;并深入学习在路由器上配置和使用BGP协议的方法。通过实验&#xff0c;我将探索BGP在不同自治系统之间的路由选择和信息交换的功能&#xff0c;理解其在互…

微信小程序全屏显示地图

微信小程序在界面上显示地图&#xff0c;只需要用map标签 <map longitude"经度度数" latitude"纬度度数"></map>例如北京的经纬度为&#xff1a;116.407004,39.904595 <map class"bgMap" longitude"116.407004" lati…

InfluxDB 集成 Grafana

将InfluxDB集成到Grafana进行详细配置通常包括以下几个步骤&#xff1a;安装与配置InfluxDB、安装与配置Grafana、在Grafana中添加InfluxDB数据源以及创建和配置仪表板。以下是一个详细的配置指南&#xff1a; 一、安装与配置InfluxDB 下载与安装&#xff1a; 从InfluxDB的官…

【AI系统】ESPNet 系列

ESPNet 系列 本文将会介绍 ESPNet 系列&#xff0c;该网络主要应用在高分辨率图像下的语义分割&#xff0c;在计算内存占用、功耗方面都非常高效&#xff0c;重点介绍一种高效的空间金字塔卷积模块&#xff08;ESP Module&#xff09;&#xff1b;而在 ESPNet V2 上则是会更进…

【Axios】如何在Vue中使用Axios请求拦截器

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

w~深度学习~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12663254 #Motion Plan 代码 github.com/liangwq/robot_motion_planing 轨迹约束中的软硬约束 前面的几篇文章已经介绍了&#xff0c;轨迹约束的本质就是在做带约束的轨迹拟合。输入就是waypoint点list&#xff0c;约束…

大语言模型应用开发框架LangChain

大语言模型应用开发框架LangChain 一、LangChain项目介绍1、简介2、LangChain的价值3、实战演练 二、LangChain提示词大语言模型应用1、简介1.1、提示词模板化的优点1.2、提示词模板LLM 的应用1.3、Prompt 2、应用实战2.1、PromptTemplate LLM2.2、PromptTemplate LLM Outpu…

公众号文章标题的重要性

标题&#xff0c;不仅仅是一个简单的标题&#xff0c;它更是吸引读者眼球的“颜值担当”。 信息爆炸的今天&#xff0c;一个好的标题就是打开流量之门的金钥匙。那么&#xff0c;如何衡量一个标题的“颜值”呢&#xff1f;我们可以从两个维度来看&#xff1a;打开率和传播率。…

116. UE5 GAS RPG 实现击杀掉落战利品功能

这一篇&#xff0c;我们实现敌人被击败后&#xff0c;掉落战利品的功能。首先&#xff0c;我们将创建一个新的结构体&#xff0c;用于定义掉落体的内容&#xff0c;方便我们设置掉落物。然后&#xff0c;我们实现敌人死亡时的掉落函数&#xff0c;并在蓝图里实现对应的逻辑&…

ros2人脸检测

第一步&#xff1a; 首先在工作空间/src下创建数据结构目录service_interfaces ros2 pkg create service_interfaces --build-type ament_cmake 然后再创建一个srv目录 在里面创建FaceDetect.srv&#xff08;注意&#xff0c;首字母要大写&#xff09; sensor_msgs/Image …

Neo4j:图数据库使用入门

文章目录 一、Neo4j安装1、windows安装&#xff08;1&#xff09;准备环境&#xff08;2&#xff09;下载&#xff08;3&#xff09;解压&#xff08;4&#xff09;运行&#xff08;5&#xff09;基本使用 2、docker安装 二、CQL语句1、CQL简介2、CREATE 命令&#xff0c;创建节…

五.指派问题

匈牙利发求解指派问题找独立0元素&#xff0c;常用的步骤为&#xff1a;

如何利用AI生成专业级海报教程:解决中文嵌入问题的实战指南

AI生成专业级海报教程:解决中文嵌入问题的实战指南 一、前言:突破性进展 重大突破!字节即梦AI最新发布的v2.1绘图模型完美解决了中文文字嵌入问题。等待了整整两年,我们终于等到了这一天 —— AI可以直接在图片上完美呈现中文字体,审美和泛化能力都达到了惊人的水平。 二…

优质翻译在美国电子游戏推广中的作用

美国作为世界上最大的视频游戏市场之一&#xff0c;为寻求全球成功的游戏开发商提供了无与伦比的机会。然而&#xff0c;美国市场的文化和语言多样性使其成为一个复杂的导航景观。高质量的翻译在弥合开发者和这些充满活力的观众之间的差距方面发挥着关键作用&#xff0c;确保游…

嵌入式驱动开发详解4(内核定时器)

文章目录 前言通用定时器系统节拍节拍数与时间转换基本框架定时器使用代码展示通用定时器特点 高精度定时器 前言 LInux内核定时器是一种基于未来时间点的计时方式&#xff0c;以当前时刻来启动的时间点&#xff0c;以未来的某一时刻为终止点。比如&#xff0c;现在是10点5分&…

力扣-图论-3【算法学习day.53】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…