MySQL及SQL语句

news2024/11/25 1:37:31

SQL语句

  • 数据库相关概念
  • 数据查询语言(DQL)
    • 基本查询
    • 数据类型
    • 条件查询
    • 多表查询
    • 子查询
  • 数据操作语言(DML)
  • 数据定义语言(DDL)
  • 数据控制语言(DCL)
  • MySQL数据库约束
  • 视图
  • 练习题

数据库相关概念

关系数据库:MySQL、Oracle、SQL Server
非关系型数据库:MongoDB、Redis

软件测试在什么时候会用到数据库的知识?

  • 搭建测试环境
  • 通用数据库操作功能的测试(增删改查)
  • 快速创建测试数据,提高测试工作效率
  • 性能测试时更便于理解系统结构

数据模型分类

  • 层次模型(一对多)
  • 网状模型(多对多)
  • 关系模型(带有一些特殊属性的一张二维表,例如学生表)

关系型基本概念:关系(一张表)、元组(一行)、属性(一列)、主键(能唯一确定一个元组的某个属性组)。

数据查询语言(DQL)

SQL语句一般分为DQL、DML、DCL、DDL及功能函数。
在这里插入图片描述
在练习之前,先建立三张表

-- ----------------------------
-- Table structure for dept
-- ----------------------------
DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept`  (
  `deptno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `loc` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of dept
-- ----------------------------
INSERT INTO `dept` VALUES ('dept01', '技术部', '武汉');
INSERT INTO `dept` VALUES ('dept02', '销售部', '武汉');
INSERT INTO `dept` VALUES ('dept03', '客服部', '上海');
INSERT INTO `dept` VALUES ('dept04', '管理部', '成都');
INSERT INTO `dept` VALUES ('dept05', '技术支持', '武汉');

-- ----------------------------
-- Table structure for emp
-- ----------------------------
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp`  (
  `empno` int(11) NULL DEFAULT NULL,
  `ename` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `jobno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `mgr` int(11) NULL DEFAULT NULL,
  `hiredate` date NULL DEFAULT NULL,
  `deptno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of emp
-- ----------------------------
INSERT INTO `emp` VALUES (1001, '张三', 'j01', 1005, '2010-01-01', 'dept01');
INSERT INTO `emp` VALUES (1002, '李四', 'j02', 1005, '2011-12-02', 'dept01');
INSERT INTO `emp` VALUES (1003, '王二', 'j01', 1005, '2015-11-11', 'dept01');
INSERT INTO `emp` VALUES (1004, '李丽', 'j03', 1005, '2016-04-06', 'dept01');
INSERT INTO `emp` VALUES (1005, '韩梅', 'j04', 1013, '2014-03-07', 'dept01');
INSERT INTO `emp` VALUES (1006, '小白', 'j05', 1009, '2014-07-07', 'dept02');
INSERT INTO `emp` VALUES (1007, '小明', 'j05', 1009, '2015-08-09', 'dept02');
INSERT INTO `emp` VALUES (1008, '小红', 'j05', 1009, '2017-04-15', 'dept02');
INSERT INTO `emp` VALUES (1009, '小李', 'j06', 1013, '2014-05-30', 'dept02');
INSERT INTO `emp` VALUES (1010, '李俊', 'j07', 1012, '2014-05-12', 'dept03');
INSERT INTO `emp` VALUES (1011, '刘玲', 'j07', 1012, '2018-03-26', 'dept03');
INSERT INTO `emp` VALUES (1012, '王雪', 'j08', 1013, '2019-03-06', 'dept03');
INSERT INTO `emp` VALUES (1013, '吴总', 'j21', 1014, '2014-03-28', 'dept04');
INSERT INTO `emp` VALUES (1014, '刘总', 'j22', NULL, '2014-05-12', 'dept04');
INSERT INTO `emp` VALUES (1015, '大王', 'j23', 1014, '2020-05-12', 'dept03');
INSERT INTO `emp` VALUES (1016, '小王', 'j23', 1013, '2020-07-12', 'dept03');

-- ----------------------------
-- Table structure for job
-- ----------------------------
DROP TABLE IF EXISTS `job`;
CREATE TABLE `job`  (
  `jobno` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `jobname` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sal` float(10, 2) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of job
-- ----------------------------
INSERT INTO `job` VALUES ('j01', 'java开发', 14560.00);
INSERT INTO `job` VALUES ('j02', '软件测试', 12345.00);
INSERT INTO `job` VALUES ('j03', '前端开发', 12000.00);
INSERT INTO `job` VALUES ('j04', '项目经理', 18000.00);
INSERT INTO `job` VALUES ('j05', '销售员', 8000.00);
INSERT INTO `job` VALUES ('j06', '销售经理', 10050.00);
INSERT INTO `job` VALUES ('j07', '客服', 5000.00);
INSERT INTO `job` VALUES ('j08', '客服经理', 6666.00);
INSERT INTO `job` VALUES ('j21', '总经理', 88888.00);
INSERT INTO `job` VALUES ('j22', '董事长', 150000.00);
INSERT INTO `job` VALUES ('j23', '售后', 8888.00);

SET FOREIGN_KEY_CHECKS = 1;

基本查询

SELECT * FROM job;
SELECT jobno,sal FROM job;
SELECT jobno,sal,sal*2+100 as salnew FROM job; #取别名,或用空格替代as

SELECT DISTINCT jobno FROM emp; #去重
SELECT * FROM emp LIMIT 2,5; #去掉前两行,从下一行开始往后显示5条数据

数据类型

MySQL数据类型:

  1. 数值类型
  2. 字符串类型
  3. 日期和时间类型

条件查询

SELECT * FROM emp WHERE empno=1010;
SELECT * FROM emp WHERE empno>=1010;
SELECT * FROM emp WHERE empno<>1010; #不等于

SELECT * FROM emp WHERE empno BETWEEN 1008 and 1010;
SELECT * FROM emp WHERE empno IN(1009,1010,1011);
SELECT * FROM emp WHERE ename LIKE '李%'; #单个字符'_'
SELECT * FROM emp WHERE mgr IS NULL;

#逻辑运算符:AND、OR和NOT
SELECT * FROM emp WHERE not empno=1010;

SELECT * FROM job ORDER BY sal; #ORDER BY默认升序排列
SELECT * FROM job ORDER BY sal desc; 
SELECT jobname, sal as 薪资 FROM job ORDER BY 薪资 desc; 
SELECT * FROM job ORDER BY jobno DESC,sal ASC;

多表查询

字符函数:length(x)、replace(x,char1,char2)、substring(x,start,length)…

SELECT * from job WHERE LENGTH(jobname)<12; #汉字采用utf-8编码,一个汉字3个字节
SELECT * from job WHERE CHAR_LENGTH(jobname)<4;
SELECT jobname,REPLACE(jobname,'经理','主管') from job;

数字函数
返回x的y次方:POW(x,y)
返回绝对值:ABS(x)

控制流函数

SELECT ename,IF(ename='王二','狗子','') from emp; #还有IFNULL(v1,v2)函数
SELECT jobname,jobno,sal,(CASE jobname
	WHEN '软件测试' THEN sal+1000
	WHEN '客服' THEN sal+500
	ELSE sal 
END)as newsal FROM job;

外键:一个表中的外键是对另外一个表中主键的引用。

SELECT * FROM dept d,emp e WHERE d.deptno=e.deptno;

SELECT worker.ename,worker.mgr,'work for',manager.empno,manager.ename
FROM emp worker,emp manager WHERE worker.mgr=manager.empno;

#左外连接left outer join:以左表为基础,如果右表中不存在的数据,则以null补足
SELECT emp.empno,emp.ename,dept.deptno FROM dept LEFT JOIN emp ON emp.deptno=dept.deptno;
SELECT emp.empno,emp.ename,dept.deptno FROM dept RIGHT JOIN emp ON emp.deptno=dept.deptno;

练习
#1.查询dept01号部门的员工姓名、职位、工资、部门名称
SELECT e.ename,j.jobname,j.sal,d.dname 
FROM emp e,dept d,job j 
WHERE  e.deptno=d.deptno AND e.jobno=j.jobno AND d.deptno='dept01';
#Q:j和d不需要连接吗?不需要,因为e和d连接之后就相当于一张表了

#2.查询员工姓名、部门号、部门名称,要求将没有员工的部门也显示出来
SELECT e.ename,d.deptno,d.dname
FROM dept d LEFT JOIN emp e
ON d.deptno=e.deptno;
#Q:左外连接中的两表交换位置就相当于右外连接吗?对


SELECT语法顺序:
WHERE
GROUP BY
HAVING (对行分组的结果进行过滤)
ORDER BY

子查询

常用分组函数:AVG SUM COUNT MAX MIN

#group by子句
SELECT e.deptno,j.jobname,sum(j.sal)
FROM emp e,job j
WHERE e.jobno=j.jobno
GROUP BY e.deptno,j.jobname;

#having子句
SELECT e.deptno,ROUND(avg(j.sal),2) as '平均薪资'
FROM emp e,job j
WHERE e.jobno=j.jobno
GROUP BY e.deptno
HAVING avg(j.sal)>10000;
#like用于单个模糊查询,in用于多个具体查询
SELECT j.jobname,ROUND(AVG(j.sal),2) 
FROM job j
WHERE j.jobname LIKE('%经理') or j.jobname IN('java开发','软件测试')
GROUP BY j.jobname
HAVING AVG(j.sal)>10000;

#嵌套查询
SELECT e.ename,j.sal
FROM emp e,job j
WHERE e.jobno=j.jobno AND sal<
(SELECT sal FROM job WHERE jobname='软件测试');

#先查询部门号为20的部门的最小工资,设为A,按部门号对部门进行分组,找出每个部门的最小工资,并且这个最小工资要大于A
SELECT e.deptno,MIN(j.sal)
FROM emp e,job j
WHERE e.jobno=j.jobno
GROUP BY e.deptno
HAVING MIN(sal)>
	(SELECT MIN(sal)
	FROM emp
	WHERE deptno=20);
	
SELECT ename,deptno
FROM emp 
WHERE deptno IN 
	(SELECT deptno 
	FROM emp
	WHERE ename='王二' or ename='李俊');
	
#<ANY指小于最大值 >ANY指大于最小值
SELECT empno,ename,jobname
FROM emp,job
WHERE emp.jobno=job.jobno AND sal>ANY
	(SELECT sal
	FROM job
	WHERE jobname='java开发') 
	AND jobname<>'java开发';

#>ALL 指大于最大值 <ALL指小于最小值

数据操作语言(DML)

INSERT UPDATE DELETE

数据定义语言(DDL)

CREATE ALTER DROP

数据控制语言(DCL)

GRANT REVOKE

MySQL数据库约束

  • NOT NULL
  • UNIQUE KEY
  • PRIMARY KEY
  • FOREIGN KEY
  • DEFAULT

视图

视图是一张虚拟表,其本质对应于一条select语句,结果集被赋予一个名字,即视图名字。

练习题

sql文件

-- ----------------------------
-- Table structure for product
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product`  (
  `pro_id` int(11) NOT NULL,
  `pro_name` varchar(14) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `pro_sup_id` int(11) NULL DEFAULT NULL,
  `pro_num` int(11) NULL DEFAULT NULL,
  `pro_price` float(7, 2) NULL DEFAULT NULL,
  PRIMARY KEY (`pro_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of product
-- ----------------------------
INSERT INTO `product` VALUES (1001, 'iPhone6 Plus', 10, 120, 6000.00);
INSERT INTO `product` VALUES (1002, 'iPhone6', 10, 120, 5000.00);
INSERT INTO `product` VALUES (1003, 'mate7', 20, 100, 4500.00);
INSERT INTO `product` VALUES (1004, '荣耀6 Plus', 20, 200, 1999.00);
INSERT INTO `product` VALUES (1005, '小米 NOTE', 30, 50, 1900.00);
INSERT INTO `product` VALUES (1006, '荣耀6', 20, 150, 1499.00);
INSERT INTO `product` VALUES (1007, 'iPhone5S', 10, 150, 3500.00);
INSERT INTO `product` VALUES (1008, '小米4', 30, 100, 1499.00);
INSERT INTO `product` VALUES (1009, 'MX4', 40, 50, 1699.00);
INSERT INTO `product` VALUES (1010, 'MX4 PRO', 40, 120, 2199.00);

-- ----------------------------
-- Table structure for salegrade
-- ----------------------------
DROP TABLE IF EXISTS `salegrade`;
CREATE TABLE `salegrade`  (
  `sm_id` bigint(20) NULL DEFAULT NULL,
  `pro_id` int(11) NULL DEFAULT NULL,
  `sg_date` date NULL DEFAULT NULL,
  `sg_grade` bigint(20) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of salegrade
-- ----------------------------
INSERT INTO `salegrade` VALUES (20151051, 1001, '2015-01-16', 60000);
INSERT INTO `salegrade` VALUES (20151051, 1002, '2015-01-16', 30000);
INSERT INTO `salegrade` VALUES (20151038, 1003, '2015-01-16', 13500);
INSERT INTO `salegrade` VALUES (20151038, 1004, '2015-01-16', 19990);
INSERT INTO `salegrade` VALUES (20151038, 1006, '2015-01-16', 2998);
INSERT INTO `salegrade` VALUES (20151030, 1005, '2015-01-16', 1900);
INSERT INTO `salegrade` VALUES (20151030, 1008, '2015-01-16', 8994);
INSERT INTO `salegrade` VALUES (20151041, 1001, '2015-01-16', 72000);
INSERT INTO `salegrade` VALUES (20151041, 1007, '2015-01-16', 70000);
INSERT INTO `salegrade` VALUES (20151041, 1002, '2015-01-16', 10000);
INSERT INTO `salegrade` VALUES (20151035, 1009, '2015-01-16', 11893);
INSERT INTO `salegrade` VALUES (20151051, 1001, '2015-01-16', 60000);
INSERT INTO `salegrade` VALUES (20151051, 1001, '2015-01-16', 60000);
INSERT INTO `salegrade` VALUES (20151051, 1002, '2015-01-16', 30000);
INSERT INTO `salegrade` VALUES (20151038, 1003, '2015-01-16', 13500);
INSERT INTO `salegrade` VALUES (20151038, 1004, '2015-01-16', 19990);
INSERT INTO `salegrade` VALUES (20151038, 1006, '2015-01-16', 2998);
INSERT INTO `salegrade` VALUES (20151030, 1005, '2015-01-16', 1900);
INSERT INTO `salegrade` VALUES (20151030, 1008, '2015-01-16', 8994);
INSERT INTO `salegrade` VALUES (20151041, 1001, '2015-01-16', 72000);
INSERT INTO `salegrade` VALUES (20151041, 1007, '2015-01-16', 70000);
INSERT INTO `salegrade` VALUES (20151041, 1002, '2015-01-16', 10000);
INSERT INTO `salegrade` VALUES (20151035, 1009, '2015-01-16', 11893);

-- ----------------------------
-- Table structure for salesman
-- ----------------------------
DROP TABLE IF EXISTS `salesman`;
CREATE TABLE `salesman`  (
  `sm_id` bigint(20) NOT NULL,
  `sm_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `sm_job` varchar(14) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `sm_mgr` bigint(20) NULL DEFAULT NULL,
  `sm_sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `sm_phno` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`sm_id`) USING BTREE,
  UNIQUE INDEX `uk_sm_phno`(`sm_phno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of salesman
-- ----------------------------
INSERT INTO `salesman` VALUES (20141001, 'MILLER', 'DIRECTOR', NULL, 'M', 17745678923);
INSERT INTO `salesman` VALUES (20141030, 'JONES', 'MANAGER', 20141001, 'M', 13612345678);
INSERT INTO `salesman` VALUES (20151011, 'VICKY', 'SALESMAN', 20141031, 'F', 15812345678);
INSERT INTO `salesman` VALUES (20151030, 'JACK', 'SALESMAN', NULL, 'M', 17745678927);
INSERT INTO `salesman` VALUES (20151035, 'SWIFT', 'MANAGER', 20141001, 'M', 13912345678);
INSERT INTO `salesman` VALUES (20151038, 'SCOTT', 'SALESMAN', 20141030, 'F', 13512345678);
INSERT INTO `salesman` VALUES (20151051, 'SMITH', 'SALESMAN', 20141030, 'M', NULL);

-- ----------------------------
-- Table structure for supplier
-- ----------------------------
DROP TABLE IF EXISTS `supplier`;
CREATE TABLE `supplier`  (
  `sup_id` int(11) NOT NULL,
  `sup_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `sup_loc` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`sup_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of supplier
-- ----------------------------
INSERT INTO `supplier` VALUES (10, '苹果', '美国加利福尼亚');
INSERT INTO `supplier` VALUES (20, '华为', '广东深圳');
INSERT INTO `supplier` VALUES (30, '小米', '北京');
INSERT INTO `supplier` VALUES (40, '魅族', '广东珠海');
INSERT INTO `supplier` VALUES (50, 'vivo', '四川成都');
INSERT INTO `supplier` VALUES (60, '联想', '北京');
INSERT INTO `supplier` VALUES (70, 'HTC', '台湾桃源');

SET FOREIGN_KEY_CHECKS = 1;

习题

#1.查询product表,显示销售价格低于4000的商品信息
SELECT * 
FROM product
WHERE pro_price<4000;

#2.查询product表,显示销售价格最高的商品信息
SELECT *
FROM product
WHERE pro_price=
	(SELECT MAX(pro_price )
	FROM product);

#3.查询product表,显示10号供应商所提供的商品信息
SELECT *
FROM product
WHERE pro_sup_id=10;

#4.查询product表,显示10号供应商所提供的商品的平均销售价格
SELECT AVG(pro_price)
FROM product
WHERE pro_sup_id=10;

#5.查询product表,显示每个供应商所提供商品的平均价格,平均价格保留两位小数,按供应商编号降序排列
SELECT pro_sup_id,ROUND(AVG(pro_price),2)
FROM product
GROUP BY pro_sup_id
ORDER BY pro_sup_id DESC;

#6.查询supplier表,显示在广东的供应商信息
SELECT *
FROM supplier
WHERE sup_loc LIKE '广东%';

#7.查询salesman表,显示领导编号为空的销售人员信息
SELECT * 
FROM salesman
WHERE sm_mgr IS NULL;

#8.查询product表和supplier表,显示‘mate7’的供应商信息
SELECT * 
FROM supplier
WHERE sup_id=(
	SELECT pro_sup_id 
	FROM product 
	WHERE pro_name='mate7');

#9.查询salesman表,显示每个销售人员及其领导的姓名
SELECT a.sm_name,b.sm_name
FROM salesman a
LEFT JOIN salesman b
ON a.sm_mgr=b.sm_id;SELECT a.sm_name,b.sm_name
FROM salesman a
LEFT JOIN salesman b
ON a.sm_mgr=b.sm_id;

#10.查询salegrade表,显示2015年1月16日的销售总额
SELECT SUM(sg_grade)
FROM salegrade
WHERE sg_date='2015-1-16';

#11.查询salegrade表,显示2015年1月16日的销售最高的销售人员信息
SELECT * 
FROM salesman
WHERE sm_id in (
	SELECT sm_id
	FROM salegrade
	WHERE sg_grade=(
		SELECT MAX(sg_grade)
		FROM salegrade) 
	);

#12.查询salegrade表,显示2015年1月16日’iPhone6‘的销售数量
SELECT DISTINCT p.pro_num
FROM product p,salegrade s
WHERE p.pro_id=s.pro_id AND s.sg_date='2015-01-16' AND p.pro_name='iPhone6';

#13.查询salegrade表和salesman表,显示’SMITH‘在2015年1月的销售总额
SELECT SUM(sg_grade)
FROM salegrade sg,salesman sm
WHERE sg.sm_id=sm.sm_id AND sm.sm_name='SMITH' AND sg.sg_date LIKE '2015-01-%';

#14.查询product表和supplier表,显示每家供应商的名称,提供的商品数量,未提供商品的供应商也需要显示(显示数量为0)
SELECT sup_name,SUM(pro_num)
FROM supplier s,product p
WHERE s.sup_id=p.pro_sup_id
GROUP BY sup_id;

#15.查询salegrade,product表,显示2015年1月16日各型号商品的销售数量
SELECT DISTINCT SUM(pro_num)
FROM salegrade,product
WHERE salegrade.pro_id=product.pro_id AND
salegrade.sg_date='2015-1-16'
GROUP BY salegrade.pro_id;

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

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

相关文章

8【PS作图】画一个“像素云朵”

选择64*128像素大小&#xff0c;横向画布 选择“油漆桶”工具&#xff0c;“容差”调整为0&#xff0c;取消“锯齿”&#xff0c;勾选“连续的”&#xff0c;这样方便后续上色&#xff0c;并且边缘都是像素风格的锯齿状 点击画布&#xff0c;变成蓝色天空 画云朵&#xff0c;首…

win10环境中设置java开机自启动

1 、jdk环境确认 在开始设置Java开机启动之前&#xff0c;确保你的计算机已经安装了Java开发环境&#xff08;JDK&#xff09;。如果没有安装&#xff0c;你可以从Oracle官方网站下载并安装最新的Java开发工具包。 2、准备好jar程序 确认jar程序可以正常运行。 3、编写批处…

【InternLM】大模型的评测——OpenCompass

1. OpenCompass简介 1.1 基本介绍 大模型开源开放评测体系 “司南” (OpenCompass2.0)由上海人工智能实验室科学家团队发布&#xff0c;用于为大语言模型、多模态模型等提供一站式评测服务。其主要特点如下&#xff1a; 开源可复现&#xff1a;提供公平、公开、可复现的大模型…

聊聊实际工作中设计模式的使用

一直想在CSDN上写一篇关于软件设计模式的文章&#xff0c;草稿打了好久&#xff0c;但很长时间都没有想好该如何写&#xff0c;主要有几点考虑&#xff1a; 1、市面上同类的介绍实在太多了。正所谓第一个能够把美女比喻成鲜花的人是天才&#xff0c;第二个还这么说的是庸才&…

Kotlin语法入门-类与对象(6)

Kotlin语法入门-类与对象(6) 文章目录 Kotlin语法入门-类与对象(6)六、类与对象1、声明和调用2、get和set3、init函数初始化4、constructor构造函数4.1、主构造函数4.2、二级构造函数4.3、多个构造函数4.4、省略主构造函数并写了次构造函数 5、类的继承与重写5.1、继承5.2、继承…

【Tello无人机】无人机编队操作面板实现

为了方便进行无人机的编队演示&#xff0c;以及在各种场景下实现队形的灵活切换&#xff0c;开发了一套专门的上位机控制平台。本文将重点介绍应用于tello无人机的编队操作面板及其核心功能。 操作面板页面 下图展示了操作面板&#xff0c;其中包含5种编队动作和3个可选位置设…

2024深圳杯(东北三省)数学建模选题建议及各题思路来啦!

大家好呀&#xff0c;2024深圳杯数学建模&#xff08;东北三省数学建模联赛&#xff09;开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c; 本次深圳杯&#xff08;东北三省&#xff09;建议选A。难度上D&#xff1e;B&#xff1e;C&#…

开源模型应用落地-chatglm3-6b-集成langchain(十)

一、前言 langchain框架调用本地模型&#xff0c;使得用户可以直接提出问题或发送指令&#xff0c;而无需担心具体的步骤或流程。通过LangChain和chatglm3-6b模型的整合&#xff0c;可以更好地处理对话&#xff0c;提供更智能、更准确的响应&#xff0c;从而提高对话系统的性能…

Linux中进程和计划任务管理(2)

一.进程命令 1.lsof lsof 命令&#xff0c;“list opened files”的缩写&#xff0c;直译过来&#xff0c;就是列举系统中已经被打开的文件。通过 lsof 命令&#xff0c;我们就可以根据文件找到对应的进程信息&#xff0c;也可以根据进程信息找到进程打开的文件。 格式&…

【详细实现】v1.0 随机点名应用

1.引言 前面对这个应用的功能做了详细的分析&#xff08;长什么样、能干什么&#xff09;&#xff0c;以先这样对一个项目最开始的分析成为需求分析&#xff0c;需求分析之后就是设计阶段。 那么一般的项目&#xff0c;在设计阶段都需要干什么呢&#xff1f;在需求分析阶段确定…

Linux系统中安装MySQL

1、在电脑中安装虚拟机 2、df -h查看光盘是否挂载&#xff0c;没挂载用mount -o ro /dev/sr0 /media命令挂载 3、进入etc/yum.repos.d目录查看仓是否配置&#xff0c;若配置进行下一一步&#xff0c;未配置则进行配置 配置软件仓库 [rootlocalhost yum.repos.d]# vim rhle.r…

423 世界读书日 和京东零售技术人一起读好书

我们正处于一个复杂、变化的世界&#xff0c;想要更好地理解、适应它&#xff0c;读书可能是最方便的方式之一。 4 月 23 日世界读书日&#xff0c;我们整理了 10 位零售技术人的书籍推荐给大家&#xff0c;欢迎大家一起来共读好书。愿大家在忙碌工作之余&#xff0c;都能够持…

Kubectl常见排查pod问题命令

一.查看命名空间pod及其日志 #查看命名空间pod kubectl get pods -n <命名空间名称> #该命令不加-n命名空间名称&#xff0c;默认是查看default命名空间的pod#查看对应pod的日志kubectl logs -f <pod-name> -n <namespace>#同样的如果查看的是default命名空…

在 vue3 中使用高德地图

前言&#xff1a;定位地图位置所需要的经纬度&#xff0c;可以通过 拾取坐标 获取。 一&#xff1a;快速上手 1. 安装依赖 npm install amap/amap-jsapi-loader # or pnpm add amap/amap-jsapi-loader # or yarn add amap/amap-jsapi-loader 2. 创建组件 src/components/Ma…

有关栈的练习

栈练习1 给定一个栈&#xff08;初始为空&#xff0c;元素类型为整数&#xff0c;且小于等于 109&#xff09;&#xff0c;只有两个操作&#xff1a;入栈和出栈。先给出这些操作&#xff0c;请输出最终栈的栈顶元素。 操作解释&#xff1a; 1 表示将一个数据元素入栈&#xff…

Mysql 存在多条数据,按时间取最新的那一组数据

1、数据如下&#xff0c;获取每个用户最近的一次登录数据 思路1&#xff1a;order by group by 先根据UserIdLogInTime排序&#xff0c;再利用Group分组&#xff0c;即可得到每个User_Id的最新数据。 1 SELECT * FROM login_db l ORDER BY l.user_id, l.login_time DESC; 排…

一款辅助应用助力盲人公交出行畅行无阻

在这个日新月异的时代&#xff0c;科技进步正以前所未有的速度改变着人们的生活方式&#xff0c;尤其是在提升特殊群体生活质量方面展现出巨大潜力。今日&#xff0c;我们将目光聚焦于盲人公交出行&#xff0c;探讨一款名叫蝙蝠避障的创新辅助应用如何以其实时避障与拍照识别功…

vben admin Table 实现表格列宽自由拖拽

更改BasicTable.vue文件 Table添加 resize-column“resizeColumn” 添加并 return resizeColumn const resizeColumn (w, col) > { setCacheColumnsByField(col.dataIndex, { width: w }); }; 在column中添加 resizable: true,

做一个答题pk小程序多少钱

在探讨“做一个答题pk小程序多少钱”这一问题时&#xff0c;我们首先需要明确的是&#xff0c;小程序的价格并非固定不变&#xff0c;而是受到多种因素的影响。这些因素包括但不限于小程序的复杂度、功能需求、开发周期、技术难度以及开发团队的规模和经验等。因此&#xff0c;…

单机单实例部署RocketMQ及测试

部署Apache RocketMQ需要准备NameServer、Broker、Proxy三个组件。它有几种部署模式&#xff1a; Local模式:Broker 和 Proxy 是同进程部署Cluster模式:Broker 和 Proxy 分别部署 为了部署简便&#xff0c;我们采用local模式。 RocketMQ部署 Dockerfile FROM ubuntu:22.04 …