MySQL学习笔记2

spring boot 2.1学习笔记【七】SpringBoot 2集成MySQL,Mybatis spring boot 2.1集成mybatis 阅读详情

MySQL学习笔记2

#进阶4:常见函数
/**
功能:类似于java的方法;将一组逻辑语句封装在方法体重,对外暴露方法名
好处1、隐藏了实现细节 2、提高代码的重用性
调用:select 函数名(实参列表) from 表;
特点:
	1.函数名
	2.函数功能
分类:
	1.单行函数
	如concat、length、ifnull等
	2.分组函数
	功能:做统计使用

*/


#一、字符函数
#length获取参数指定字节个数
SELECT LENGTH('哈哈')

#2.concat 拼接字符串
SELECT CONCAT(last_name,'_',first_name) FROM employees;
#3.upper 、lower 大小写
#案例:将姓变大写,名变小写,然后拼接
SELECT 
  CONCAT(UPPER(last_name),' ',LOWER(first_name))
 FROM employees;
 
 #4.substr 、substring【截取字符串】
 #注意索引从1开始
 #截取从指定索引处后面所有字符
 SELECT SUBSTR('李莫愁哀伤陆展元',7) out_put;
 
 #截取从指定索引处指定长度的字符
 SELECT SUBSTR('李莫愁哀伤陆展元',1,3) out_put;
 
 #案例:姓名中首字母大写,其他字母小写,然后用_拼接
 SELECT CONCAT(
 UPPER(SUBSTR(last_name,1,1)),'_',
 LOWER(SUBSTR(last_name,2,LENGTH(last_name)-1)))
 FROM employees;
 
 #instr 返回子串第一次出现的缩影,如果找不到返回0
 
 SELECT INSTR('杨不悔爱上了11','11');
 
 #6.trim去除首尾字符
 SELECT TRIM(' 1                ' ) AS out_put;
 SELECT TRIM('a' FROM 'aaaaaaaaaaaa1aaaaaaaaa1aaaaaaaaaaa' ) AS out_put;
 
 #7.lpad 用指定的字符实现左填充指定长度
 SELECT LPAD('殷素素',10,'*')  AS out_put
 #8.rpad 用指定的字符实现右填充指定长度
 SELECT RPAD('殷素素',10,'*')  AS out_put
 
 #9.replace 替换
SELECT REPLACE ('张无忌爱上了周芷若周芷若','周芷若','赵敏') AS out_put;
 
 
#二、数学函数
#round 四舍五入
SELECT ROUND(-1.55);
SELECT ROUND(1.567,2);#小数点后保留两位


#ceil 向上取整,返回>=该参数的最小整数

SELECT CEIL(1.52);
#floor 向下取整
SELECT FLOOR(9.99);
#truncate 截断小数点后截断一位
SELECT TRUNCATE(1.00,1);

#MOD取余=10%3
SELECT MOD(10,3);

#三 日期函数
#弄完 返回当前系统日期+时间
SELECT NOW();

#CURDATE 返回当前系统日期,不包含时间
SELECT CURDATE();

#curtime 返回当前时间、不包含日期
SELECT CURTIME();

#可以获取指定的部分,年月日,小时分钟秒 按照英文名使用
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT MONTHNAME(NOW());

#str_to_date:将日期格式的字符转换成指定格式的日期
SELECT STR_TO_DATE('1997-07-25','%Y-%c-%d');

#案例查询入职日期为1992--4--3的入职员工的信息
SELECT * FROM employees
WHERE hiredate=STR_TO_DATE('1992-4-3','%Y-%c-%d');

#date_format:将日期转换为字符

SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日%H时%i分%s秒');

#案例查询有奖金的员工名和入职日期(xx月/xx日)
SELECT 
	CONCAT(UPPER(last_name),LOWER(first_name)),DATE_FORMAT(hiredate,'%Y年%m月%d日')
FROM employees
WHERE commission_pct IS NOT NULL;
 
#四、其他函数
SELECT VERSION()
SELECT DATABASE()
SELECT	USER()

#五、流程控制函数
#1.if 函数 :if else的效果
SELECT IF(10>5,'da','xiao');
SELECT last_name,commission_pct,DATE_FORMAT(hiredate,'%Y-%m-%d'),
 IF(commission_pct IS NULL,'没奖金,呵呵','有奖金嘻嘻')
 FROM employees;
 
 
 #2.CASE函数的使用一:switch case的效果
 /*
 case 要判断的字段或者表达式
 when 常量1 then 要显示的值1或语句1;
 when 常量2 then 要显示的值1或语句1;
 ...
 else 要显示的值n或语句n:
 end
 */

#案例:查询员工的工资,要求
/*
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为原工资
其他部门,显示的工资为原工资


*/


SELECT salary, department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
FROM employees;


#3.case 函数的使用二;类似于多重if
/*
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值1或语句2
when 条件3 then 要显示的值1或语句3
when 条件4 then 要显示的值1或语句4
...
else 要显示的值n或语句n
end
*/

#案例 :查询员工的工资的情况
如果工资大于20000 A
如果工资大于15000 B
如果工资大于10000 C
否则显示,d级别

SELECT salary,CONCAT(last_name,first_name),DATE_FORMAT(hiredate,'%y%m%d'),
CASE
WHEN salary>20000 THEN  'A'
WHEN salary>15000 THEN  'B'
WHEN salary>10000 THEN  'C'
ELSE  'd'
END

FROM employees;

 
#二、分组函数
/*
功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:
sum求和、avg平均值、max最大值、min最小值、count计算个数
特点
1、sum、avg、只用于数值处理
   max,密码,count可以处理任何类型
2、以上分组函数忽略null值

3、可以和distinct搭配实现去重的运算

4、count函数的介绍
一般使用count(*)统计行数

5、和分组韩式一同查询的字段要求是group by后的字段
*/
#1.简单使用
SELECT SUM(salary) FROM employees;
SELECT AVG(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT MAX(salary) FROM employees;
SELECT COUNT(salary)FROM employees;

SELECT SUM(salary),ROUND(AVG(salary),2),MIN(salary),MAX(salary),COUNT(salary) FROM employees;

#2、参数支持哪些类型

SELECT SUM(last_name),AVG(last_name) FROM employees;#不支持字符型,仅支持数值型

#3、是否忽略null

#4、和distinct 搭配
SELECT SUM(DISTINCT salary),SUM(salary) FROM employees;

SELECT COUNT(DISTINCT salary),COUNT(salary) FROM employees;


#5、count函数的详细介绍
SELECT COUNT(salary) FROM employees;
SELECT COUNT(*) FROM employees;#统计行数
SELECT COUNT(1) FROM employees;#好比在原数据库中加了一列1,有多少个1就有多少行

/*效率:
myisam 存储引擎下,count(*)的效率高
innodb 存储引擎下,count(*),count(1)效率差不多,比count(字段)效率高*/


#6、和分组函数一同查询的字段有限制
SELECT AVG(salary),employee_id FROM employees;
#查询员工表中的最大入职时间和最小入职时间的相差天数(DIFFRENCE)用到一个函数datediff
SELECT DATEDIFF(MAX(hiredate),MIN(hiredate)) AS difference
 FROM employees;

SELECT COUNT(*)FROM employees
WHERE department_id = 90;
电压抬升电路设计 一、实验目的 掌握集成运放电压放大电路设计基本方法。 掌握基本仪器使用方法(电源、信号发生器、示波器)。 二、实验内容及结果 实验内容 基于集成运放设计一传感器信号采集电路。传感器输出信号在±50mV,频率为100Hz以内,模数转换器允许输入电压在0~5V,要求设计传感器与模数转换器之间的信号采集电路,实现传感器信号放大10倍,并适合模数转换器的输入。模数转换器的输入电阻为1KHz,设计电路时,可使用1KHz电阻作为信号采集电路负载,代替模数转换器。 实验具体要求如下: (1)确定电路形式,说明电压转 阅读详情

相关推荐

SSE消息推送避坑指南:从Chrome兼容性到Spring超时配置

本文深入探讨了在Java Spring Boot项目中实现SSE消息推送时,从浏览器兼容性到后端配置的完整避坑指南。针对Chrome并发连接限制、Safari自动断开、Nginx代理缓冲以及Spring SseEmitter内存泄漏与超时管理等生产环境常见问题,提供了具体的解决方案和最佳实践配置,帮助开发者构建稳定可靠的实时推送系统。

work3的博客 449

DAY2 MySQL学习笔记

1.查询查询所有数据库查询当前数据库--一定要加括号不然会报错2.创建CREAT DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];/*[IF NOT EXISTS]如果这个数据库名称不存在则创建;如果存在,则不执行任何操作[DEFAULT CHARSET 字符集]可略,UTF8不建议,因为只3个字节,建议UTF8MB4,有4个字节[COLLATE 排序规则]可略*/3.删除。

i0201_的博客 646

高通量测序数据分析:RNA-seq

深度测序相关数据库与数据格式 SRA toolkit 一、NCBI 和EBI、DDBJ组成INSDC,数据内容相同所以找NCBI就行。 (一)NCBI常用数据库 GenBank:遗传序列数据库,收集了所有公开的DNA序列及其注释 GEO (Gene Expression Omnibus) :收集整理各种表达芯片数据,后来加入了甲基化、lncRNA、miRNA、CNV等其他芯片,还有高通量测序数据...

qq_41134363的博客 3万+

MySQL学习笔记Day2

对数据库进行创建、修改、删除和重命名数据库对象的语句。DCL。

q5474的博客 449

AI驱动全栈开发实战:基于Spec与Codex的规格驱动开发指南

1. 先搞清楚“AI重构前端全栈”到底在解决什么实际问题 最近很多人在聊“AI重构前端全栈”,听起来像是又一个营销概念。但如果你真的拆开看,它核心解决的是一个非常具体且痛苦的问题: 一个开发者,如何从零开始,系统性地、不跑偏地完成一个完整项目,并且保证代码质量和架构一致性。 传统开发流程里,产品经理出PRD,前后端开会对齐,前端画页面,后端写接口,测试再介入。这个过程沟通成本高,文档容易过时,新人上手慢。而“AI重构”的思路,是试图用一套 规范化的指令(Spec) 来驱动AI(比如Codex这类模型)生成代

weixin_30596023的博客 460

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 687

MySQL学习笔记2: MySQL的前置知识

MySQL是什么?什么是客户端,什么是服务器?服务器的特点.安装mysql.mysql的客户端和服务器.数据库的多种含义.MySQL存储数据的组织方式

weixin_73276255的博客 1284

如何选择深度强化学习算法:MuZero/SAC/PPO/TD3/DDPG/DQN/等算法

如何选择深度强化学习算法:MuZero/SAC/PPO/TD3/DDPG/DQN/等算法

丨汀、的博客 5222

Django Web应用开发学习笔记 第2章 Django配置信息 2.4 数据库配置 2.4.2 pymysql连接MySQL

Django Web应用开发学习笔记 第2章 Django配置信息 2.4 数据库配置 2.4.2 pymysql连接MySQL

代码改变世界 623

基于STM32设计的智能家居系统(采用ESP8266+OneNet云平台)

一、环境介绍 单片机采用:STM32F103C8T6 上网方式:采用ESP8266,也可以使用其他设备代替,只要支持TCP协议即可。比如:GSM模块、有线网卡等。 云平台: 采用中国移动OneNet. 也可以采用腾讯、阿里云、华为云、百度天工物接入、机智云等等。 前面文章有讲解。 协议: 采用MQTT协议 开发软件:keil5 完整项目源码下载:https://download.youkuaiyun.com/download/xiaolong1126626497/19766925 二、包含的硬件与实...

1万+

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1216

MySQL学习笔记 2

MySQL + 学习笔记2 创建数据库:create database 查询所有的数据库:show databases; 选中数据库:use 数据库名; 查询当前所在数据库:select database(); – 单字锻主键约束 创建表单: CREATE TABLE emp ( id INT PRIMARY KEY, name VARCHAR(20), dept_id INT, salary...

Wllow的博客 666

Spring AI Alibaba实战训练营-05模型输出质量评估

本文介绍了使用Spring AI Alibaba库评估AI模型输出质量的方案。项目通过5种评估器实现自动化评估:相关性评估、事实准确性评估、答案相关性评分、答案正确性评估和忠实度评估。开发步骤包括环境准备(Java 17、Maven、API Key获取)、创建Maven项目、配置Spring AI(通过环境变量安全设置API Key)以及实现RAG流程。重点强调了通过评估器自动检测AI输出的质量指标,帮助开发者优化AI应用性能。

program哲学 217

MySQL学习笔记2:where 条件查询

简介 本系列(MySQL学习笔记)是我基于B站上非常受欢迎的MySQL 基础+高级篇- 数据库 -sql -尚硅谷视频所做的笔记,方便大家学习和掌握MySQL。 说明 1.这个系列基本包含了视频中老师讲课的基本所有内容,包括知识点、案例、部分测试题。 2.所需的配套资料(来自B站评论区) @黎曼的猜想: 配套资料下载–>公众号公众号 DragonWell 回复:mysql 注意:是公众号!!是公众号!!是公众号,点那个 搜一搜 搜索!!! 不是私人号,是公众号!!! (可以直接在 搜一搜 搜

AsajuHuishi的博客 548

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

2025.4.2 MySQL学习笔记:连接查询

连接查询是关系型数据库中非常重要的查询方式之一,它允许我们将多个表的数据通过某种关联关系组合在一起进行查询,从而获取更全面、更有意义的信息。在MySQL中,连接查询主要包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(MySQL中不直接支持,但可以通过其他方式实现)。连接查询是MySQL中非常强大的功能,通过内连接、左连接、右连接和全连接,我们可以根据不同的需求组合多个表的数据。

2503_90960068的博客 1035

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql 学习笔记2

索引情况。 mysql> show index from t_group; MySQL 执行优化 下面列出了MySQL 执行的部分优化: ·         去除不必要的括号: ·                        ((a AND b) AND c OR (((a AND b) AND (c AND d)))) ·            ...

Chinaxxren 242

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MySql学习笔记2

2.5修改删除表 修改表名 alter table 旧表名 rename as 新表名 alter table user rename as user1 增加表字段 alter table 表名 add 字段名 字段属性(列属性) alter table user1 add age int(3) 修改表的字段(修改约束) alter table 表名 modify 字段名 字段属性 alter table user1 modify age varchar(3) 修改表的字段(重命名)alter table

a3026836480的博客 459

MySQL学习笔记(2)

MySQL学习笔记之查询语句 标签(空格分隔): MySQL 导入示例数据库 下载示例数据库 示例数据库结构参考 解压到如图所示位置; 连接到MySQL服务器并创建数据库; 创建数据库: 导入数据: 测试导入结果; SQL与MySQL 什么是SQL? SQL是Structured Query Language(结构化查询语言)的缩写。 SQL是一种专门用来与数据库沟通的语言。 设计...

ZHE_Blog 1526
上一篇: MySQL学习笔记1
下一篇: MySQL学习笔记3
codernoob
博客等级 码龄9年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值