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.hqwc.cn/news/333631.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘!更适合“SaaS体质”的用户反馈收集方式

用户反馈是收集用户需求最直观也是最有效的方法之一。特别是SaaS企业&#xff0c;经常需要收集用户反馈&#xff0c;再从中提取出真实需求进行产品或服务的迭代和升级。然而&#xff0c;在服务了多家SaaS企业之后&#xff0c;我们发现&#xff0c;无法在短时间内收集到足够多的…

【数据结构专题】「延时队列算法」史上手把手带你认识一下数据结构的基本概念与术语

在本节中&#xff0c;我们将对一些概念和术语赋以确定的含义&#xff0c;以便与读者取得“共同的语言”。这些概念和术语将在以后的章节中多次出现。 数据 概念 数据(data) 是对客观事物的符号表示&#xff0c; 在计算机科学中是指所有能输人到计算机中并被计算机程序处理的…

【idea】idea 开发快捷键

在Java开发中&#xff0c;有一些常用的快捷键和工具&#xff0c;可以提高开发效率。以下是一些常见的Java开发常用到的功能和快捷键&#xff1a; IDE快捷键&#xff1a; 代码大小写切换&#xff1a; ctrlshiftu 格式化代码&#xff1a;Ctrl Alt L&#xff0c;会让代码更整…

【Java开发工具】windows和mac多版本JDK 安装指南:让你在开发中轻松应对不同版本需求

解决思路 通过动态修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录&#xff0c;来达到在同一电脑中安装不同版本jdk的效果。 windows系统 安装的jdk目录 右键→属性→高级系统设置→高级→环境变量→系统变量。 新建4个系统变 量变量值,变量名分别为&#xff1a…

RBAC权限管理概念

基于RBAC模型的权限设计&#xff1a;如何设计系统权限体系&#xff1f; | 人人都是产品经理 一&#xff0c;什么是RBAC RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联&#xff0c;改为通过用户关联角色、角色关联权限的…

尤雨溪:框架挖坑靠文档来补,这算 PUA 用户吗?丨 RTE 开发者日报 Vol.122

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

【竞技宝】bb杯:Talon鏖战三局力克Aster晋级

北京时间2024年1月9日,DOTA2别墅杯东南亚/中国区封闭预选赛在昨天进入第二个比赛日,昨日第三场比赛迎来了Talon对阵Aster。本场比赛两队前两局战平,决胜局Talon露娜速推阵容在20分钟出头就终结了比赛,最终Aster不敌Talon惨遭淘汰。以下是本场比赛的详细战报。 第一局: 首局比赛…

Certum与Geotrust的SSL证书区别

Certum和GeoTrust都是知名的CA认证机构&#xff0c;这两个品牌下的SSL证书在多个方面存在一些差异。今天就随SSL盾小编了解Certum与Geotrust证书的区别。 一、Certum机构背景 Certum是波兰的一家CA认证机构&#xff0c;成立于2002年&#xff0c;至今已有近20多年的历史。旗下有…

5.5 THREAD GRANULARITY

性能调优中一个重要的算法决定是线程的粒度。有时&#xff0c;在每个线程中投入更多工作并使用更少的线程是有利的。当线程之间存在一些冗余工作时&#xff0c;就会产生这种优势。在当前一代设备中&#xff0c;每个SM的指令处理带宽有限。每个指令都消耗指令处理带宽&#xff0…

web左侧伸缩菜单栏/导航栏

效果展示&#xff1a; 百度网盘链接下载全部资源&#xff1a; http://链接&#xff1a;https://pan.baidu.com/s/1ZnKdWxTH49JhqZ7Xd-cJIA?pwd4332 提取码&#xff1a;4332 html/JQuery代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head&g…

浅谈智慧路灯安全智能供电方案设计——安科瑞赵嘉敏

摘要: 智慧路灯&#xff0c;作为智慧城市、新基建、城市更新的主要组成部分&#xff0c;近些年在各大城市已得到很好的落地和 应用&#xff0c;但其与传统路灯相比集成大量异元异构电子设备&#xff0c;这些设备的供电电压、接口形式、权属单位各不相同&#xff0c; 如何设计一…

Python图片格式转换与文字识别:技术与实践

目录 一、引言 二、Python图片格式转换 PIL库介绍 代码示例 质量优化 三、文字识别技术 四、Python实现文字识别 1、安装与配置OCR工具 2. 读取图片并提取文字 3. 优化与提高识别准确率 五、实践与应用案例 六、结论 一、引言 随着数字化时代的到来&#xff0c;图…