增删改查语句实现了解不同的函数与特殊字符unionunion all区别

目录

一、crud(增删改查)

1.1、查询

概念:

语法:

 分组 

筛选

排序

分页

1.2、增加

概念:

语法:

方式一:insert into +表名 values (值,值....)

方式二:(选择性插入-----让某几个属性有值)

1.3、修改

语法:

1.4、删除

语法:

二、函数

2.1、简介

2.2、常见函数

字符串函数

数字函数

日期函数

2.3、流程函数

方式一

方式二

2.4、聚合函数

三、union&union all

3.1、 Union:

3.2. Union All:

3.3、应用场景:--取并集交集

3.4、案例:

四、思维导图总结


一、crud(增删改查)

1.1、查询

概念:

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

注:在MySQL中,当执行一条SQL语句后,系统会返回一个"Affected row"的消息,表示该操作影响了多少行数据,也就代表SQL语句执行成功。这个消息通常用于INSERT、UPDATE、DELETE等操作,告诉你在数据库中有多少行数据受到了影响。

语法:

排序:where先加查询条件 > group分组  >having 筛选>order排序> limit分页

#基本查询
select * from t_book;#加条件
select * from t_book where id>10;
 分组 

#按类别分组 ,前面不能放*号了会报错
select booktype ,count(1) from t_book group by booktype;

筛选
#筛选(类别大于2) as num取个别名
select booktype ,count(1) as num from t_book group by booktype having num>2;

排序

升序:asc   降序:desc

#排序降序
select booktype ,count(1) as num from t_book group by booktype having num>2 order by num desc;#错误做法:排序放分组前面
select booktype ,count(1) as num from t_book order by num desc  group by booktype having num>2 ;

报错:查询语句中存在语法错误

分页
#一页一条数据
select booktype ,count(1) as num from t_book group by booktype having num>2 order by num desc limit 1;

1.2、增加

概念:

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

语法:
方式一:insert into +表名 values (值,值....)
insert into t_book values (1,'fff','wdw')

批量新增:insert into +表名 values (值,值....), (值,值....)

insert into t_book values (1,'fff','wdw'),(2,'哈哈哈','看看')
方式二:(选择性插入-----让某几个属性有值)

 insert into +表名

set  属性1=值1, 属性2=值2

insert into t_book 
set id=1,bookname='hhh'

1.3、修改

语法:

update 表名 set .....

#把id=1的名字改为hhh
update t_book set bookname='hhh' where  id=1

1.4、删除

语法:

delete from  表名 where 属性=值......

delete from t_book where id=1

二、函数

2.1、简介

MySQL中的函数是一组预定义的操作,用于执行特定的任务或计算。这些函数可以用于检索、操作和处理数据,以及执行各种数学、字符串和日期操作。一些常见的MySQL函数包括:SUM、AVG、COUNT、MAX、MIN、CONCAT、UPPER、LOWER、DATE_FORMAT等。这些函数可以在SELECT语句中使用,也可以在存储过程和触发器中使用。

实施用的场景:在面向客户中,客户说加了哪个数据,然后看不见,然后我们要帮他查,就要到

测试函数是什么:select +函数()

2.2、常见函数

字符串函数

转小写 -————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')----------elloWortd

字符替换————REPLACE('abcd','b','m')————amcd

应用场景:隐藏敏感信息,如电话号码中间那几位

数字函数

四舍五入———— ROUND(45.926,2) ————45.93

截取———— TRUNC(45.926,2) -- 45.92

求余(用得少) -————MOD(1600,300)————100

日期函数

注:字符几乎可以存放所有类型数据

有很多开发人员为了图方便,不管什么类型直接用字符,但是后面不会维护,万一做会就辞职了,只是想先把工作完成再说,所有普遍这样,但是实施就太重要了

如:查询近7天表数据 ,结果里面存的是字符

做法:括号里放想转成日期型的数据>当前时间减7

str_to_date()>now()-7

获取当前日期 ————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.3、流程函数

很多时候我们是需要行转列(特殊需求出现的)

行————>列

语法:

 当你满足一个条件我给你一个结果,你满足二个条件我给你二个结果,所有也没满足给你一个例外的结果

expr=expression表达式 

方式一

#案例:查询同时存在‘01’课程和‘02’课程的情况
select
t3.*
#当cid为01就返回分数score是语文的分数
(case when t1.cid='01' then t1.score end)语文,
#当cid为02就返回分数score是数学的分数
(case when t2.cid='02' then t2.score end)数学,
from
(select * from t_score sc where sc.cid='01')t1,
(select * from t_score sc where sc.cid='02')t2,
t_student t3
where 
t1.sid=t2.sid
and t1.sid=t3.sid

方式二

查询会议信息-----------------数字,怎么知道字段的意义

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
when 0 then'取消会议'
when 1 then'新建'
when 2 then'待审核'
when 3 then'驳回'
when 4 then'待开'
when 5 then'进行中'
when 6 then'开启投票'
else'结束会议' end
) as meetingState
,a.seatPic,a.remark.a.auditor,c.'name'as auditorName
FROM t_ oa_meeting info a
inner join t_oa_user b on a.zhuchiren = b.id
left JOIN t_oa_user c on a.auditor = c.id where 1=1 :

2.4、聚合函数

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

三、union&union all

3.1、 Union:


Union操作符用于合并两个或多个查询的结果集,并去除重复的行
如果两个查询的结果有相同的行,则只会返回一次。
Union操作符会对结果进行排序和去重,因此可能会影响性能

3.2. Union All:


Union All操作符也用于合并两个或多个查询的结果集,但不会去除重复的行
即使两个查询的结果有相同的行,也会全部返回。
 Union All操作符不会对结果进行排序或去重,因此通常比Union操作符更快

3.3、应用场景:--取并集交集

1. Union:
- 当需要合并多个查询的结果,并且希望去除重复的行时,可以使用Union操作符。
- 例如,合并两个表的数据,但不希望出现重复的记录。

2. Union All:
- 当需要合并多个查询的结果,但不需要去除重复的行时,可以使用Union All操作符。
- 例如,合并两个表的数据,允许出现重复的记录。

总的来说,Union和Union All操作符都用于合并多个查询的结果,但根据是否需要去除重复的行来选择使用哪种操作符。

3.4、案例:

初始数据:----------------------78重了

加  Union:-----------------------没有重复的(并集)

加  Union all:-----------------------有重复的

四、思维导图总结

  

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

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

相关文章

福建科立讯通信 指挥调度管理平台 多处文件上传漏洞复现

0x01 产品简介 福建科立讯通信指挥调度管理平台是一个专门针对通信行业的管理平台。该产品旨在提供高效的指挥调度和管理解决方案,以帮助通信运营商或相关机构实现更好的运营效率和服务质量。该平台提供强大的指挥调度功能,可以实时监控和管理通信网络设备、维护人员和工作任…

JVM工作原理与实战(六):类的生命周期-连接阶段

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、类的生命周期 1.加载(Loading) 2.连接(Linking) 3.初始化(Initialization) 4.使用(Using&…

【CSS】设置0.5px的边框宽度

直接写border: 0.5px solid red; 这样在移动端可能会出现问题&#xff0c;下面说下解决办法&#xff1a; 直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-C…

STM32 内部 EEPROM 读写

STM32 的某些系列 MCU 自带 EEPROM。笔者使用的 STM32L151RET6 自带 16 KB 的 EEPROM&#xff0c;可以用来存储自定义的数据。在芯片选型时&#xff0c;自带 EEPROM 也可以作为一个考量点&#xff0c;省去了在外接 EEPROM 的烦恼。 下面简单介绍下 STM32 内部 EEPROM 的读写流…

网页在线预览编辑Office,支持doc/docx、xls/xlsx、ppt/pptx、pdf等格式

随着互联网技术的不断发展&#xff0c;越来越多的企业开始采用在线办公模式&#xff0c;微软Office Word 是最好用的文档编辑工具&#xff0c;然而doc、docx、xls、xlsx、ppt、pptx等格式的Office文档是无法直接在浏览器中直接打开的&#xff0c;如果可以实现Web在线预览编辑Of…

SpringBean的生命周期

SpringBean Bean的生命周期 1、首先需要明确bean对象与普通对象的区别: 对于普通的 Java 对象&#xff0c;当 new 的时候创建对象&#xff0c;然后该对象就能够使用了。一旦该对象不再被使用&#xff0c;则由 Java 自动进行垃圾回收。 而 Spring 中的对象是 bean&#xff0c;…

Gin 项目引入热加载

Gin 项目引入热加载 文章目录 Gin 项目引入热加载一、什么是热加载二、Air2.1 介绍2.2 特性特性&#xff1a;2.3 相关文档2.4 安装推荐使用 install.sh使用 go install 2.5 配置环境变量2.6 使用 三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用 四、bee4.1 介绍4.2 相关文档4.3 …

天翼GPU-A10云主机安装英伟达CUDA12.2驱动并共享镜像

一、英伟达环境安装主要流程 1、下载安装对应系统版本nVidia驱动程序安装验证 2、CUDA开发套件安装验证 3、深度学习框架安装验证 4、容器化CUDA环境安装验证 5、制作天翼云主机私有镜像 6、分享镜像给其他用户&#xff0c;实现天翼云A10显卡英伟达驱动环境共享 二、详细…

WPF DatePicker与Calendar的使用和样式修改

什么是DatePicker&#xff0c;Calendar Calendar&#xff1a;日历&#xff08;显示年月日视图控件&#xff09;DatePicker&#xff1a;日期选择器&#xff08;是一个更小的控件&#xff0c;点击控件时才会弹出一个日历&#xff09; Calendar使用 常用属性 DisplayMode&#…

Linux_CentOS_7.9配置时区及NTPdate同步之简易记录

前言&#xff1a;ntpdate命令来自英文词组”NTPdate“的拼写&#xff0c;其功能是用于设置日期和时间。ntpdate命令能够基于NTP协议设置Linux系统的本地日期和时间&#xff0c;利用NTP服务的时钟过滤器来选择最优方案&#xff0c;大大提高了可靠性和精度&#xff0c;让系统时间…

2024,清洁家电卷向“全、智、廉、拓”与“出海”

文 | 智能相对论 作者 | 佘凯文 岁末&#xff0c;又到了一年一度盘点全年、筹划未来的重要节点。在今年经济大环境整体趋向稳定的背景中&#xff0c;许多行业都交还算过得去的成绩单&#xff0c;清洁家电正是其中一员。 特别是在整体家电大环境依旧严峻的前提下&#xff0c;…

Spring 面试题学习笔记整理

Spring 面试题学习笔记整理 Spring的理解IOC读取 xml注入 配置过程解析注解注入过程 高频 &#xff1a;IOC 理解 及原理 底层实现IoC的底层实现高频&#xff1a;Bean的生命周期&#xff08;图解&#xff09;高频&#xff1a;Bean的生命周期&#xff08;文解&#xff09;扩展知识…

【单片机项目实战】温度控制系统

本项目的主要作用是实现温度调控&#xff0c;通过设定一个预定的温度值&#xff0c;实现实时检测外界温度&#xff0c;当外界温度小于预定值时&#xff0c;电机正转&#xff0c;实现降温效果&#xff1b;当外界温度大于预定值时&#xff0c;电机反转&#xff0c;实现升温效果&a…

有详细一些的考研数学真题解析吗?

考研数学真题解析可以写得很详细&#xff0c;但是纸质资料可能受限于篇幅与排版等原因&#xff0c;没有把过程写得很详细。 但是&#xff0c;如果解析步骤不够详细的话&#xff0c;可能读者在看的时候就会因为其中某一个被省略的步骤而“卡壳”&#xff0c;进而需要花费很多额…

Linux驱动开发笔记(六):用户层与内核层进行数据传递的原理和Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/135384355 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

市场复盘总结 20240104

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: 方法一:指标选股 select * from dbo.ResultAll where 入选类型 like %指标选股% and 入选日期=20240104;方法二:趋势选股法 1、最低价持续3日上涨 2、均价…

YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测

一、本文介绍 本文给大家带来的改进机制是Gold-YOLO利用其Neck改进v8的Neck,GoLd-YOLO引入了一种新的机制——信息聚集-分发(Gather-and-Distribute, GD)。这个机制通过全局融合不同层次的特征并将融合后的全局信息注入到各个层级中,从而实现更高效的信息交互和融合。这种…

Spring之强大的DefaultListableBeanFactory

系列文章目录 如何查看类继承结构参考这里 文章目录 系列文章目录一、DefaultListableBeanFactory的类继承实现结构二、实现接口 一、DefaultListableBeanFactory的类继承实现结构 二、实现接口 AliasRegistry&#xff1a;支持别名功能&#xff0c;一个名字可以对应多个别名B…

【React系列】受控非受控组件

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. refs 的使用 在React的开发模式中&#xff0c;通常情况下不需要、也不建议直接操作DOM原生&#xff0c;但是某些…

在pycharm中执行 os.makedirs 提示用户名或密码不正确

问题&#xff1a;在pycharm中运行脚本&#xff0c;在 \10.0.21.249\share 共享目录下创建目录提示错误 发现&#xff1a;手动在该目录下创建目录没有问题。 解决方法&#xff1a; 切换到cmd 命令行运行该脚本成功创建 猜测&#xff1a;感觉应该是pycharm中使用的用户名和密码存…