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

一、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:-----------------------有重复的

四、思维导图总结

  

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

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

相关文章

Java中的序列化方法探索

.为什么要序列化 对象不序列化,能直接存储吗? 在 Java 中,序列化是将对象的状态信息转换为可以存储或传输的形式(例如,转换为字节流)的过程。在对象数据需要在网络上传输或需要在磁盘上持久化存储时&#…

初始数字孪生

文章目录 概念定义 架构框图 基本要求 功能要求 服务应用 参考文献 概念定义 数字孪生(digital twin),是指具有保证物理状态和虚拟状态之间以适当速率和精度同步的数据连接的特定目标实体的数字化表达。 架构框图 数字孪生的整体架构&a…

C# halcon 工业产品尺寸测量

产品检测 这段代码是一个基于HalconDotNet的Windows窗体应用程序,主要用于图像处理和测量。以下是对代码的一些总结: 1. **图像显示与加载:** - 使用HalconDotNet库进行图像处理。 - 通过OpenFileDialog实现图像文件的选择和加载。 …

Vue v-html中内容图片过大自适应处理

之前图片如下&#xff0c;图片已经超出了页面的展示范围 对v-html增加样式处理 <div class"body padding-l scroll " v-html"docData.content"> </div><style scoped>.body >>> img {max-width: 100% ;} </style>…

[书生·浦语大模型实战营]——书生·浦语大模型全链路开源体系

大模型成为发展通用人工智能的重要途径 书生浦语大模型开源历程 书生浦语模型性能 从模型到应用 应用例子&#xff1a;智能客服/个人助手/行业应用 实现流程&#xff1a; 开源开放体系&#xff1a; 1.数据——书生万卷 价值观对齐这个挺有意思嗷&#xff01; 2.预训练工具…

redis复习笔记02(小滴课堂)

分布式缓存Redis6常见核心配置讲解 查看配置文件&#xff1a; 创建配置文件&#xff1a; 配置完我们去验证一下&#xff1a; 启动成功就没有问题了。 可以看到redis日志。 然后我们就可以连接我们的redis了&#xff1a; 设置了密码就需要密码登录了。 如果登录了错误的密码也无…

搜索Agent方案

为啥需要整体方案&#xff0c;直接调用搜索接口取Top1返回不成嘛&#xff1f;要是果真如此Simple&Naive&#xff0c;New Bing岂不是很容易复刻->.-> 我们先来看个例子&#xff0c;前一阵火爆全网的常温超导技术&#xff0c;如果想回答LK99哪些板块会涨&#xff0c;你…

勒索检测能力升级,亚信安全发布《勒索家族和勒索事件监控报告》

评论员简评 近期(12.08-12.14)共发生勒索事件119起&#xff0c;相较之前呈现持平趋势。 与上周相比&#xff0c;本周仍然流行的勒索家族为lockbit3和8base。在涉及的勒索家族中&#xff0c;活跃程度Top5的勒索家族分别是&#xff1a;lockbit3、siegedsec、dragonforce、8base和…

视频监控可视化云平台EasyCVR智能视频技术优势分析

TSINGSEE青犀视频安防视频管理系统EasyCVR视频智能融合共享平台&#xff0c;是一个支持Windows/Linux(CentOS ubuntu)/国产化系统的视频管理平台。平台可以支持多协议接入&#xff0c;通过视频应用引擎将多种格式的视频数据转换为统一的视频流数据&#xff0c;支持无插件H5直播…

k8s的pod基础

pod:pod是k8s中最小的资源管理组件。 pod也是最小化运行容器化的应用的资源管理对象。 pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合。 在一个pod当中运行一个容器是最常用的方式。在一个pod当中同时运行多个容器&#xff0c;在一个pod当中可以同…

聊聊分布式会话及实现方案

鲁大猿&#xff0c;寻找精品资料&#xff0c;帮你构建Java全栈知识体系 http://www.jiagoujishu.cn 基础概念 Session Cookie 会话方案比较简单&#xff0c;这里我在网上找了点资料&#xff0c;再回顾下基础吧。 为什么要产生Session http协议本身是无状态的&#xff0c;客户…

《绝地求生》改名卡快速获得方法 绝地求生改名卡怎么获得

《绝地求生》改名卡是很多小伙伴所在意的物品&#xff0c;购买通行证后需要提升一定的等级才能入手&#xff0c;而怎么升级最快最划算呢&#xff1f;今天闲游盒带来“米奇”分享的《绝地求生》改名卡快速获得方法&#xff0c;赶紧来试试吧。 吃鸡刚刚迎来了更新&#xff0c;通行…

八大算法排序@冒泡排序(C语言版本)

冒泡排序 概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单直观的排序算法&#xff0c;它重复地遍历待排序序列&#xff0c;一次比较两个相邻的元素&#xff0c;如果它们的顺序错误就将它们交换过来。通过多次的遍历&#xff0c;使得最大的元素逐渐移动到待排序序…

Windows—常用DOS命令

解释&#xff1a;DOS命令即面向磁盘的操作命令 进入DOS页面&#xff1a;快捷键“winR”&#xff0c;输入cmd help命令 help 【命令名】可查看其他命令的解释&#xff0c;直接输入help也可以查看部分命令 另外&#xff0c;如果输入help显示help不是内部或外部命令&#xff0c;…

ACCESS从零入门教程

最近&#xff0c;在公司实习自学了一款简单的access数据库软件&#xff0c;下面是自己的一些学习心得过程&#xff0c;供大家参考。 一、access导入数据 两种方法&#xff1a; 1、直接复制&#xff0c;crtl-c/v即可 2、若数据量较大&#xff0c;可以从access内部进行导入&am…

c++语言基础18-开房门

题目描述 假设你手里有一串钥匙&#xff0c;这串钥匙上每把钥匙都有一个编号&#xff0c;对应着一个房门的编号。现给你一个房门编号&#xff0c;你需要判断是否能够打开该房门。 输入描述 测试数据共有多组。 第一行为一个整数 s&#xff0c;表示共有多少组测试数据。 每组第一…

c# OpenCvSharp透视矫正参数调整器

透视矫正不够智能化&#xff0c;每次都要进行局部参数调整&#xff0c;不便于程序使用&#xff0c;程序流程还是那几个步骤&#xff1b; 1、读取图像、灰度化 2、高斯滤波 3、二值化 4、边缘检测 灰度化图 上个图看看经过调整透视矫正边缘检测结果我还是挺满意的 发现一个…

基于springboot智慧食堂管理系统源码和论文

随着Internet的发展&#xff0c;人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化&#xff0c;网络化和电子化。网上管理&#xff0c;它将是直接管理“智慧食堂”系统的最新形式。本论文是以构建“智慧食堂”系统为目标&#xff0c;使用java技术制作&…

Java Synchronized 和 ReentrantLock

目录 介绍 synchronized synchronized 修饰实例方法 修饰静态类方法 synchronized 修饰代码块 实现细节 ReentrantLock ReentrantLock 基本使用 公平锁实现 读写锁&#xff08;ReentrantReadWriteLock&#xff09; 1. 创建读写锁对象&#xff1a; 2. 通过读写锁对象…

IDS 和 IPS:了解异同

IDS 和 IPS 是至关重要的网络安全技术&#xff0c;经常被混淆或互换使用。那么&#xff0c;IDS 和 IPS 之间有什么区别&#xff0c;哪一种是最适合您组织需求的选择呢&#xff1f; 什么是IDS&#xff08;入侵检测系统&#xff09;&#xff1f; 入侵检测系统 (IDS) 是一种网络…