数据约束及增删改查(CRUD)进阶-MySQL

news2024/11/26 10:39:41

文章目录

  • 一、数据库约束
    • 1.1 约束类型
    • 1.2 NULL约束
    • 1.3 UNIQUE:唯一约束
    • 1.4 DEFAULT:默认值约束
    • 1.5 PRIMARY KEY:主键约束
    • 1.6 FOREIGN KEY:外键约束
    • 1.7 CHECK 约束(了解)
  • 二、表的设计
    • 2.1 一对一
    • 2.2 一对多
    • 2.3 多对多
    • 三、新增
  • 四、查询
    • 4.1 聚合查询
      • 4.1.1 聚合函数
      • 4.1.2 GROUP BY 子句
      • 4.1.3 HAVING
    • 4.2 联合查询
      • 4.2.1 内连接
      • 4.2.2 外连接
      • 4.2.3 自链接
      • 4.2.4 子查询
      • 4.2.5 合并查询
  • 五、重点总结

一、数据库约束

数据库约束:数据库会自动对数据的合法性进行校验检查的一系列机制,来保证数据库中能够避免插入或修改一些非法的数据。

1.1 约束类型

  • NOT NULL:指某列不能存储NULL值
  • UNIQUE:保证某列的值唯一
  • DEFAULT:是没有给列赋值时的默认值
  • PRIMARY KEY:NOT NULL 和 UNIQUE的结合,确保某列(或多个列的结合)有唯一标识,称之为主键
  • FOREIGN KEY: 保证一个表中的数据匹配另一个表中的值的参照完整性
  • CHECK :保证列中的值符合指定的条件

1.2 NULL约束

创建表时,指定某列不为空:

CREATE TABLE  student2(
	id int NOT NULL,
	sn int ,
	name varchar(20)
);

在这里插入图片描述

1.3 UNIQUE:唯一约束

指定某个列的值是唯一的,会对插入和修改操作进行限制

DROP TABLE IF EXISTS student2;
CREATE TABLE  student2(
	id int NOT NULL,
	sn int UNIQUE,
	name varchar(20)
);

在这里插入图片描述

1.4 DEFAULT:默认值约束

指定插入数据时,某个列没有赋值时有一个自定义的默认值“未知”,如果没有定义默认值,会使用MySQL自己定义的默认值 NULL。

DROP TABLE IF EXISTS student2;
CREATE TABLE  student2(
	id int NOT NULL,
	sn int UNIQUE,
	name varchar(20) DEFAULT '未知'
);

INSERT INTO student2 VALUES(1,10000,NULL);
INSERT INTO student2(id,sn) VALUES(2,10001);
INSERT INTO student2 VALUES(3,10002,'唐三藏');

在这里插入图片描述

1.5 PRIMARY KEY:主键约束

指定某一列(或多个列的结合)为主键。对有主键的表来说,每次插入或修改数据,会先进行查询操作。

DROP TABLE IF EXISTS student2;
-- 指定id为主键
CREATE TABLE  student2(
	id int NOT NULL PRIMARY KEY,
	sn int UNIQUE,
	name varchar(20) DEFAULT '未知'
);

对于整数类型的主键,常搭配自增长 auto_increment来使用,插入数据对应字段不给值时,会自动分配,使用最大值+1;如果手动指定了id ,最大值也会更新

-- 主键是 NOT NULL 和 UNIQUE 的结合,可以不用 NOT NULL
id int PRIMARY KEY AUTO_INCREMENT,
-- NULL 是让数据库自行分配
INSERT INTO student2 VALUES
	(NULL,10000,'唐三藏'),
	(NULL,10001,'孙悟空'),
	(NULL,10002,'猪悟能');

在这里插入图片描述
在这里插入图片描述

INSERT INTO student2 VALUES
	(5,10004,'宋江'),
	(NULL,10005,'武松');

在这里插入图片描述
拓展:
但是在这里 id 的自动分配有一定局限性。如果是单个mysql服务器,是没问题的;如果是分布式系统,有多个mysql服务器构成的集群,这时依靠自增主键就不行了。
分布式系统应用在面临的数据量很大(大数据),客户端的请求量比较大(高并发),一台服务器就搞不定了,需要多台服务器(分布式)。
一台服务器主机的硬盘空间有限,当有一个表或几个表,数据量特别大,就要使用分库分表来存储,如果这时需要插入一个商品,那商品id如何分配?如何保证存放商品的数据库中的id与其他的数据库id不重复呢?
分布式系统中有生成唯一id的算法,实现算法方式有很多,但又一个通用公式:分布式唯一id = 时间戳+机房编号/主机编号+随机因子(这里的+ 是字符串拼接,而不是算术相加)。
如果添加商品速度比较慢,直接使用时间戳就可以;但一个时间戳内要添加多个商品,是要落到不同的主机上,保证同一时间添加到不同主机上的上的商品编号是不同的,随机因子有概率生成相同因子,但概率很小,在一定范围内,误差很小可以忽略不计。

1.6 FOREIGN KEY:外键约束

外键用于关联其他表的主键或唯一键。
语法:

-- REFERENCES 英语有参考意思,在这里是说 列名1 参考其他表的 列名2,也就是说 列名1的值必须在列名2中出现过
-- 外键的值依赖于主键的值
FOREIGN KEY (列名1) REFERENCES 表名(列名2)

示例:创建班级表classes,id为主键

CREATE TABLE classes (
	id int PRIMARY KEY AUTO_INCREMENT,
	name varchar(20),
	caparity int 
);

创建学生表student,一个学生对应一个班级,一个班级对应多个学生。使用id为主键,classes_id为外键,关联班级表id

CREATE TABLE student3 (
	stuId int PRIMARY KEY AUTO_INCREMENT,
	stuNum int UNIQUE,
	stuName varchar(20) DEFAULT '未知',
	classesId int,
	FOREIGN KEY (classesId) REFERENCES classes(id)
);
-- 插入班级信息
INSERT INTO classes values(21070501,'软工一班',40),(21070502,'软工二班',40),(21070503,'软工四班',40);
-- 插入学生信息
INSERT INTO student3 values(410180,2107211001,'张三',21070501);

-- 在子表(参照表)执行插入和更新操作时会自动在相应的表进行查询是否已经存在,若不存在,操作就会失败
INSERT INTO student3 values(410181,2107211002,'李四',21070504);

在这里插入图片描述
在这里插入图片描述

-- 在父表(被参照表),执行更新操作时,会自动查询被参照列的值是否被引用,若被引用,操作就会失败
UPDATE classes SET id = 21070504 where id = 21070501;

UPDATE classes SET name = '软一' where name = '软工一班';

在这里插入图片描述
在这里插入图片描述

-- 在父表(被参照表),执行删除操作时,删除操作是删除满足条件的一行或多行记录的数据,只要涉及被参照列的值 被引用的操作都会失败(和上述表述基本相同)

delete from classes where name = '软工一班';

delete from classes where name = '软工四班';

在这里插入图片描述
在这里插入图片描述
如果要清空(delete)父表(被参照表),必须先将所有主键被引用的所有子表(参照表)中外键所在行的记录清空,删除表也是同样道理。

DELETE FROM student3;
DELETE FROM classes;

在这里插入图片描述

1.7 CHECK 约束(了解)

MySQL使用时不报错,但忽略该约束。

DROP TABLE IF EXISTS student3;
CREATE TABLE student3 (
	stuId int PRIMARY KEY AUTO_INCREMENT,
	stuNum int UNIQUE,
	stuName varchar(20) DEFAULT '未知',
	stuSex varchar(1),
	CHECK (stuSex = '男' or stuSex ='女'),
	classesId int,
	FOREIGN KEY (classesId) REFERENCES classes(id)
);

二、表的设计

2.1 一对一

在这里插入图片描述

2.2 一对多

在这里插入图片描述

2.3 多对多

在这里插入图片描述

  • 创建课程表
CREATE TABLE course (
	id INT PRIMARY KEY auto_increment,
	name VARCHAR(20)
);
  • 创建学生课程中间表,考试成绩表
CREATE TABLE score (
	id int PRIMARY KEY auto_increment,
	score DECIMAL(3, 1),
	student_id int,
	course_id int,
	FOREIGN KEY (student_id) REFERENCES student(id),
	FOREIGN KEY (course_id) REFERENCES course(id)
);

三、新增

语法:

--  插入查询结果  要求列的个数和类型一一对应
INSERT INTO 表名[(列名[, 列名...])] SELECT ...

示例:创建一张用户表,设计有name姓名、email邮箱、sex性别、mobile手机号字段。需要把已有的
学生数据复制进来,可以复制的字段为name、stuSex

-- 创建用户表
CREATE TABLE user (
	id INT primary key auto_increment,
	name VARCHAR(20) comment '姓名',
	age int comment '年龄',
	email VARCHAR(20) comment '邮箱',
	sex varchar(1) comment '性别',
	mobile varchar(20) comment '手机号'
);
-- 将学生表中指定数据复制到用户表
insert into user(name, sex) select name, stuSex from student3

四、查询

4.1 聚合查询

4.1.1 聚合函数

常见的统计总数、计算平局值等操作,可以使用聚合函数来实现,常见的聚合函数有:
在这里插入图片描述
示例:

  • COUNT
-- 统计student表里有多少个学生
select count(*) from student;

--统计有多少个id,值为 NULL 的不会被 COUNT 统计
select count(id) from student;

在这里插入图片描述

--创建新的学生表,课程表,还有成绩表
create table course(
	id int primary key auto_increment comment '课程号',
	name varchar(20) comment '课程名'
);

create table student(
	id int  unique auto_increment comment '身份证号',
	sn int primary key comment '学号',
	name varchar(20) comment '姓名'
);

create table stu_grade(
	sn int comment '学号',
	course_Id int comment '课程号',
	grade decimal(3,1) comment '成绩',
	primary key (sn,course_Id),
	foreign key(sn) references student(sn),
	foreign key(course_Id) references course(id)
);

-- 插入数据
insert into student values(202311301,1001,'李四'),
		(202311302,1002,'张三'),
		(202311303,1003,'王五');
		
insert into course values(1,'计算机网络'),
		(2,'数据结构与算法'),
		(3,'计算机组成原理'),
		(4,'数据库系统概论');
		
insert into stu_grade values(1001,1,87.5),(1001,2,77),(1001,3,90),(1001,4,65.5);

insert into stu_grade values(1002,1,80),(1002,2,90.5),(1002,3,67),(1002,4,83.5);

insert into stu_grade values(1003,1,78.5),(1003,2,90.5),(1003,3,84),(1003,4,93);
  • SUM
--统计课程号为1的总成绩  
select sum(grade) from stu_grade where course_Id = 1;

--统计课程号为1的不及格(<60)的总分,没有结果返回NULL
select sum(grade) from stu_grade where course_Id = 1 and grade < 60;

在这里插入图片描述
在这里插入图片描述

  • AVG
-- 统计课程号为1的平均成绩
select avg(grade) from stu_grade where course_Id = 1;

在这里插入图片描述

  • MAX
-- 查找课程号为1的最高分
select max(grade) from stu_grade where course_Id = 1;

在这里插入图片描述

  • MIN
-- 查找课程号为1的最低分
select max(grade) from stu_grade where course_Id = 1;

在这里插入图片描述

4.1.2 GROUP BY 子句

group by 针对指定列进行分组,将值相同的分到同一组中,再对分的组使用聚合函数。
语法:

select column1 [, sum(column2), ..] from table group by column1,column3;

示例:

-- 查询每门课程的总成绩
select course_Id,sum(grade) from stu_grade group by course_Id;
-- 不使用聚合函数 ,查询的结果是一组的某个代表数据
select course_Id,grade from stu_grade group by course_Id;

在这里插入图片描述
在这里插入图片描述
group by 往往要搭配聚合函数使用,否则查询结果就没有意义

4.1.3 HAVING

group by 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用where语句,而是用 having
示例:

-- 挑选出所有课程中总分最低于250的
select course_Id,sum(grade) from stu_grade group by course_Id having sum(grade) < 250;

在这里插入图片描述

4.2 联合查询

实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积:
在这里插入图片描述
同时,联合查询可以对表取别名
以上述4.1创建的course、student、stu_grade 三张表及插入的数据为例

4.2.1 内连接

语法:

select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 and 其他条件;
select 字段 from 表1 别名1,2 别名2 where 连接条件 and 其他条件;

示例:

-- 查询学生李四的每门课程的成绩
select student.sn,student.name,course.name,grade from student,course,stu_grade 
	where student.sn = stu_grade.sn and
	stu_grade.course_Id = course.id and 
	student.name ='李四';

在这里插入图片描述

4.2.2 外连接

外连接分为左外连接和右外连接。如果联合查询,左侧的表完全显示我们就说是左外连接;右侧的表完全显示我们就说是右外连接。
语法:

-- 左外连接,表1完全显示
select 字段 from 表名1 left join 表名2 on 连接条件;
-- 右外连接,表2完全显示
select 字段 from 表名1 right join 表名2 on 连接条件;
-- 插入一条没有考试的学生的信息
insert into student values(202311304,1004,'王麻子');
-- 查找所有学生的成绩--要求没有考试的学生也要显示出来
select student.sn,name,course_Id,grade from student left join stu_grade on student.sn = stu_grade.sn;

在这里插入图片描述

4.2.3 自链接

自连接是指在同一张表连接自身进行查询
示例:

-- 查询 计算机网络成绩比数据结构与算法好的学生信息和成绩

-- 先查询 计算机网络 比 课程 数据结构与算法 的课程号
select id,name from sourse where name ='计算机网络' or name ='数据结构与算法';

-- 查询计算机网络成绩比数据结构与算法成绩高的信息
select s1.sn,s1.grade '计算机网络',s2.grade '数据结构与算法'
		from stu_grade s1,stu_grade s2 
		where s1.course_Id = 1 and
		s2.course_Id = 2 and
		s1.sn = s2.sn and
		s1.grade > s2.grade;

在这里插入图片描述

以上查询只显示了成绩信息,并且是分布执行的,要显示学生及成绩信息且用一条语句实现:

select  student.*,s1.grade '计算机网络',s2.grade '数据结构与算法'            
	from student,stu_grade as s1,stu_grade as s2 ,course as c1,course as c2
	where student.sn = s1.sn and
	s1.sn = s2.sn and 
	c1.name = '计算机网络' and 
	c2.name = '数据结构与算法' and
	s1.course_Id = c1.id and
	s2.course_Id = c2.id and
	s1.grade > s2.grade;

在这里插入图片描述

4.2.4 子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询

  • 单行子查询:返回一行记录的子查询
    示例 :查询 上数据结构与算法课程的同学
select student.sn,student.name from student,stu_grade 
	where student.sn = stu_grade.sn and
	stu_grade.course_Id = (select id from course where course.name ='数据结构与算法');

在这里插入图片描述

  • 多行子查询:返回多行记录的子查询
    示例:查询计算机网络或计算机组成原理课程的成绩信息
  • 使用(not) in 关键字
    -- 用 in 关键字
     select * from stu_grade where course_id in (
              select id from course where name='计算机网络' or name='计算机组成原理');
    

– 用 not in 关键字
select * from score where course_id not in (
select id from course where name!=‘语文’ and name!=‘英文’);
```

  • 使用(not)exists 关键字(了解)
    -- 使用 exists
    select * from stu_grade where exists (
            select course_Id from course where (name='计算机网络' or name='计算机组成原理') and id = course_Id);
    -- 使用 not exists
    select * from stu_grade where not exists (
    	     select course_Id from course where (name !='计算机网络' and name !='计算机组成原理') and id = course_Id);
    
  • 在from子句中使用子查询:子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用(了解)

4.2.5 合并查询

在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。使用UNION 和 UNION ALL时,前后查询的结果集中,字段需要一致

  • union
    该操作符用于取得两个结果集的并集。使用该操作符会自动去掉结果集中的重复行
    示例: 查询课程号小于3或者名字为 数据库系统概论的课程
select * from course where id < 3 union select * from course where name = '数据库系统概论';

--使用 or 实现
select * from course where id < 3 or name = '数据库系统概论';

在这里插入图片描述

  • union all
    该操作符用于取得两个结果集的并集。使用该操作符时不会去掉结果集中的重复行
    示例:查询课程号小于3或者名字为 数据结构与算法的课程
select * from course where id < 3 union all select * from course where name = '数据结构与算法';

在这里插入图片描述

五、重点总结

  • 数据约束
    1. NULL约束——使用NOT NULL 指定列不为空
    2. UNIQUE唯一约束——指定列唯一,不重复
    3. DEFAULT默认值约束—— 指定列为空时的默认值
    4. PRIMARY KEY主键约束——NOT NULL 和UNIQUE的结合
    5. FOREIGN KEY 外键约束——关联其他表的主键或唯一键 foreign key(列) references 其他表(列)
    6. CHECK约束(了解)——保证列中的值符合指定条件,例:check (sex =‘男’ or sex=‘女’)
  • 表的关系
    1. 一对一
    2. 一对多
    3. 多对多
  • 新增

– select 的列的数量和类型与插入的要保持一致
insert into 表名 [ 列1, [列2, ,…] ] select …

  • 查询

    1. 聚合函数 :COUNT,SUM,AVG,MAX,MIN,
    2. 分组查询:GROUP BY … HAVING…(用于分组后进行条件过滤)
    3. 内连接:

    select … from 表1,表2 where 条件
    select … from 表1 [inner] join 表2 on 条件

    1. 外连接

    left 左外连接 ,表1 全部显示,如果表2没有,对应列置空
    select … from 表1 left / right join 表2 on 条件

    right 右外连接 ,表2 全部显示,如果表1没有,对应列置空
    select … from 表1 left / right join 表2 on 条件

    1. 自连接

    select … from 表1 ,表1 where 条件
    select … from 表1 join 表1 on 条件

    1. 子查询(嵌套查询)

    – 单行子查询
    select … from 表 where 列 = (select … from …)
    – 多行子查询
    select … from 表 where 列 in (select … from …)
    – from 中的子查询 — 临时表
    select … from 表 (select … from …)as tmp where 条件

    1. 合并查询(可以合并不同的表)

    – union:去除重复数据的合并查询 ,以第1个select 查询的列作为合并后的首要的列
    select … from … where 条件 union select … from … where 条件

    – union all:不去除重复数据的合并查询
    select … from … where 条件 union all select … from … where 条件

SQL查询中各个关键字的执行先后顺序: from > on> join > where > group by > with > having >select > distinct > order by > limit

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

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

相关文章

AI:63-基于Xception模型的服装分类

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

「随笔」IT行业哪个方向比较好就业

一、IT行业就业的PEST分析 在当前的全球经济环境下&#xff0c;IT行业的发展迅速&#xff0c;就业前景广阔。以下从政治、经济、社会和科技四个维度对IT行业就业进行PEST分析。 1.1 政治&#xff08;Political&#xff09; 政府政策&#xff1a;近年来&#xff0c;各国政府都…

TCP三次握手四次挥手深入

TCP工作在网络协议栈的传输层&#xff0c;在这一层上传输的数据叫段&#xff08;Segment&#xff09; 我们应用程序的数据会先打包到传输层&#xff0c;传输层再交给下层网际层&#xff0c;再交给下层数据链路层 上图中有四个东西是非常重要的&#xff1a; 序号&#xff1a;…

网络渗透课2

题目 1、Kali虚拟机采用桥接模式&#xff1b;物理机连接Guet-WiFi&#xff0c;Kali中查看网络配置并截图&#xff0c;能获得IP地址吗&#xff1f; 2、Kali虚拟机采用桥接模式&#xff1b;物理机连接手机热点&#xff0c;Kali中查看网络配置并截图&#xff0c;能获得IP地址吗&a…

一款好用的PDF转翻页电子书网站

​你是否曾经遇到过PDF文件无法翻页或者阅读不便的问题&#xff1f;今天给大家推荐一款好用的PDF转翻页电子书网站&#xff0c;让你轻松阅读PDF文件&#xff0c;不再烦恼翻页问题&#xff01; 一、网站介绍 这款FLBOOK在线制作电子杂志网站支持多种电子文件格式转换&#xff0…

龙迅LT8619C HDMI转LVDS/RGB/BT656/BT1120/BT601

LT8619C 描述&#xff1a; Lontium的LT8619C是一款高性能的HDMI/双模式DP接收器芯片&#xff0c;符合HDMI 1.4规范。TTL输出可支持RGB、BT656、BT1120&#xff0c;输出分辨率最多可支持4Kx2K30Hz。为了方便地实现一个多媒体系统&#xff0c;LT8619C支持8通道高质量的I2S音频或…

2023 年如何学习编程

在当今的数字时代&#xff0c;程序员的角色比以往任何时候都更加重要。编程技能几乎在每个行业都受到高度重视和追捧。从科技初创公司到成熟企业&#xff0c;对具有适当技术能力的开发人员的需求巨大。 无论是考虑转行还是开始&#xff0c;现在都是成为一名程序员的激动人心的…

【Spring实战——构建Spring Web应用程序】1.9接受请求的输入

程序员小猿开发交流&#xff0c;希望一起共同进步。 有些Web应用是只读的。人们只能通过浏览器在站点上闲逛&#xff0c;阅读服务器发送到浏览器中的内容。这并不是一成不变。众多的Web应用允许用户参与进去&#xff0c;将数据发送回服务器。如果没有这项能力的话&#xff0c;…

利用CloudCompare进行点云过滤去噪(统计滤波)

使用的数据为苹果树点云&#xff0c;原数据共3,459,230个点&#xff0c;大小为105 MB&#xff0c;文件格式为ply。 按如下操作进行统计滤波&#xff1a; 由于树点云较密&#xff0c;所以邻近点设置了邻近点为50&#xff0c;执行后&#xff0c;结果点数变为3,139,034。 效果图…

测试老鸟整理,Postman加密接口测试-Rsa/Aes对参数加密(详细总结)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 一些问题 postma…

「Verilog学习笔记」位拆分与运算

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 1、寄存器的位是可以分开单独运算的&#xff0c;并不是一个输入就一定是一个数据&#xff0c;在很多情况下&#xff0c;一个输入既包括数据又包括地址等其他有效信息 2、需…

Android 分享图片和文案

一、业务描述 大多数App的需求中&#xff0c;有分享功能&#xff0c;点击唤起系统的分享栏&#xff0c;然后分享内容&#xff0c;例如指定文案&#xff0c;链接&#xff0c;图片等等。 二、实现逻辑 1.拿到要分享图片和内容 2.图片拿到缓存里&#xff0c;用于分享 3.使用F…

Tomcat 9.0.x 源码编译

文章目录 一、克隆源码二、构建 Maven1&#xff09;在项目根目录中新建 pom.xml 文件2&#xff09;然后 Add Maven Projects 三、在目录中增加 home 目录四、增加启动配置五、其它问题1&#xff09;控制台乱码解决 2&#xff09;启动后访问 localhost:8080 报错解决 一、克隆源…

SpringBoot + 微信支付 --- 内网穿透ngrok(安装、使用) 及 支付通知-->接收支付通知和返回应答

目录 Native 下单1、内网穿透 ngrok1-1&#xff1a;注册下载2-2&#xff1a;使用方式3-3&#xff1a;测试 2、支付通知--接收支付通知和返回应答完整需求介绍&#xff1a;2-1、需求1&#xff1a;应答测试2-2、应答的代码&#xff1a;2-3、结果&#xff1a;测试&#xff1a;应答…

vscode配置环境变量

首先点击下面这个链接。 sMinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 然后选择Files这个选项 向下移选择下载这个文件 解压完成之后&#xff0c;找到这个文件的bin目录复制路径后&#xff0c;添加到环境变量中 依次点击后打开cmd&#xff0…

高性能三防工业平板电脑 防摔防爆电容屏工控平板

HT1000是一款高性能工业三防平板&#xff0c;10.1英寸超清大屏&#xff0c;厚度仅14.9mm&#xff0c;超薄机身&#xff0c;可轻松插入袋中&#xff0c;方便携带&#xff0c;搭载8核2.0GHz高性能CPU&#xff0c;行业领先的Android 11.0&#xff0c;设备性能大幅提升&#xff0c;…

通过使用Amazon Neptune来预测电影类型初体验

文章目录 福利来袭Amazon Neptune什么是图数据库为什么要使用图数据库什么是Amazon NeptuneNeptune 的特点 快速入门环境搭建notebook 图神经网络快速构建加载数据配置端点Gremlin 查询清理 删除环境S3 存储桶删除 福利来袭 前几天有小伙伴在群里灵魂发问&#xff1a;双11到来…

245:vue+openlayers 利用canvas绘制边线纹路

第245个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中利用canvas绘制边线纹路。思路就是将stroke渲染通过canvas设定的pattern模式。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共170行)专…

大语言模型研究进展综述

1、历史 自20世纪50年代图灵测试被提出以来&#xff0c;研究人员一直在探索和开发能够理解并掌握语言的人工智能技术。 作为重要的研究方向之一&#xff0c;语言模型得到了学术界的广泛研究&#xff0c;从早期的统计语言模型和神经语言模型开始&#xff0c;发展到基于Transform…

EasyHttp框架的使用

项目的集成 // JitPack 远程仓库&#xff1a;https://jitpack.io maven { url https://jitpack.io } // 网络请求框架&#xff1a;https://github.com/getActivity/EasyHttp implementation com.github.getActivity:EasyHttp:12.5 // OkHttp 框架&#xff1a;https://github.c…