MySQL之CRUD,函数与union使用

目录

一.CRUD 

 1.1.SELECT(查询)

1.2.INSERT(新增)

1.3.UPDATE(修改)

1.4.DELETE(删除)

二.函数

2.1.常见函数

2.1.1.字符函数

 2.1.2.数字函数

2.1.3.日期函数

2.2.流程控制函数

2.3.聚合函数

三.union与union all

四.思维导图

           好啦今天就到这里了哦!!!希望能帮到你哦!!!


一.CRUD 

 1.1.SELECT(查询)

概念:查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。

语法: 

SELECT

{*|<字段列名>}

[FROM<表1>,<表2>...

[WHERE<表达式>

[GROUP BY<group by definition>

[HAVING<expression > [{<operator><expression>}...]]

[ORDER BY]<order by definition>

[LIMIT[<offset>,]<row count>]

]

 含义:

  • `{*|<字段列名>}包含星号通配符的字段列表,表示所要查询字段的名称。
  • <表1>,<表2>...`,表1和表2表示查询数据的来源,可以是单个或多个。
  • `WHERE<表达式>是可选项,如果选择该项,将限定查询数据必须满足该查询条件。
  • `GROUPBY<字段>,该子句告诉MySQL如何显示查询出来的数据,并按照指定的字段分组。
  • `[ORDERBY<字段>,该子句告诉MySQL按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。
  • `[LIMIT[<offset>,]<row count]`,该子句告诉MySQL每次显示查询出来的数据条数。

1.2.INSERT(新增)

概念:使用INSERT语句向数据库已有的表中插入一行或者多行元组数据。

语法: 

INSERT...VALUES语句:

INSERTINTO<表名>[<列名1>[,……<列名n>]]
VALUES(值1)[...,(值n)];

INSERT...SET语句:

INSERTINTO<表名>
SET<列名1>=<值1>
<列名2>=<值2>,

含义:

  • <表名>`:指定被操作的表名。
  • <列名>:指定需要插入数据的列名。若向表中的所有列插入数据,则全部的列名均可以省略,直接采用INSERT<表名>VALUES(.)即可。
  • `VALUES`或`VALUE`子句:该子句包含要插入的数据清单。数据清单中数据的顺序要和列的顺序相对应。

由INSERT语句的两种形式可以看出:

  • -使用INSERT.….VALUES语句可以向表中插入一行数据,也可以插入多行数据;
  • -使用INSERT.….SET语句可以指定插入行中每列的值,也可以指定部分列的值;
  • -INSERT.….SELECT语句向表中插入其他表的数据。
  • -采用INSERT.….SET语句可以向表中插入部分列的值,这种方式更为灵活;
  • -INSERT.….VALUES语句可以一次插入多条数据。

1.3.UPDATE(修改)

语法: 

UPDATE<表名>SET字段1=值1[,字段2=值2..][WHERE子句]

[ORDERBY子句][LIMIT子句]

含义:

  • -`<表名>`:用于指定要更新的表名称。
  • -`SET 子句:用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的默认值。如果指定的是默认值,可用关键字DEFAULT表示列值。
  • -`WHERE`子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。
  • -`ORDERBY`子句:可选项。用于限定表中的行被修改的次序。
  • -`LIMIT`子句:可选项。用于限定被修改的行数。

1.4.DELETE(删除)

语法:

DELETEFROM<表名>[WHERE子句][ORDERBY子句][LIMIT子句]

含义:

-`<表名>:指定要删除数据的表名。

—-`ORDERBY`子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除。

-`WHERE`子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行。

-`LIMIT`子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。

二.函数

2.1.常见函数

2.1.1.字符函数

转小写LOWER('SQL Course')sql course
转大写UPPER('SQL Course')SQL COURSE
拼接CONCAT(Hello', World')HelloWorld
截取SUBSTR('HelloWorld',1,5)Hello
长度LENGTH('HelloWorld')10
字符出现索引值INSTR('HelloWorld',W')6
字符截取后半段TRIM('H'FROM'HelloWorld')elloWorld
字符替换REPLACE(abcd','b','m')amcd

 2.1.2.数字函数

四舍五入ROUND(45,926,2)45.93
截断TRUNC(45,926,2)45.92
求余MOD(1600,300)100

2.1.3.日期函数

获取当前日期now()
将日期格式的字符转换成指定格式的日期STR_TO_DATE('9-13-1999','%m-%d-%Y')1999-09-13
将日期转换成字符DATE_FORMAT(2018/6/6,%Y年%m月%d日’)2018年06月06日

2.2.流程控制函数

语法:

CASE expr WHEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THEN return_expr2

WHEN comparison_exprn THEN return_exprn

ELSE else_expr]

END

 实例:

01) 查询同时存在"01"课程和"02"课程的情况

SELECT

t3.*,

(CASEWHENt1.cid='01'THENt1.scoreEND)语文,

(CASEWHENt2.cid='02'THENt2.scoreEND)数学

FROM

(SELECT*FROM t_mysql_scoresc WHERE sc.cid='01')t1,

(SELECT*FROM t_mysql_scoresc WHERE sc.cid='02')t2,

t_mysql_student t3

WHERE

t1.sid =t2.sid

AND t1.sid =t3.sid

02)查询会议信息(包含会议信息表数据,主持人姓名、审批人姓名、会议状态)

SELECT a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren,b. name`,a.location,DATE_FORMAT(a.startTime,'%Y-%m-%d%H:%i:%s')as startTime,

DATE_FORMAT(a.endTime,'%Y-%m-%d%H:%i:%s')as endTime

,a.state

,(case a.state

when0then'取消会议'

when1then'新建'

when2then'待审核

when3then'驳回'

when4then'待开

when5then'进行中'

when6then'开启投票'

else'结束会议'end

)as meetingState

,a.seatPic,a.remark,a.auditor,c. name`as auditorName

FROM t_oa_meeting_info a

inner join t_oa_userb on a.zhuchiren = b.id

left JOIN t oa user con a.auditor=c.id where 1=1;

2.3.聚合函数

sum 求和、avg 平均值、max 最大值、min 最小值、count 计算个数

三.union与union all

概念UNION:用于合并两个或多个SELECT语句的结果集,并去除重复的行。
UNIONALL:用于合并两个或多个SELECT语句的结果集,包括重复的行。
语法UNION:将多个SELECT语句放在一起,并使用UNION关键字将它们连接起来。每个SELECT语句的列数、列名和数据类型必须相同。
UNIONALL:将多个SELECT语句放在一起,并使用UNIONALL关键字将它们连接起来。每个SELECT语句的列数、列名和数据类型可以不同。
专业词解释UNION:UNION操作符执行去除重复行的操作,它通过对所有的结果集进行排序和比较来实现。
UNIONALL:UNIONALL操作符不执行去除重复行的操作,它直接将所有的结果集合并在一起。
使用场景UNION:当需要合并多个查询结果,并且不希望出现重复行时,可以使用UNION操作符。它适用于数据需要去重的情况。
UNIONALL:当需要合并多个查询结果,包括重复行时,可以使用UNIONALL操作符。它适用于不需要去重的情况,或者在已经确定结果不会有重复行的情况下。
实例全列初始数据SELECT*from t_oa_meeting_info where id>=1 andid<=8; SELECT*from t_oa_meeting_info where id>=6 andid<=10;
UNION

SELECT*from t_oa_meeting_info where id>=1 andid<=8

UNION
SELECT*from t_oa_meeting__info where id>=6 andid<=10;

678只出现了1次
UNION allSELECT*from t_oa_meeting_info where id>=1 andid<=8
UNION all 
SELECT*from t_oa_meeting_info where id>=6 andid<=10;
 
678重复出现
单列初始数据 SELECT id from t_oa_meeting_info where id>=1 andid<=8;
SELECT id from t_oa_meetin_info where id>=6 andid<=10;
UNION

SELECT id from t_oa_meeting_info where id>=1 andid<=8

UNION
SELECT id from t_oa_meeting_info where id>=6 andid<=10

 678只出现了1次
UNION all

SELECT id from t_oa_meeting_info where id>=1 andid<=8

UNION all 
SELECT id from t_oa_meeting_info where id>=6 andid<=10;

678重复出现
结论所谓去重并不需要所有列相同

四.思维导图


           好啦今天就到这里了哦!!!希望能帮到你哦!!!

 

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

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

相关文章

物流实时数仓:数仓搭建(DWS)一

系列文章目录 物流实时数仓&#xff1a;采集通道搭建 物流实时数仓&#xff1a;数仓搭建 物流实时数仓&#xff1a;数仓搭建&#xff08;DIM&#xff09; 物流实时数仓&#xff1a;数仓搭建&#xff08;DWD&#xff09;一 物流实时数仓&#xff1a;数仓搭建&#xff08;DWD&am…

JMeter CSV 参数文件的使用方法

.在 JMeter 测试中&#xff0c;参数化是非常重要的&#xff0c;参数化允许我们模拟真实世界中的各种情况。本文我们将探讨如何在 JMeter 中使用 CSV 参数文件。 创建 CSV 文件 首先&#xff0c;我们需要创建一个逗号分隔的值&#xff08;CSV&#xff09;文件&#xff0c;其中…

创建企业邮箱帐户指南:常见问题与解决方法分享

专业的电子邮件地址可以帮助客户识别商务人士&#xff0c;并了解公司给他们发邮件的目的。如果你从事管理、信息技术或人力资源工作&#xff0c;你可能会负责为一个企业建立一个企业邮箱帐户。了解如何为新员工和现有员工设置电子邮件帐户可以帮助您简化公司内部的沟通。 在这篇…

python小工具之弱密码检测工具

一、引用的python模块 Crypto&#xff1a; Python中一个强大的加密模块&#xff0c;提供了许多常见的加密算法和工具。它建立在pyc.ypodome或pyc.ypto等底层加密库之上&#xff0c;为Python程序员提供了简单易用的API&#xff0c;使其可以轻松地实现各种加密功能。 commands…

牵绳遛狗你我他文明家园每一天,助力共建文明社区,基于YOLOv5开发构建公共场景下未牵绳遛狗检测识别系统

遛狗是每天要打卡的事情&#xff0c;狗狗生性活泼爱动&#xff0c;一天不遛就浑身难受&#xff0c;遛狗最重要的就是要拴绳了&#xff0c;牵紧文明绳是养犬人的必修课。外出遛狗时&#xff0c;主人手上的牵引绳更多是狗狗生命健康的一道重要屏障。每天的社区生活中&#xff0c;…

秋招复习之数据结构

目录 前言 1 数据结构分类 2 基本数据类型 3 数字编码 4 字符编码 总结 前言 秋招复习之数据结构&#xff0c;数据结构分类、基本数据类型、字符编码、数字编码等基础知识。 1 数据结构分类 数据结构分为逻辑结构和物理结构。 逻辑结构分为线性数据结构&#xff08;数组链表…

在word文档中自制代码段样式

附&#xff1a; 在word中插入高亮代码的网站 HighlightCode&#xff1a;https://highlightcode.com/ CodeInWord&#xff1a;http://codeinword.com/ 一、新建代码段样式 点击下拉按钮&#xff0c;选择创建样式&#xff0c;命名为代码段&#xff0c;然后点击修改 点击格式&a…

CSS transition详解

文章目录 属性transition-propertytransition-durationtransition-timing-functiontransition-delaytransition 简写属性 方法Element&#xff1a;transitionrun 事件Element&#xff1a;transitionstart 事件Element&#xff1a;transitionend 事件Element&#xff1a;transit…

数据表示和进制转换

输入计算机的数字、字符、符号等信息必须转换成0、1组合的数据形式才能被计算机接收、存储并进行运算。能够进行算术运算并且得到明确的数值的数据概念的信息叫数值数据&#xff0c;其余的信息成为非数值数据。 权&#xff1a;每位数的数值。 基数&#xff1a;指该进位制中允…

【C初阶——指针2】鹏哥C语言系列文章,基本语法知识全面讲解——指针(2)

崩刃的剑&#xff0c;依旧致命&#xff0c;锈蚀的盾&#xff0c;屹立如初&#xff08;王者荣耀李信&#xff09; 本文由睡觉待开机原创&#xff0c;转载请注明出处。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff0…

Elasticsearch:结合 ELSER 和 BM25 文本查询的相关搜索

Elastic Learned Spare EncodeR (ELSER) 允许你执行语义搜索以获得更相关的搜索结果。 然而&#xff0c;有时&#xff0c;将语义搜索结果与常规关键字搜索结果相结合以获得最佳结果会更有用。 问题是&#xff0c;如何结合文本和语义搜索结果&#xff1f; 首先&#xff0c;让我…

揭秘Linux软链接:如何轻松创建、删除和修改

揭秘Linux软链接&#xff1a;如何轻松创建、删除和修改 一、简介二、创建软链接三、删除软链接四、修改软链接五、Linux软链接的高级用法六、总结 一、简介 在Linux中&#xff0c;软链接&#xff08;Symbolic Link&#xff09;是一种特殊的文件类型&#xff0c;它是一个指向另…

初识对抗生成网络(GAN)

在研究语义通信的时候&#xff0c;发现解码端很多都是用GAN或基于GAN来完成的。带着对GAN的好奇&#xff0c;对GAN进行了一个初步学习。这篇文章介绍一下和GAN相关的一些常识吧~   本文围绕以下几个内容展开&#xff1a;     1.什么是GAN&#xff1f;     2.为什么要…

03-微服务-Ribbon负载均衡

Ribbon负载均衡 1.1.负载均衡原理 SpringCloud底层其实是利用了一个名为Ribbon的组件&#xff0c;来实现负载均衡功能的。 那么我们发出的请求明明是http://userservice/user/1&#xff0c;怎么变成了http://localhost:8081的呢&#xff1f; 1.2.源码跟踪 为什么我们只输入…

FOURANDSIX:2.01

靶场下载 FourAndSix: 2.01 ~ VulnHub 信息收集 # nmap -sn 192.168.1.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-02 10:42 CST Nmap scan report for 192.168.1.1 Host is up (0.00030s latency). MAC Address: 00…

JavaScript 基础三part1.数组

JavaScript 基础三part1.数组 2.1 数组是什么2.2 数组的基本使用&#xff08;1&#xff09;声明&#xff08;2&#xff09;取值&#xff08;3&#xff09;一些术语&#xff08;4&#xff09;遍历数组 2.3 操作数组&#xff08;1&#xff09;修改&#xff08;2&#xff09;新增&…

SpringBoot日志打印Logback详解【子节点详解】【附案例】

笑小枫的专属目录 1. 背景2. 什么是Logback3. SpringBoot使用logback介绍4. 自定义logback配置5. 如何把日志同步到ES中6. logback配置属性详解根节点< configuration>子节点:< property>子节点:< appender>filetargetappendprudentlayout和encoderlayout和e…

Spring的bean的生命周期!!!

一.单例模式 单例&#xff1a;[启动容器]--->通过构造方法&#xff08;创建对象&#xff09;---->调用set方法&#xff08;注入&#xff09;--->调用init方法&#xff08;初始化&#xff09;----[容器关闭]----->调用destroy方法&#xff08;销毁&#xff09; app…

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义 流程图 流程图中各种图形的含义及用法解析 连接线符号 连接各要素&#xff0c;表示流程的顺序或过程的方向。 批注符号 批注或说明&#xff0c;也可以做条件叙述。 子流程 流程中一部分图形的逻辑…

SpringMVC通用后台管理系统源码

SpringMVC通用后台管理系统源码 整体的SSM后台管理框架功能已经初具雏形&#xff0c;前端界面风格采用了结构简单、 性能优良、页面美观大的Layui页面展示框架 数据库支持了SQLserver,只需修改配置文件即可实现数据库之间的转换。 系统工具中加入了定时任务管理和cron生成器&am…