Java学习笔记 --- MySQL-函数

news2024/10/7 13:25:31

一、合计/统计函数

count

Count返回行的总数

SELECT COUNT(*) 列名 FROM table_name

        WHERE where_definition

# 演示 mysql 的统计函数的使用
-- 统计一个班级共有多少学生?
SELECT COUNT(*) FROM student
-- 统计数学成绩大于90的学生有多少个
SELECT COUNT(*) FROM student
	WHERE math > 90
-- 统计总分大于250的人数有多少个
SELECT COUNT(*) FROM student
	WHERE (chinese + english + math) > 250
-- COUNT(*) 和 COUNT(列) 的区别
-- COUNT(*) 返回满足条件的记录的总行数
-- COUNT(列) 统计满足条件的某列有多少个,但是会排除为空的情况
CREATE TABLE t13(
	`name` VARCHAR(20)
);
INSERT INTO t13 VALUES('tom')
INSERT INTO t13 VALUES('jack')
INSERT INTO t13 VALUES('mary')
INSERT INTO t13 VALUES(NULL)
SELECT  * FROM t13

SELECT COUNT(*) FROM t13 -- 4
SELECT COUNT(`name`) FROM t13  -- 3

 

sum

Sum函数返回满足where条件的行的和,一般使用在数值列

SELECT SUM(列名) {sum(列名)...} FROM table_name

        WHERE where_definition

-- 演示 sum 函数的使用
-- 统计一个班级数学总成绩
SELECT SUM(math) FROM student;
-- 统计一个班级数学、英语、语文各科的总成绩
SELECT SUM(math), SUM(english), SUM(chinese) FROM student;
-- 统计一个班级数学、英语、语文的成绩总合
SELECT SUM(math + english + chinese) FROM student;
-- 统计一个班级语文成绩平均分
SELECT SUM(chinese) / COUNT(*) FROM student;

 

avg

AVG函数返回满足where条件的一列的平均值

SELECT AVG(列名) FROM table_name

        WHERE where_definition

-- 演示avg的使用
-- 求一个班级数学平均分
SELECT AVG(math) FROM student;
-- 求一个班级总分平均分
SELECT AVG(math + english + chinese) FROM student;

 

max/min

Max/Min函数返回满足where条件的一列的最大/最小值

SELECT MAX(列名) FROM table_name

        WHERE where_definition

-- 演示max/min的使用
-- 求班级最高分和最低分(数值范围在统计中特别有用)
SELECT MAX(math + english + chinese), MIN(math + english + chinese) FROM student
-- 求出班级数学最高分和最低分
SELECT MAX(math), MIN(math) FROM student

 

使用group by 子句对列进行分组

SELECT 列名1,列名2... FROM table

        GROUP BY 列名

 

使用having子句对分组后的结果进行过滤

SELECT 列名1,列名2...

        FROM table

        GROUP BY 列名

        HAVING 过滤条件

CREATE TABLE dept (  /*部门表*/
	  deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
	  dname VARCHAR (20) NOT NULL DEFAULT "",
	  loc VARCHAR (13) NOT NULL DEFAULT ""
) ;

INSERT INTO dept 
	VALUES
	  (10, 'ACCOUNTING', 'NEW YORK'),
	  (20, 'RESEARCH', 'DALLAS'),
	  (30, 'SALES', 'CHICAGO'),
	  (40, 'OPERATIONS', 'BOSTON') ;
 
-- 员工表
CREATE TABLE emp
(empno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/
	ename VARCHAR(20) NOT NULL DEFAULT "", /*名字*/
	job VARCHAR(9) NOT NULL DEFAULT "",/*工作*/
	mgr MEDIUMINT UNSIGNED ,/*上级编号*/
	hiredate DATE NOT NULL,/*入职时间*/
	sal DECIMAL(7,2) NOT NULL,/*薪水*/
	comm DECIMAL(7,2) ,/*红利 奖金*/
	deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0 /*部门编号*/
);

-- 添加测试数据
INSERT INTO emp VALUES(7369, 'SMITH', 'CLERK', 7902, '1990-12-17', 800.00,NULL , 20), 
(7499, 'ALLEN', 'SALESMAN', 7698, '1991-2-20', 1600.00, 300.00, 30), 
(7521, 'WARD', 'SALESMAN', 7698, '1991-2-22', 1250.00, 500.00, 30), 
(7566, 'JONES', 'MANAGER', 7839, '1991-4-2', 2975.00,NULL,20), 
(7654, 'MARTIN', 'SALESMAN', 7698, '1991-9-28',1250.00,1400.00,30),
(7698, 'BLAKE','MANAGER', 7839,'1991-5-1', 2850.00,NULL,30), 
(7782, 'CLARK','MANAGER', 7839, '1991-6-9',2450.00,NULL,10), 
(7788, 'SCOTT','ANALYST',7566, '1997-4-19',3000.00,NULL,20), 
(7839, 'KING','PRESIDENT',NULL,'1991-11-17',5000.00,NULL,10), 
(7844, 'TURNER', 'SALESMAN',7698, '1991-9-8', 1500.00, NULL,30), 
(7900, 'JAMES','CLERK',7698, '1991-12-3',950.00,NULL,30), 
(7902, 'FORD', 'ANALYST',7566,'1991-12-3',3000.00, NULL,20), 
(7934,'MILLER','CLERK',7782,'1992-1-23', 1300.00, NULL,10);

-- 工资级别
#工资级别表
CREATE TABLE salgrade
(
	grade MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*工资级别*/
	losal DECIMAL(17,2) NOT NULL, /* 该级别的最低工资 */
	hisal DECIMAL(17,2) NOT NULL /* 该级别的最高工资*/
);
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999); 

SELECT * FROM salgrade;
SELECT * FROM dept;
SELECT * FROM emp;


# 演示group by  + having的使用
-- GROUP BY 用于对查询的结果分组统计
-- 如何显示每个部门的平均工资和最高工资
-- avg(sal) max(sal)
-- 按照部门来分组查询
SELECT AVG(sal), MAX(sal) , deptno
	FROM emp GROUP BY deptno;

-- 显示每个部门的每种岗位的平均工资和最低工资
SELECT AVG(sal), MIN(sal) , deptno, job
	FROM emp GROUP BY deptno, job;

-- 显示平均工资低于2000的部门和它的平均工资 //别名
SELECT AVG(sal) AS avg_sal, deptno
	FROM emp GROUP BY deptno
	HAVING avg_sal < 2000

 

 

二、字符串相关函数

# 演示字符串相关函数的使用 使用 emp 表来演示

-- CHARSET(str) 返回字串字符集
SELECT CHARSET(ename) FROM emp;

-- CONCAT (string2 [,... ]) 连接字串, 将多个列拼接成一列
SELECT CONCAT(ename, '工作是', job) FROM emp;

-- INSTR (string ,substring ) 返回 substring 在 string 中出现的位置,没有返回 0
-- dual 亚元表, 系统表 可以作为测试表使用
SELECT INSTR('zhangsan', 'san') FROM DUAL;

-- UCASE (string2 ) 转换成大写
SELECT UCASE(ename) FROM emp;

-- LCASE (string2 ) 转换成小写
SELECT LCASE(ename) FROM emp;

-- LEFT (string2 ,length )从 string2 中的左边起取 length 个字符
SELECT LEFT(ename, 2) FROM emp;

-- RIGHT (string2 ,length ) 从 string2 中的右边起取 length 个字符
SELECT RIGHT(ename, 2) FROM emp;
 
-- LENGTH (string )string 长度[按照字节]
SELECT LENGTH(ename) FROM emp;
 
-- REPLACE (str ,search_str ,replace_str )
-- 在 str 中用 replace_str 替换 search_str
-- 如果是 manager 就替换成 经理
SELECT ename, REPLACE(job, 'MANAGER', '经理') FROM emp;
 
-- STRCMP (string1 ,string2 ) 逐字符比较两字串大小
SELECT STRCMP('hsp', 'zss') FROM DUAL;

-- SUBSTRING (str , position [,length ])
-- 从 str 的 position 开始【从 1 开始计算】,取 length 个字符
-- 从 ename 列的第一个位置开始取出 2 个字符
SELECT SUBSTRING(ename, 1, 2) FROM emp;

-- LTRIM (string2 ) RTRIM (string2 ) TRIM(string)
-- 去除前端空格或后端空格
SELECT LTRIM('   张三') FROM DUAL;
SELECT RTRIM('张三   ') FROM DUAL;
SELECT TRIM('     张三   ') FROM DUAL;
 
-- 练习: 以首字母小写的方式显示所有员工 emp 表的姓名
-- 方法一
-- 思路先取出 ename 的第一个字符,转成小写的
-- 把他和后面的字符串进行拼接输出即可
SELECT CONCAT(LCASE(LEFT(ename, 1)), SUBSTRING(ename, 2)) AS new_name FROM emp;
-- 方法二
SELECT CONCAT(LCASE(SUBSTRING(ename, 1, 1)), SUBSTRING(ename, 2)) AS new_name FROM emp;

 

 

三、数学相关函数

# 演示数学相关函数
-- ABS(num) 绝对值
SELECT ABS(-10) FROM DUAL;
 
-- BIN (decimal_number )十进制转二进制
SELECT BIN(10) FROM DUAL;
 
-- CEILING (number2 ) 向上取整, 得到比 num2 大的最小整数
SELECT CEILING(-1.1) FROM DUAL;
 
-- CONV(number2,from_base,to_base) 进制转换
-- 下面的含义是 8 是十进制的 8, 转成 2 进制输出
SELECT CONV(8, 10, 2) FROM DUAL;
 
-- FLOOR (number2 ) 向下取整,得到比 num2 小的最大整数
SELECT FLOOR(-1.1) FROM DUAL;
 
-- FORMAT (number,decimal_places ) 保留小数位数(四舍五入)
SELECT FORMAT(3.1415926, 2) FROM DUAL;
 
-- HEX (DecimalNumber ) 转十六进制
 SELECT HEX(10101111) FROM DUAL;
 
-- LEAST (number , number2 [,..]) 求最小值
SELECT LEAST(0, 9, -4, 50) FROM DUAL;

-- MOD (numerator ,denominator ) 求余
SELECT MOD(10, 3) FROM DUAL;
 
-- RAND([seed]) RAND([seed]) 返回随机数 其范围为 0 ≤ v ≤ 1.0
-- 说明
-- 1. 如果使用 rand() 每次返回不同的随机数 ,在 0 ≤ v ≤ 1.0
-- 2. 如果使用 rand(seed) 返回随机数, 范围 0 ≤ v ≤ 1.0, 如果 seed 不变,
-- 该随机数也不变了
SELECT RAND(1) FROM DUAL;

 

 

四、时间日期相关函数

细节说明:

1、DATE_ADD 中的 interval 后面可以是 year minute second day等

2、DATE_SUD 中的 interval 后面可以是 year minute second day等

3、DATEDIFF(date1,date2) 得到的是天数,而且是 date1 - date2 的天数,因此可以取负数

4、这四个函数的日期类型可以是 date,datetime 或者 timestamp

-- 日期时间相关函数

-- CURRENT_DATE ( )当前日期
SELECT CURRENT_DATE() FROM DUAL;

-- CURRENT_TIME ( )当前时间
SELECT CURRENT_TIME() FROM DUAL;

-- CURRENT_TIMESTAMP ( ) 当前时间戳
SELECT CURRENT_TIMESTAMP() FROM DUAL;
 
-- 创建测试表 信息表
CREATE TABLE mes(
	id INT,
	content VARCHAR(30),
	send_time DATETIME);
 
-- 添加一条记录
INSERT INTO mes
	VALUES(1, '北京新闻', CURRENT_TIMESTAMP());
INSERT INTO mes
	VALUES(2, '南京新闻', NOW());
INSERT INTO mes
	VALUES(3, '上海新闻', NOW());
 
SELECT * FROM mes;
SELECT NOW() FROM DUAL;
 
 
-- 应用实例
-- 显示所有新闻信息,发布日期只显示 日期,不用显示时间
SELECT id, content, DATE(send_time) FROM mes

-- 请查询在 10 分钟内发布的新闻
SELECT * FROM mes
	WHERE DATE_ADD(send_time, INTERVAL 10 MINUTE) >= NOW();
	
SELECT * FROM mes
	WHERE DATE_SUB(NOW(), INTERVAL 10 MINUTE) <= send_time;

-- 请在 mysql 的 sql 语句中求出 2011-11-11 和 1990-1-1 相差多少天
SELECT DATEDIFF('2011-11-11', '1990-1-1') FROM DUAL;

-- 请用 mysql 的 sql 语句求出你活了多少天? [练习]
SELECT DATEDIFF(NOW(), '1666-12-12') FROM DUAL;

-- 如果你能活 80 岁,求出你还能活多少天.[练习]
-- 先求出活 80 岁 时, 是什么日期 X
-- 然后在使用 datediff(x, now()); 1986-11-11->datetime
-- INTERVAL 80 YEAR : YEAR 可以是 年月日,时分秒
-- '1986-11-11' 可以 date,datetime timestamp
SELECT DATEDIFF(DATE_ADD('1986-11-11', INTERVAL 80 YEAR), NOW()) FROM DUAL;

-- 时分秒的差
SELECT TIMEDIFF('10:11:12', '07:54:23') FROM DUAL;
 
-- YEAR|Month|DAY| DATE (datetime)
SELECT YEAR(NOW()) FROM DUAL;
SELECT MONTH(NOW()) FROM DUAL;
SELECT DAY(NOW()) FROM DUAL;

-- unix_timestamp() : 返回的是 1970-1-1到现在的秒数
SELECT UNIX_TIMESTAMP() FROM DUAL;

-- FROM_UNIXTIME() : 可以把一个 unix_timestamp 秒数[时间戳],转成指定格式的日期
-- %Y-%m-%d 格式是规定好的,表示年月日
-- %H:%i:%s 表示时分秒
-- 意义:在开发中,可以存放一个整数,然后表示时间,通过 FROM_UNIXTIME 转换
SELECT FROM_UNIXTIME(1618483484, '%Y-%m-%d') FROM DUAL;
SELECT FROM_UNIXTIME(1618483111, '%Y-%m-%d %H:%i:%s') FROM DUAL;

 

 

五、加密和系统函数

# 演示加密函数和系统函数
-- USER() 查询用户
-- 可以查看登录到 mysql 的有哪些用户,以及登录的 IP
SELECT USER() FROM DUAL; -- 用户@ip地址

-- DATABASE()查询当前使用数据库名称
SELECT DATABASE();

-- MD5(str) 为字符串算出一个 MD5 32 的字符串,常用(用户密码)加密
-- root 密码 -> 加密 md5 -> 在数据库中存放的是加密后的密码
SELECT MD5('mdzz') FROM DUAL;
SELECT LENGTH(MD5('mdzz')) FROM DUAL;

-- 演示用户表,存放密码时,是 md5
CREATE TABLE users(
	id INT,
	`name` VARCHAR(32) NOT NULL DEFAULT '',
	pwd CHAR(32) NOT NULL DEFAULT '');
	
INSERT INTO users
	VALUES(1, '张三', MD5('mdzz'));
	
SELECT * FROM users;
 
SELECT * FROM users -- SQL注入问题
	WHERE `name` = '张三' AND pwd = MD5('mdzz');
 
-- PASSWORD(str) -- 加密函数, MySQL 数据库的用户密码就是 PASSWORD 函数加密
SELECT PASSWORD('mdzz') FROM DUAL;
 
-- select * from mysql.user \G 从原文密码 str 计算并返回密码字符串
-- 通常用于对 mysql 数据库的用户密码加密
-- mysql.user 表示 数据库.表
SELECT * FROM mysql.user

 

 

六、流程控制函数

# 演示流程控制函数
-- IF(expr1,expr2,expr3) 如果 expr1 为 True ,则返回 expr2 否则返回expr3
SELECT IF(TRUE, '张三', '李四') FROM DUAL;

-- IFNULL(expr1,expr2) 如果 expr1 不为空 NULL,则返回 expr1,否则返回 expr2
SELECT IFNULL(NULL, '老六') FROM DUAL;

-- SELECT CASE WHEN expr1 THEN expr2 WHEN expr3 THEN expr4 ELSE expr5 END; [类似多重分支.]
-- 如果 expr1 为 TRUE,则返回 expr2,如果 expr2 为 t, 返回 expr4, 否则返回 expr5
SELECT CASE 
	WHEN TRUE THEN 'jack'  -- jack
	WHEN FALSE THEN 'tom' 
	ELSE 'mary' END;
	

-- 1. 查询 emp 表, 如果 comm 是 null , 则显示 0.0
-- 说明:判断是否为 null 要使用 is null, 判断不为空 使用 is not
SELECT ename, IF(comm IS NULL, 0.0, comm) 
	FROM emp;
	
SELECT ename, IFNULL(comm , 0.0) 
	FROM emp;

-- 2. 如果 emp 表的 job 是 CLERK 则显示 职员, 如果是 MANAGER 则显示经理
-- 如果是 SALESMAN 则显示 销售人员,其它正常显示
SELECT ename, (SELECT CASE
				WHEN job = 'CLERK' THEN '职员'
				WHEN job = 'MANAGER' THEN '经理'
				WHEN job = 'SALESMAN' THEN '销售人员'
				ELSE job END) 
	FROM emp;

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

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

相关文章

Linux——vim的使用

实验5 vim的使用 一、两种模式&#xff1a; 命令行模式和编辑模式&#xff08;前者还有底行模式&#xff0c;命令行模式输入&#xff1a;就是底行模式&#xff09; 切换方法&#xff1a;进入vim后默认在命令模式&#xff0c;可以通过输入a后者i进入编辑模式&#xff0c;或者…

SQL学习day3

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 高级过滤Q1、检索供应商名称Q2、检索并列出已订购产品的清单(稍难&#xff09;Q3、返回所有价格在 3美元到 6美元之间的产品的名称和价格总结Q1、检索供应商名称 编写 SQL 语…

2022全年度吸尘器十大热门品牌销量榜单

近年来&#xff0c;随着社会经济的发展及人们生活水平的提升&#xff0c;吸尘器的市场需求得到不断地释放&#xff0c;行业规模也在不断扩大。但由于起步较晚&#xff0c;居民的消费能力尚未得到完全释放&#xff0c;目前我国吸尘器市场的渗透率还较低。 根据鲸参谋平台的数据统…

初识Go语言

Go是一种静态强类型、编译型、并发型语言。 一、Go语言的设计思维 尽可能少的方式去处理事情&#xff0c;减少选择的烦恼。 go的特点&#xff1a; 仅有25个关键字&#xff0c;简洁的语法内置垃圾回收器&#xff0c;大大降低程序员管理内存的负担去除隐式类型转换、去除指针…

UNIAPP实战项目笔记56 注册时验证手机号是否存在

UNIAPP实战项目笔记56 注册时验证手机号是否存在 注册时候需要拦截并验证登录 通过验证的直接跳转,未通过验证的提示手机号已存在 实际案例图片 后端接口文件 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js);…

成端/接续功能使用说明

在nVisual系统中&#xff0c;接续/成端功能可以高效、准确、清晰的查看熔纤盒内的光纤连接情况。今天小编来给大家介绍一下成端和接续功能的使用。 一、成端 1. 功能入口 成端功能的入口有两种方式&#xff0c;第一个是鼠标右击选中线缆&#xff0c;出现连线右键菜单&#xf…

互联网新热——元宇宙带来了全新数字应用模式,推动数字经济的发展

大家平时电视上看到的在元宇宙中逛街、购物、社交&#xff0c;娱乐、看直播和表演……这些高度沉浸式地互动体验&#xff0c;都可以在“大唐灵境”实现了&#xff01; 近日&#xff0c;太一集团与大唐不夜城联手打造的中国首个文旅电商元宇宙“大唐灵境”将正式开放“东市”商…

阿里云轻量级服务器部署了项目外网无法访问

阿里云轻量级服务器部署了项目外网无法访问1、问题描述2、配置安全组权限2.1、阿里云控制台权限配置&#xff08;热加载&#xff0c;不用重启&#xff09;2.2、在服务器中查看防火墙中有哪些端口被开放&#xff08;非热加载&#xff0c;最后一定要手动重新加载&#xff09;3、如…

MAC Python 虚拟环境配置方法parcharm

MAC Python 虚拟环境配置方法&parcharm一、安装环境包1.找个风水宝地2.安装virtualenv包二、创建虚拟环境1.对比记录2.创建虚拟环境启动虚拟环境1.启动命令2.环境对比三、退出虚拟环境四、pycharm使用虚拟环境1.打开parcharm&#xff0c;新建一个项目&#xff0c;起个名字。…

excel账龄计算:两个经典公式快速制作账龄统计表

财务工作者对于账龄统计表都不陌生&#xff0c;我们之前也分享过很多关于账龄统计表的操作技巧和公式解析&#xff0c;但是今天遇到的这种账龄统计表&#xff0c;还是让财务小姐姐犯了难&#xff0c;到底是个怎样的账龄统计表呢&#xff0c;一起来看看吧&#xff1a; 如图所示&…

【工厂方法模式-3】工厂方法模式的代码实现及使用场景

在前面我们学习了简单工厂模式&#xff0c;简单工厂模式适用于产品对象比较固定的使用场景。简单工厂模式工厂模式存在两个比较大的问题&#xff0c;一个是新产品的加入必须修改工厂类&#xff0c;违反了开闭原则&#xff1b;另一个是所有产品对象都与工厂类耦合&#xff0c;无…

校友录网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;网站前台&#xff1a; 关于我们、联系我们、资讯信息、用户信息、用户动态、动态评论 管理员功能&#xff1a; 1、管理关…

基于vmdk文件创建虚拟机

基于vmdk文件创建虚拟机 1、准备vmdk文件 下载地址如下: 链接:https://pan.baidu.com/s/1coQuZw8cgg5oU5bSegsS7Q?pwd=5mv0 提取码:5mv0 账号/密码:root/sinzuo 2、创建虚拟机 选择自定义的方式创建虚拟机 硬件兼容性选择17,尽可能的向下兼容。 选择稍后安装操作系…

使用 IQR、Z-score、LOF 和 DBSCAN 进行异常值检测

你在处理异常值吗&#xff1f;哪种方法更适合检测偏斜或正态分布数据的异常值&#xff1f; 无论你是在执行 EDA 之前进行数据清理过程&#xff0c;将数据传递给机器学习模型&#xff0c;还是执行任何统计测试&#xff0c;本文都将帮助你获得许多此类问题的答案以及实际应用。 …

Static、#define、const、mutable、typedef

Static、#define、const、mutable、typedef 代码存储区域&#xff1a;常量区、代码区、静态区&#xff08;全局区&#xff09;、堆区、栈区 栈区向下增长&#xff0c;堆区向上增长。栈由系统管理&#xff0c;没有内存碎片&#xff0c;每个元素之间都是连续的&#xff0c;大小…

MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧

【查看原文】基于MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧 随着生物多样性全球大会的举办&#xff0c;不论是管理机构及科研单位、高校都在积极准备&#xff0c;根据国家林草局最新工作指示&#xff0c;我国将积极整合、优化自…

【Django项目开发】功能菜单模型类设计、视图类设计要点(一)

一、抽象模型类设计 1、抽象模型类设计的作用&#xff1a; 1、定义所有模型类的公共属性&#xff0c;当其他的模型类继承该抽象模型类时&#xff0c;就具备了模型类中的属性了&#xff1b;在项目开发中&#xff0c;减少代码的编写 2、抽象模型类中经常定义的字段包括&#xff…

HFSS使用经验二

目录 一、绘制空气盒 二、Driven Solution Setup 的设置 ​三、如何添加圆场放大图 四、仿真之前的Validate 五、开始仿真 六、仿真过程Solution Data的查看 一、绘制空气盒 选择Padding type为Absolute Offset 设定Boundary为Radiation辐射边界 空气盒比较大&#xff…

数据校验-springboot

前置知识 先了解一下JSR、Hibernate Validator、Spring Validation&#xff1a; JSR&#xff08;Java Specification Request&#xff09;规范是Java EE 6中的一项子规范&#xff0c;也叫作Bean Validation。它指定了一整套基于bean的验证API&#xff0c;通过标注给对象属性添…

数据可视化之中国足球队在国际足联及亚洲的历史排名看这儿

最近最热的体育盛事莫过于世界杯了&#xff0c;四年一届的足球盛事&#xff0c;正在卡塔尔激战正酣。这时候可能会有球迷疑问&#xff1a;怎么没看到中国队呢&#xff1f;也有网友调侃说中国队被分到工程队去了。 泱泱大国&#xff0c;难道中国十几亿人口&#xff0c;一个足球队…