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

news2025/6/9 18:25:08

一、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.coloradmin.cn/o/1355127.html

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

相关文章

【栈越界】变量未赋值前提下,值却发生改变??

首先,提出2个问题: 数组越界 和 栈越界是一回事吗?以上两种越界若有发生,程序一定会跑飞吗? 目录 1. 一个栈越界的例子2. 程序的内存分部3. RAM 空间示意图 1. 一个栈越界的例子 创建 STM32 工程并写了一段测试代码 …

通往人工智能的 Go 之路

Agency 该库旨在为那些希望通过清晰、高效且符合 Go 语言惯例的方法来探索大型语言模型(LLMs)和其他生成式人工智能的开发人员而设计。 特点 纯 Go 语言:快速、轻量级,静态类型,无需涉及 Python 或 JavaScript编写清晰…

P1423 小玉在游泳python

s float(input()) sum 0 step 0 meter 2.0 while sum < s:sum metermeter 0.98 * meterstep 1 print(step)

图像分割-Grabcut法(C#)

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

使用生成式AI查询大型BI表

在拥有大量表格形式数据的组织中&#xff0c;数据分析师的工作是通过提取、转换和围绕数据构建故事来理解这些数据。 分析师访问数据的主要工具是 SQL。 鉴于大型语言模型 (LLM) 令人印象深刻的功能&#xff0c;我们很自然地想知道人工智能是否可以帮助我们将信息需求转化为格式…

事实就是这么残酷,分享一个案例投资者是怎么一步步失败

都说交易市场要学会斗智斗勇&#xff0c;但fpmarkets澳福提醒交易者要始终记住&#xff0c;买的没有卖的精&#xff0c;下面就分享一个案例&#xff0c;让各位投资者知道现实就是这么残酷&#xff0c;一些无良的资本是怎么一步步让投资者失败的。 当在整个交易市场中渐渐地&am…

基于spring boot物流管理系统设计与实现

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 课题背景及意…

Java中的IO与NIO篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、信号驱动 IO 模型二、异步 IO 模型三、JAVA NIO四、NIO 的缓冲区前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

数据湖的概念

1.定义 不同的公司对数据湖有不同的描述&#xff1a; 维基百科&#xff1a;数据湖是一类存储数据自然/原始格式的系统或存储&#xff0c;通常是对象块或者文件。数据湖通常是企业中全量数据的单一存储。全量数据包括原始系统所产生的原始数据拷贝以及为了各类任务而产生的转换…

杨中科 ASP.NET MVC

ASP.NET Core 入门 什么是ASP.NET CORE 1、ASP.NET Core是.NET中做Web开发的框架 2、ASP.NET Core MVC 传统MVC项目&#xff0c;前后端都做在一起 3、ASP.NET Core Web API: 前后端分离、多端开发。(是属于MVC中的一部分) 4、ASPNET Core MVC其实包含Web API&#xff0c;不过…

未来已来:跨境电商与3D打印技术的奇妙结合

在科技迅猛发展的当下&#xff0c;跨境电商和3D打印技术的结合成为了一场引人注目的奇妙融合。本文将深入研究这两者的交汇点&#xff0c;揭示它们在商业和生产领域中的协同效应&#xff0c;以及未来的发展前景。 跨境电商的挑战与机遇 跨境电商作为全球贸易的新引擎&#xff0…

arm64操作系统LLVM源码编译

编译electron需要对应版本的LLVM编译器,因此需要构建arm64版本的LLVM。构建过程如下。 一、编译环境 需要cmake版本大于3.20,因此需要更新cmake cmake源码下载地址:Download CMake Download CMake 下载后解压编译 tar -zxvf cmake-3.28.1.tar.gz cd cmake-3.28.1 mkdir…

淘宝商品类目接口API:获取淘宝商品分类类目信息

cat_get-获得淘宝分类详情 响应参数 名称类型必须示例值描述 info Mix0{"cid": 16, "parent_cid": 0, "name": "其他女装", "is_parent": "true", "status": "normal", "sort_order&q…

数据分析求职-简历准备

简历在整个求职过程中的重要性不言而喻&#xff0c;今天咱们来聊求职过程中简历准备的那些事儿~ 1. 简历究竟有啥用 求职的流程简单说就是&#xff1a;网申->笔试->面试->offer 其中网申环节&#xff0c;简历100%决定了你的通过与否&#xff0c;这个点大家都知道。…

Python小细节之Gui图形化界面库的对比和选择(一分钟版)

引言 我想要把打包的python程序变得好看 交互起来变得简单 遂 图形化界面 然 相关的库有很多 所以 对比&#xff01; 开整 8个图形化界面库 在Python中&#xff0c;有多种图形用户界面&#xff08;GUI&#xff09;库可以用来创建丰富的图形化应用程序。以下是一些主要的图…

MOS管选型科普

背景 朋友工厂在生产检测BMS的时候&#xff0c;老化测试大电流200A&#xff1b; 现在他们使用的是一款通用电源 价格20W&#xff1b; 找我设计一款恒流源&#xff0c;需求如下&#xff1a; 0~200A电流可调 电压范围和他交流中了解到&#xff0c;电压最大也就1V左右&#x…

程序媛的mac修炼手册-- 终端shell的驾驭 zsh vs bash

进入终端(Terminal)为新下载的应用配置环境&#xff0c;是Mac生产力up up的关键一步&#xff0c;更是编程小白装大神的第一步。Fake it till you make it , 硅谷大神标准路径&#xff5e; shell的基本原理 为应用配置环境&#xff0c;相当于在应用和操作系统间架桥。由此&…

Linux环境vscode clang-format格式化:vscode clang format command is not available

问题现象 vscode安装了clang-format插件&#xff0c;但是使用就报错 问题原因 设置中配置的clang-format插件工具路径不正确。 解决方案 确认本地安装了clang-format工具&#xff1a;终端输入clang-format&#xff08;也可能是clang-format-13等版本&#xff0c;建议tab自…

18|CAMEL:通过角色扮演脑暴一个鲜花营销方案

18&#xff5c;CAMEL&#xff1a;通过角色扮演脑暴一个鲜花营销方案 CAMEL 交流式代理框架 下面我们一起来看看 CAMEL——这个多 AI 通过角色扮演进行交互的框架&#xff0c;以及它在 LangChain 中的具体实现。 CAMEL&#xff0c;字面意思是骆驼。这个框架来自于论文《CAMEL:…

STGAN:用于交通数据插补的时空生成对抗网络

文章地址: STGAN: Spatio-temporal generative adversarial network for traffic data imputation 主要研究问题: 由于硬件故障或数据传输,观测到的交通数据中产生了噪声和缺失条目。这些质量差的数据无疑会降低ITS的性能; 本文贡献: 为交通数据插补任务提出了一种改进…