MySQL数据库的CURD、常见函数及UNION和UNION ALL

一、概述

MySQL是一种流行的关系型数据库管理系统,广泛应用于各种应用场景。在MySQL中,CURD操作是指创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据库中的数据。此外,MySQL还提供了丰富的函数来处理和操作数据,以及用于组合多个查询结果的UNION和UNION ALL操作。本文将介绍这些基本操作和功能的详细信息。

二、CURD操作

  1. 创建数据库和表

要使用MySQL数据库,首先需要创建数据库和表。可以使用CREATE DATABASE语句创建数据库,使用CREATE TABLE语句创建表。例如:

 

sql复制代码

CREATE DATABASE mydatabase;
USE mydatabase;
CREATE TABLE mytable (id INT, name VARCHAR(50), age INT);
  1. 读取数据

要从表中读取数据,可以使用SELECT语句。SELECT语句允许您指定要检索的列,并使用WHERE子句对结果进行筛选。例如:

 

sql复制代码

SELECT * FROM mytable WHERE age > 18;
  1. 更新数据

要更新表中的数据,可以使用UPDATE语句。UPDATE语句允许您指定要更新的列和条件,并使用SET子句指定要更新的值。例如:

 

sql复制代码

UPDATE mytable SET age = 20 WHERE id = 1;
  1. 删除数据

要从表中删除数据,可以使用DELETE语句。DELETE语句允许您指定要删除的行或条件。例如:

 

sql复制代码

DELETE FROM mytable WHERE age < 18;

三、常见函数

MySQL提供了许多内置函数,用于处理和操作数据。以下是一些常见的MySQL函数:

  1. 字符串函数:例如CONCAT、SUBSTRING、UPPER和LOWER等,用于处理字符串数据。
  2. 数值函数:例如ROUND、CEIL和FLOOR等,用于处理数值数据。
  3. 日期函数:例如NOW、DATE、DAY、MONTH和YEAR等,用于处理日期和时间数据。
  4. 聚合函数:例如SUM、COUNT、AVG和MAX等,用于对数据进行聚合计算。
  5. 控制流函数:例如IF、CASE和NULLIF等,用于在查询中添加条件逻辑。
  6. 类型转换函数:例如CAST和CONVERT等,用于在查询中转换数据类型。
  7. 其他函数:例如COALESCE、GREATEST和LEAST等,用于执行其他常见的数据处理任务。
  8. 流程控制函数:
  9. CASE语句
    使用CASE语句可以在查询中实现条件逻辑。它允许你根据一个或多个条件对数据进行分类或转换。

  10.  

    sql复制代码

    SELECT
    id,
    name,
    CASE
    WHEN age < 18 THEN '未成年'
    WHEN age BETWEEN 18 AND 60 THEN '成年'
    ELSE '老年'
    END AS age_group
    FROM users;
  11. IF函数
    在存储过程中,你可以使用IF语句进行条件判断和流程控制。

  12.  

    sql复制代码

    BEGIN
    IF age < 18 THEN
    -- 执行某些操作
    ELSE
    -- 执行其他操作
    END IF;
    END;
  13. 流程控制结构
    在存储过程中,你可以使用IFWHILEREPEAT等结构来实现更复杂的流程控制。
  14. 流程控制变量
    在存储过程中,可以使用用户定义的变量来控制流程。例如,设置一个标志变量,根据其值来决定是否执行某些操作。
  15. 游标
    当需要遍历查询结果中的每一行并基于行数据进行决策时,可以使用游标。游标允许你在处理结果集的每一行时进行逐行操作。
  16. 存储过程和函数
    通过编写存储过程和函数,你可以将一系列的SQL语句组织在一起,并在满足特定条件时执行它们。这提供了更高级别的流程控制能力。
  17. 触发器
    触发器是与表事件(如INSERT、UPDATE、DELETE)相关联的特殊类型的存储过程,它会在对表执行特定操作时自动执行。触发器可以用于实现某些自动化的流程控制。
  18. 事件调度器
    MySQL的事件调度器允许你创建在指定时间或间隔自动执行的任务。这可以用于定期执行某些操作或检查条件。
  19. 外键和触发器
    通过定义外键约束和相应的触发器,可以在数据库级别实现某些数据完整性和流程控制逻辑。例如,当一个表中的数据发生变化时,触发器可以自动更新另一个表中的相关数据。
  20. 连接和子查询
    通过使用连接(JOIN)和子查询,可以在单个查询中结合多个表的数据,并根据这些数据执行条件逻辑。
  21.  

    四。UNION和UNION ALL是数据库中用于合并多个表的结果集的两个重要的SQL运算符。

    UNION操作符用于将两个或多个SELECT语句的结果组合到一个结果集中。它会自动删除重复的行,并按照默认规则对结果集进行排序。UNION操作符要求每个SELECT语句具有相同数量的列,列的数据类型也必须兼容。

    UNION ALL操作符类似于UNION操作符,也是用于合并多个表的结果集。但是,UNION ALL不会删除重复的行,也不会对结果集进行排序。它将所有的结果全部显示出来,不管是不是重复。

    总的来说,UNION和UNION ALL都是用于合并多个表的结果集,但它们在处理重复行和排序方面有所不同。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS学习笔记(9)进一步深入了解ROS第三步

0.前提 1. (C)Why did you include the header file of the message file instead of the message file itself?&#xff08;为包含消息的头文件而不是消息本身&#xff1f;&#xff09; 回答&#xff1a;msg文件是描述ROS消息字段的文本文件&#xff0c;用于生成不同语言消息…

【Mars3d】new mars3d.layer.GeoJsonLayer({不规则polygon加载label不在正中间的解决方案

问题&#xff1a; 1.new mars3d.layer.GeoJsonLayer({type: "polygon",在styleOptions里配置label的时候&#xff0c;发现这个 不规则polygon加载的时候&#xff0c;会出现label不在中心位置。 graphicLayer new mars3d.layer.GeoJsonLayer({ name: "全国省界…

游戏Lua调用01.lua的编译及测试

一、lua库下载与编译 进入lua官网 Lua: version history 找到lua5.1 选择lua5.1是因为大部分游戏使用的都是lua5.1的库&#xff0c;也可以选择高版本&#xff0c;影响不大 下载完了后使用vs建立一个静态库或者动态库的工程 这里以动态库为例子&#xff0c;静态库也是一样的…

6 网关和配置服务器

文章目录 网关模式Spring Cloud网关Spring Cloud网关微服务其他项目的变更运行和测试小结 运行状况Spring Boot Actuator在微服务中包含Actuator 服务发现和负载均衡ConsulSpring Cloud ConsulSpring Cloud负载均衡器网关中的服务发现和负载均衡使用服务发现和负载均衡 环境配置…

vins 实机测试 rs_d435 + imu

vins 实机测试 文章目录 1. imu标定2. camera内参标定3. imu-cam 外参标定4. vins 实际运行5. realsense 1. imu标定 git clone https://github.com/gaowenliang/code_utils.git git clone https://github.com/gaowenliang/imu_utils.git编译运行&#xff0c; roslaunch imu_…

CSS基本知识

文章目录 1. CSS 是什么2. 基本语法规范3. 引入方式3.1 内部样式表3.2 行内样式表3.3 外部样式 4. 选择器4.1 选择器的功能4.2 选择器的种类4.3 基础选择器4.3.1 标签选择器4.3.2 类选择器4.3.3 id 选择器4.3.4 通配符选择器 4.4 复合选择器4.4.1 后代选择器4.4.2 伪类选择器 5…

git在本地创建dev分支并和远程的dev分支关联起来

文章目录 git在本地创建dev分支并和远程的dev分支关联起来1. 使用git命令2. 使用idea2.1 先删除上面建的本地分支dev2.2 通过idea建dev分支并和远程dev分支关联 3. 查看本地分支和远程分支的关系 git在本地创建dev分支并和远程的dev分支关联起来 1. 使用git命令 git checkout…

[每周一更]-(第50期):Go的垃圾回收GC

参考文章&#xff1a; https://juejin.cn/post/7111515970669117447https://draveness.me/golang/docs/part3-runtime/ch07-memory/golang-garbage-collector/https://colobu.com/2022/07/16/A-Guide-to-the-Go-Garbage-Collector/https://liangyaopei.github.io/2021/01/02/g…

【网络编程】——基于TCP协议实现回显服务器及客户端

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、TCP实…

Python | Iter/genartor | 一文了解迭代器、生成器的含义\区别\优缺点

前提 一种技术的出现&#xff0c;需要考虑&#xff1a; 为了实现什么样的需求&#xff1b;遇到了什么样的问题&#xff1b;采用了什么样的方案&#xff1b;最终接近或达到了预期的效果。 概念 提前理解几个概念&#xff1a; 迭代 我们经常听到产品迭代、技术迭代、功能迭代…

echarts 切换时出现上一次图形残留。

先说结果&#xff1a;悬浮高亮导致。这可能使echarts的bug。 正常情况出现这种问题&#xff0c;一般是setOption 中没有配置notMerge 导致新的配置与旧配置合并。 但是我这里始终配置notMerge: true&#xff0c;但仍然出现这种问题。 最后发现与鼠标悬浮有关。 环境 echar…

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述(CMU,CCM,TBU,MON)

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述(CMU,CCM,TBU,MON) 1 时钟管理单元(CMU)2 集群配置模块(CCM)3 时基单元(TBU)4 监控单元(MON)5 总结由前文的各篇内容,开发者已经知道如何使用GTM的大部分功能,在这些功能中,都需要一个信息就是fGTM 的数据,我们在前…

全网唯一值得推荐的C/C++框架和库

全网唯一值得推荐的C/C框架和库 C程序员开发指南 ​ 关注我&#xff0c;天天分享C/C开发技术干货&#xff01; ​关注他 30 人赞同了该文章 ​ 目录 收起 标准库 C通用框架和库 人工智能 异步事件循环 音频 生态学 压缩 并发性 容器 数据库 调试 游戏引擎 图…

(03)光刻——半导体电路的绘制

01、绘制精细电路的第一步 金属-氧化物半导体场效应晶体管(MOSFET)的革命,让我们可以在相同面积的晶圆上同时制造出更多晶体管。MOSFET体积越小,单个 MOSFET的耗电量就越少,还可以制造出更多的晶体管,让其发挥作用,可谓是一举多得。可见,制造更小的MOSFET成了关键因素…

原来圣诞树可以这么做

先看结果 从上到下依次是&#xff1a; 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 ... 依次排下去&#xff0c;最后加4个单位数的数字 原来代码的世界里还有这个美。^V^

十大电脑屏幕监控软件超全盘点!

电脑屏幕已经成为我们工作、学习和生活中不可或缺的一部分。然而&#xff0c;随着人们对电脑使用的日益频繁&#xff0c;电脑屏幕监控软件也应运而生&#xff0c;成为了企业和个人用户进行电脑管理和监控的重要工具。 本文将为您盘点十大电脑屏幕监控软件&#xff0c;帮助您了…

软件测试基础理论学习-常见软件开发模型

瀑布模型 背景 瀑布模型的概念最早在1970年由软件工程师Winston W. Royce在其论文《Managing the Development of Large Software Systems》中提出。Royce虽然没有明确提出“瀑布模型”这个术语&#xff0c;但他描述了一种线性的、阶段性的开发流程&#xff0c;各个阶段之间具…

技术概述:ARMv8体系结构

John Goodacre, Director Program Management ARM Processor Division, November 2011 背景&#xff1a;ARM体系结构 从ARM精简指令集体系结构提出到现在已经有20多年了&#xff1b;ARMv7系列处理器是在ARMv4基础上设计的&#xff0c;随着ARMv7系列处理器大量应用&#xff0…

图像分割-Grabcut法(C#)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 本文的VB版本请访问&#xff1a;图像分割-Grabcut法-CSDN博客 GrabCut是一种基于图像分割的技术&#xff0c;它可以用于将图像中的…

李沐机器学习系列5---循环神经网络

1 Introduction 对于样本的分析&#xff0c;通过全连接层处理表格数据&#xff0c;通过卷积神经网络处理图像数据&#xff1b;第一种假设&#xff0c;所有数据都是独立同分布的RNN 处理序列信号 序列数据的更多场景 1&#xff09;用户使用习惯具有时间的先后性 2&#xff09;外…