MySQL表的增删改查---多表查询和联合查询

news2024/9/19 13:41:52

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱
ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客
本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶
个人主页:xiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客

系列专栏:xiaoxie的MySql学习系列专栏——CSDN博客●'ᴗ'σσணღ
我的目标:"团团等我💪( ◡̀_◡́ ҂)" 

( ⸝⸝⸝›ᴥ‹⸝⸝⸝ )欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​+关注(互三必回)!

一. 数据库约束 

1.NOT NULL - 指示某列不能存储 NULL 值。

2.UNIQUE - 保证某列的每行必须有唯一的值。

3.DEFAULT - 规定没有给列赋值时的默认值。

4.PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识,有助于更容易更快速地找到表中的一个特定的记录。

5.FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

6.CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略 CHECK子句。

这些约束条件在数据库中起着非常重要的作用,可以确保数据的完整性和一致性。在设计数据库表结构时,合理地运用这些约束条件可以有效地避免数据错误和不一致性。

案例示范:

 create table student(
    -> id int primary key auto_increment,--主键约束,并且自动加1
    -> name varchar(20) not null,--不能为空
    -> qq int unique,--值唯一
    -> age int default 18,--赋值默认值
    -> gender varchar(2) check (gender = '男生' or gender = '女生'),--保证性别为男生或女生
    -> classid int,
    -> foreign key (classid) references class(id) -- 外键基于外键 classid和class表的主键 id在两个表之间建立联系
    -> );

结果:

使用 desc 表名 查看表结构

desc student

这时候我们插入表的数据就受到数据库的约束了例如我们可以插入一条不符合数据库的约束的数据查看一下

insert into student values(1,"张三",1234,null,"未知",2);

例如我们插入一条性别为未知的数据可以看到 

不符合CHECK条件的数据无法插入.博主在这里就验证这一条约束,别的就不过多的赘述了.

注意实现

  1. NOT NULL

    • NOT NULL 约束用于确保指定列不能存储NULL值。这意味着,在插入新记录或更新现有记录时,该列必须包含有效数据。
    • 注意:在设计表结构时应谨慎使用NOT NULL约束,特别是在考虑业务逻辑和未来扩展性时,要确保所有必要的数据都能在任何时候提供。
  2. UNIQUE

    • UNIQUE 约束强制某一列(或多个列组合)中的每行都具有唯一的值,不允许重复。
    • 注意:对于多列组成的唯一键,只要这些列的组合不重复即可,单个列可以有重复值。另外,每个表只能有一个主键约束,但可以有多个UNIQUE约束。
  3. DEFAULT

    • DEFAULT 约束为指定列定义一个默认值,当插入新记录时如果没有明确为该列赋值,则自动填充这个预设值。
    • 注意:默认值的选择应该符合业务逻辑,并且对于可能需要特殊处理的值(如时间戳、序列号等),需要考虑是否需要触发器或者程序逻辑来动态生成更复杂的默认值。
  4. PRIMARY KEY

    • PRIMARY KEY 是一种特殊的约束,它结合了NOT NULL 和 UNIQUE 的特点,即主键列的值不能为空,并且每一行的主键值在整个表中必须是唯一的。
    • 注意:每个表只能有一个主键,它可以是一个单列或多列的组合(复合主键)。主键通常被用作索引,有助于快速定位和查询特定记录。
  5. FOREIGN KEY:(特别关注)

    • FOREIGN KEY 约束用于维护两个表之间的引用完整性,确保一个表中的列(外键列)的值必须匹配另一个表(参照表)的主键列的值。
    • 注意:在设置外键约束时,要考虑删除规则(ON DELETE CASCADE, SET NULL, NO ACTION等)和更新规则(ON UPDATE CASCADE等),以避免违反引用完整性和级联操作带来的影响。
  6. CHECK

    • CHECK 约束理论上允许你限制列的值必须满足特定条件,例如年龄必须在0到120之间这样的范围检查。
    • 注意:在MySQL中,默认情况下并不支持标准SQL的CHECK约束进行行级的数据验证。尽管可以在创建表时编写CHECK子句,但MySQL会忽略执行这些约束,除非在某些特定存储引擎下或通过触发器模拟实现类似功能。在其他数据库系统如Oracle、PostgreSQL中,CHECK约束会被正常执行并用于保证列值符合特定条件。

总之,在实际应用中合理使用这些约束能够有效地维护数据库的一致性和完整性,但在MySQL中尤其要注意其对CHECK约束的支持情况,以确保数据验证机制的有效实施。

 二.表的设计

1.1对1

在一对一关系中,一个表中的每一行只与另一个表中的一行相关联,反之亦然。

例如:每个员工(Employee)可能有一个唯一的身份证记录(IDCard)。在这种情况下,可以有两种设计方式:

方式一(共享主键)

CREATE TABLE Employee (
    ID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50),
    -- 其他字段...
);

CREATE TABLE IDCard (
    ID INT PRIMARY KEY, -- 使用相同的主键
    CardNumber VARCHAR(20),
    EmployeeDetails VARCHAR(100), -- 其他与身份证相关的字段
    FOREIGN KEY (ID) REFERENCES Employee(ID)
);

这种方式下,Employee表和IDCard表共享同一个主键,即Employee的ID也是IDCard的主键。

方式二(独立主键,但使用唯一外键约束)

CREATE TABLE Employee (
    EmployeeID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50),
    -- 其他字段...
);

CREATE TABLE IDCard (
    ID INT PRIMARY KEY AUTO_INCREMENT,
    EmployeeID INT UNIQUE,
    CardNumber VARCHAR(20),
    EmployeeDetails VARCHAR(100),
    FOREIGN KEY (EmployeeID) REFERENCES Employee(EmployeeID)
);

在这种设计中,两个表各自有自己的主键,并且通过EmployeeID字段建立外键约束,确保IDCard表中每张身份证只对应一个Employee。

2.1对多

在一对多关系中,一个表的一行可以与另一个表的多行关联,但反过来不行。

例如:一个部门(Department)可以有多个员工(Employee),但每个员工只能属于一个部门。

CREATE TABLE Department (
    DeptID INT PRIMARY KEY AUTO_INCREMENT,
    DeptName VARCHAR(50)
);

CREATE TABLE Employee (
    EmployeeID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50),
    DeptID INT,
    FOREIGN KEY (DeptID) REFERENCES Department(DeptID)
);

在这个例子中,Department表的每一个DeptID在Employee表中作为外键出现多次,表明了一个部门可以拥有多个员工。

3.多对多

在多对多关系中,一个表的每一行都可以与另一个表的多行关联,反之亦然。

例如:一个老师(Teacher)可以教多个学生(Student),而一个学生也可以被多个老师教授。

CREATE TABLE Teacher (
    TeacherID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50)
);

CREATE TABLE Student (
    StudentID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50)
);

CREATE TABLE TeacherStudent (
    TeacherID INT,
    StudentID INT,
    PRIMARY KEY (TeacherID, StudentID),
    FOREIGN KEY (TeacherID) REFERENCES Teacher(TeacherID),
    FOREIGN KEY (StudentID) REFERENCES Student(StudentID)
);

在这种情况下,需要创建一个中间表(TeacherStudent),它包含两个外键分别引用Teacher和Student表的主键,以此来存储这种多对多的关系信息。

 三.查询

1.聚合查询

函数说明
count(数据)返回查询到的数据的 数量
sum(数据)返回查询到的数据的 总和,不是数字没有意义
avg(数据)返回查询到的数据的 平均值,不是数字没有意义
max(数据)返回查询到的数据的 最大值,不是数字没有意义
min(数据)返回查询到的数据的 最小值,不是数字没有意义

语法:

select 聚合函数(数据) from + 表名 + where 条件

2.GROUP BY子句

SELECT 中使用 GROUP BY 子句可以对指定列进行分组查询。需要满足:使用 GROUP BY 进行分组查 询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函 数中。 

语法:

select 列名1,列名2....from 表名 group by 列名1....

案例:

create table emp(
 id int primary key auto_increment,
 name varchar(20) not null,
 role varchar(20) not null,
 salary numeric(11,2)
);
insert into emp(name, role, salary) values
('马云','服务员', 1000.20),
('马化腾','游戏陪玩', 2000.99),
('孙悟空','游戏角色', 999.11),
('猪无能','游戏角色', 333.5),
('沙和尚','游戏角色', 700.33),
('隔壁老王','董事长', 12000.66);

 查询每个角色的最高工资、最低工资和平均工资

select name,role,max(salary),min(salary),avg(salary) from emp group by role;

结果:

 3 HAVING

GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用 HAVING

案例:

显示平均工资低于1500的角色和它的平均工资

select name,role,avg(salary) from emp group by role having avg(salary) < 1500;

 四.多表查询

实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积:

准备实验数据

创建班级表:

create table class(id int primary key auto_increment,name varchar(20));

创建学生表:

 create table student(
     id int primary key auto_increment,
     sn int unique,
     name varchar(20) default "unkown",
     qq_mail varchar(20),
     class_id int,
     foreign key(class_id) references class(id));

创建课程表:

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 class(name)values("计科"),("软工"),("网络");
 insert into student(sn, name, qq_mail, class_id) values
     ('09982','黑旋风李逵','xuanfeng@qq.com',1),
     ('00835','菩提老祖',null,1),
     ('00391','白素贞',null,1),
     ('00031','许仙','xuxian@qq.com',1),
     ('00054','不想毕业',null,1),
     ('51234','好好说话','say@qq.com',2),
     ('83223','tellme',null,2),
     ('09527','老外学中文','foreigner@qq.com',2);
insert into course(name) values('Java'),('中国传统文化'),('计算机原理'),('语文'),('高阶数学'),('英文');
 insert into score(score, student_id, course_id) values
   -- 黑旋风李逵
   (70.5, 1, 1),(98.5, 1, 3),(33, 1, 5),(98, 1, 6),
   -- 菩提老祖
   (60, 2, 1),(59.5, 2, 5),
   -- 白素贞
   (33, 3, 1),(68, 3, 3),(99, 3, 5),
   -- 许仙
   (67, 4, 1),(23, 4, 3),(56, 4, 5),(72, 4, 6),
   -- 不想毕业
   (81, 5, 1),(37, 5, 5),
    -- 好好说话
   (56, 6, 2),(43, 6, 4),(79, 6, 6),
    -- tellme
   (80, 7, 2),(92, 7, 6);

4.1内连接

语法:

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

案例:1)查询“许仙”同学的 成绩 

select student.name,score.score from student,score where student.id = score.student_id and student.name = "许仙";
 select student.name,score.score from student join score on student.id = score.student_id and student.name = "许仙";

(2)查询所有同学的总成绩,及同学的个人信息:

select student.sn,student.name,student.qq_mail,sum(score) as total
    from student join score
    on student.id = score.student_id
    group by score.student_id;

 

总结来说:内连接我们一开始不熟练可以以下几步来做

1.先确定我们要查询的信息,来自那几张表

2.针对这几张表进行笛卡尔积

3.加上连接条件,去除无效数据

4.在根据题目要求,加上其他条件

5.继续根据题目要求看需要查询的是那些列,把不需要的去除即可,例如案例一,我们只需要知道许仙的名字和成绩, select student.name,score.score 这样即可

4.2外连接

语法:

-- 左外连接,表1完全显示
select 字段名  from 表名1 left join 表名2 on 连接条件;
-- 右外连接,表2完全显示
select 字段 from 表名1 right join 表名2 on 连接条件;

案例:查询所有同学的成绩,及同学的个人信息,如果该同学没有成绩,也需要显示

select * from student left join score on student.id = score.student_id;

 

 4.3自连接

自连接是指在同一张表连接自身进行查询。也就是自己对自己进行笛卡尔积,属于是对待特殊问题的特殊技巧

案例:显示所有“计算机原理”成绩比“Java”成绩高的成绩信息

 SELECT
     s1.*
     FROM
      score s1
     JOIN score s2 ON s1.student_id = s2.student_id
     AND s1.score < s2.score
     AND s1.course_id = 1 --java的课程号
     AND s2.course_id = 3;--计算机原理的课程号

这个SQL查询从“score”表中选择所有记录,其中学生在Java课程(course_id = 1)中的分数高于计算机原理课程(course_id = 3)中的分数。该查询在“score”表上使用自连接来比较同一学生在两门课程中的分数。

自连接是指在同一个表中进行连接操作。在这种情况下,我们使用表的别名来区分不同的实例。以下是自连接的步骤:

  1. 为表分配别名:在查询中为同一张表分配不同的别名,以便区分它们。在这个例子中,我们使用了s1和s2作为score表的别名。

  2. 指定连接条件:在JOIN子句中指定连接条件,以便确定两个表之间的关联。在这个例子中,连接条件是s1.student_id = s2.student_id,表示两个实例具有相同的学生ID。

  3. 添加过滤条件:在ON子句中添加额外的条件来过滤出符合特定条件的记录。在这个例子中,过滤条件是s1.score < s2.score,s1.course_id = 1和s2.course_id = 3。

  4. 选择需要的列:在SELECT子句中指定要检索的列。在这个例子中,我们选择了s1.*,表示选择s1表中的所有列。

  5. 执行查询:执行SQL查询以获取符合条件的结果集。

4.4 子查询

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

1.单行子查询:返回一行记录的子查询 查询与“不想毕业” 同学的同班同学:

 select * from student where class_id=(select class_id from student where
     name='不想毕业');

 多行子查询:返回多行记录的子查询 案例:查询“语文”或“英文”课程的成绩信息:

(not)in关键字

 -- 使用IN
 select * from score where course_id in (select id from course where
     name='语文' or name='英文');

 (not)exists关键字

-- 使用 EXISTS
select * from score sco where exists (select sco.id from course cou 
where (name='语文' or name='英文') and cou.id = sco.course_id)

 

4.5 合并查询 

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

1.union

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行。 案例:查询id小于3,或者名字为“英文”的课程:

select * from course where id<3
union
select * from course where name='英文';
-- 或者使用or来实现
select * from course where id<3 or name='英文';

 2.union all

该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行。 案例:查询id小于3,或者名字为“Java”的课程

-- 可以看到结果集中出现重复数据Java
select * from course where id<3
union all
select * from course where name='Java';

 

 以上就是博主关于MySQL的多表查询和联合查询的全部类型了,感谢您的阅读

 

 

 

 

 

 

 

 

 

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

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

相关文章

眼科新视界:争议中的激光矫正手术

《眼科新视界&#xff1a;争议中的激光矫正手术》 一、眼科激光矫正手术&#xff1a;科技之光还是潜在风险&#xff1f; 1、激光矫正手术作为近年来眼科领域的热门技术&#xff0c;以其快速、安全、有效的特点吸引了众多近视、远视、散光等视力问题患者的关注。通过激光能量&…

怎么理解面向对象?一文带你全面理解

文章目录 1、类和对象&#xff08;1&#xff09;面向过程和面向对象初步认识&#xff08;2&#xff09;类的引入&#xff08;3&#xff09;类的定义&#xff08;4&#xff09;类的访问限定符及封装4.1 访问限定符4.2 封装 &#xff08;5&#xff09;类的作用域&#xff08;6&am…

虹科Pico汽车示波器 | 免拆诊断案例 | 2019 款东风悦达起亚K2车怠速起停系统工作异常

一、故障现象 一辆2019款东风悦达起亚K2车&#xff0c;搭载G4FG发动机&#xff0c;累计行驶里程约为9 400 km。车主反映&#xff0c;行驶至路口停车等红灯时&#xff0c;怠速起停&#xff08;ISG&#xff09;系统自动使发动机熄火&#xff0c;接着组合仪表提示“怠速起停已解除…

【MySQL】DDL的表操作详解:创建&查询&修改&删除(记得3点加上连接)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

8 款AI 绘画生成器:从文本创建 AI 艺术图像

人工智能正在影响各行各业&#xff0c;近年来它对创意产业的影响越来越大。由于AI绘画生成器的可操作性&#xff0c;许多人有机会用自己的想法进行艺术创作——即使他们没有接受过系统的专业艺术教育。 最先进的人工智能绘画生成器可能会改变我们未来创作艺术的方式。使用 AI …

外贸新人必看!外贸入行

Erica今天整理了做外贸的基础步骤&#xff0c;以及一些注意事项&#xff0c;认真看。 常见外贸概念 1、传统外贸:就是国内企业为老外生产加工出口&#xff0c;以OEM为主(为品牌代工)&#xff0c;近年来由于国内企业创新能力提升&#xff0c;ODM(企业自主设计&#xff0c;贴老…

社区停车场管理系统由哪些部分组成?如何选择合适的社区停车场系统

在现代社区物业管理中&#xff0c;停车场的有效管理已成为提升居民满意度和物业服务质量的关键因素。随着居民对便捷生活的追求日益增长&#xff0c;一个高效、智能的停车场管理系统对于社区物业而言显得尤为重要和必要。它不仅能够提升社区内车辆管理的效率&#xff0c;保障居…

重大机遇,腾讯云优惠券免费领取入口整理,千元代金券一键搞定

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

创建可引导的 macOS 安装器

你可以将外置驱动器或备用宗卷用作安装 Mac 操作系统的启动磁盘。 以下高级步骤主要适用于系统管理员以及其他熟悉在“终端”中输入命令的经验丰富的用户。 升级 macOS 或重新安装 macOS 不需要可引导安装器&#xff0c;但如果你要在多台电脑上安装 macOS&#xff0c;而又不…

武汉星起航:领航跨境电商,助力新手小白逐梦全球市场

在全球贸易日益频繁的今天&#xff0c;跨境电商已成为企业拓展国际市场的重要途径。作为跨境电商行业的领军者&#xff0c;武汉星起航电子商务有限公司自2017年起便深耕亚马逊自营店铺领域&#xff0c;积累了丰富的实战经验。公司在2020年的正式成立&#xff0c;其跨境电商业务…

最高一次性领取50万元!2024年全国各省市ITSS补贴汇总

根据ITSS官方数据表明&#xff0c;截止于3月21日&#xff0c;ITSS下证数据高达8000&#xff0c;全国各地的企业都有办理ITSS资质&#xff0c;足以见得ITSS在市场上的需求有多高&#xff0c;办理ITSS除了可以让企业自身的发展更好&#xff0c;部分地区的企业办理ITSS也是可以领取…

十二、MySQL 主从复制+高可用+读写分离

目录 一、mysqlkeeplived实现高可用LVS负载均衡 一、什么是高可用 二、为什么要用高可用 三、高可用的作用 四、keeplived 是什么&#xff1f;它用在哪里 五、安装mysql以及配置主从 六、keepalived安装 1、配置 单VIP 实现高可用 master上配置 2、backup上的配置 3、…

【感悟《剑指offer》典型编程题的极练之路】01数组篇!

​​​​​​​ ​​​​​​​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ ​​​​​​​ 文章所属专栏&#xff1a;《剑指offer》典型编程题的极练之路 ​​​​​​​ ​​​​​​​ …

Android Audio相关

AudioManager AudioService的Bp端&#xff0c;调用AudioManager>AudioService&#xff08;代码实现&#xff09; AudioService 继承自IAudioService.Stub&#xff0c;为Bn端 AudioSystem AudioService功能实现都依赖于AudioSystem&#xff0c;AudioService通过AudioSys…

python的FastAPI 快速入门

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

ESM对比CommonJS

以下内容均总结自es-modules-a-cartoon-deep-dive 1. ESM是异步的而CommonJS是同步的 异步是ESM面临的最大挑战。和CommonJS的执行环境Node获取模块文件的方式不同&#xff0c;ESM获取模块文件是通过网络。如果ESM从获取到执行所有模块都是顺序进行会导致主线程长期处于pendi…

AI预测福彩3D第15弹【2024年3月20日预测--第3套算法重新开始计算第4次测试】

今天咱们继续对第3套算法进行第4次测试&#xff0c;第3套算法加入了012路的权重。废话不多说了&#xff0c;直接上结果吧~ 最终&#xff0c;经过研判分析&#xff0c;2024年3月21日福彩3D的七码预测结果如下&#xff1a; 百位&#xff1a;4 5 7 1 0 6 2 十位&#xff1a;3 1 5 …

第十节HarmonyOS 常用容器组件4-Grid与GridItem

1、描述 网格容器&#xff0c;由行和列分割的单元格所组成&#xff0c;通过指定“项目”所在的单元格做出各种各样的布局。 子组件 包含GridItem子组件。 3、接口 Grid(scroller?: Scroller) 4、参数 参数名 参数类型 必填 描述 scroller Scroller 否 可滚动组件…

安科瑞智能断路器产品介绍【可监可控 远程操控 短路保护】

开发背景 过去几年智慧用电的产品应用中&#xff0c;大多数只安装于进线测。主要存在以下几个问题&#xff1a;难定位&#xff0c;不知道具体哪个回路出线问题&#xff0c;排查困难&#xff1b;出线过载或线缆温度过高无法知晓&#xff1b;即使是出线回路安装了的场景&#xf…

uniapp+uview 学习笔记(二)—— H5开发

文章目录 前言一、开发步骤1.创建项目2.安装组件库并导入使用3.封装请求4.国际化5.打包 总结 前言 本文主要介绍使用uniapp框架和uview组件库进行H5开发&#xff0c;需要用到的开发工具为HBuilder X。 一、开发步骤 1.创建项目 打开HBuilder X&#xff0c;在顶部栏目选择 新…