增删改查语句实现了解不同的函数与特殊字符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:-----------------------有重复的

四、思维导图总结

  

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

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

相关文章

探索 Vue 实例方法的魅力:提升 Vue 开发技能(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

力扣刷题记录(25)LeetCode:583、72、647

583. 两个字符串的删除操作 题目说可以删除任意一个字符串中的字符,实际上就是在求两个字符串的公共子序列。求得公共子序列后与字符串长度做个减法即可得需要的步数。 class Solution { public://求最长子数组int minDistance(string word1, string word2) {vecto…

C#高级:Lambda表达式分组处理2(WITH ROLLUP关键字)

目录 一、问题引入 二、with rollup查询 三、去掉多余数据 四、拓展 一、问题引入 查询SQL后结果如下,字段分别是用户、项目、批次、工作时间: SELECT UserID,ProjectID,ProBatchesID,WorkHour FROM MAINTABLE GROUP BY HourFiller ,ProjectID ,…

第84讲:基于各种场景使用mysqldump逻辑备份数据库

文章目录 1.mysqldump备份工具的语法格式2.使用mysqldump进行全库备份3.备份单个库或者多个库的数据4.备份某个库下的单表或者多表的数据5.mysqldump备份数据库时必加的一些参数5.1.基本参数5.2.核心参数 6.mysqldump备份数据库时的一些其他参数 1.mysqldump备份工具的语法格式…

力扣hot100 翻转二叉树 递归

👨‍🏫 题目地址 😋 AC code /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNod…

异常检测 | Matlab基于GNN图神经网络的异常数据检测

异常检测 | Matlab基于GNN图神经网络的异常数据检测 目录 异常检测 | Matlab基于GNN图神经网络的异常数据检测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 Matlab基于GNN图神经网络的异常数据检测。其核心思想是学习一个函数映射。本次使用人类活动数据&#…

卷积神经网络|制作自己的Dataset

在编写代码训练神经网络之前,导入数据是必不可少的。PyTorch提供了许多预加载的数据集(如FashionMNIST),这些数据集 子类并实现特定于特定数据的函数。 它们可用于对模型进行原型设计和基准测试,加载这些数据集是十分…

leetcode贪心(单调递增的数字、监控二叉树)

738.单调递增的数字 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要满足其各个位数上的数字是单调递增。 &#xff08;当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。&#xff…

完善 Golang Gin 框架的静态中间件:Gin-Static

Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架&#xff0c;但是生态中的 Static 中间件使用起来却一直很不顺手。 所以&#xff0c;我顺手改了它&#xff0c;然后把这个改良版开源了。 写在前面 Gin-static 的改良版&#xff0c;我开源在了 soulteary/gin-static&a…

汉字的音韵之美:中文拼音的魅力之旅

导语&#xff1a;中文拼音作为汉字的语音表达方式&#xff0c;已经深入人心。它不仅有助于汉字的学习与传播&#xff0c;还为汉语的国际化铺平了道路。本文将为您详细介绍中文拼音的起源、发展及其在我国教育、科技、文化等方面的广泛应用&#xff0c;带您领略这一古老而又现代…

5.云原生安全之ingress配置域名TLS证书

文章目录 cloudflare配置使用cloudflare托管域名获取cloudflare API Token在cloudflare中配置SSL/TLS kubesphere使用cert-manager申请cloudflare证书安装证书管理器创建Secret资源创建cluster-issuer.yaml创建cert.yaml申请证书已经查看申请状态 部署harbor并配置ingress使用证…

AI 编写完整工程代码:自然语言控制,AI 驱动开发 | 开源日报 No.135

gpt-engineer-org/gpt-engineer Stars: 47.6k License: MIT GPT-Engineer&#xff0c;AI 帮你写代码&#xff01; 工作流程&#xff1a; 通过自然语言指定软件AI 编写和执行代码引导 AI 优化改进 核心优势&#xff1a; 可以编辑 preprompts 文件来指定 AI 代理的 “身份”…