【MySQL】表的基本查询

表的基本查询

  • 表的增删查改
    • 1. Create
      • (1)单行数据 + 全列插入
      • (2)多行数据 + 指定列插入
      • (3)插入否则更新
      • (4)替换
    • 2. Retrieve
      • (1)select 列
        • a. 全列查询
        • b. 指定列查询
        • c. 查询字段为表达式
        • d. 为查询结果指定别名
        • e. 结果去重
      • (2)where 条件
      • (3)结果排序
      • (4)筛选分页结果
    • 3. Update
    • 4. Delete
      • (1)删除数据
      • (2)截断表
    • 5. 插入查询结果
    • 6. 聚合函数
    • 7. group by 子句的使用
    • 8. 相关题目练习

表的增删查改

表的增删查改,简称表的 CURD 操作 : Create(创建)Update(更新)Retrieve(读取)Delete(删除).

下面我们逐一进行介绍。

1. Create

语法:

		INSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list) [, (value_list)] ...value_list: value, [, value] ...

例如创建一张学生表:

			create table students(-> id int unsigned primary key auto_increment,-> stunum int not null unique comment '学号',-> name varchar(20) not null,-> email varchar(20)-> );

(1)单行数据 + 全列插入

接下来我们插入两条记录,其中 value_list 数量必须和定义表的列的数量及顺序一致:

例如插入一个数据:

		insert into students values(1, 1001, 'Smith', '11111');

其中 into 可以省略;示例如下:

在这里插入图片描述

(2)多行数据 + 指定列插入

我们可以在表的名字后面带上需要插入的字段,并且 value_list 数量必须和指定字段数量及顺序一致,例如,我们只想插入 stunumname 字段:

		insert into students(stunum, name) values(1003, 'Mike');

示例如下:

在这里插入图片描述

(3)插入否则更新

由于主键或者唯一键对应的值已经存在会而导致插入失败。

我们先查看我们当前表的数据:

在这里插入图片描述

其中 id 为主键,stunum 为唯一键,所以我们分别尝试插入主键和唯一键冲突的数据:

在这里插入图片描述

如上图,插入失败。所以我们可以选择性的进行同步更新操作语法:

		insert... on duplicate key update column = value [, column = value] ...

例如我们想插入 Jane 这位同学的数据,但是我们并不知道这位同学是否存在于这张表中,所以我们使用上面的语法,假设不存在,就按照我们的数据插入数据;否则我们将她的 stunum 更新为 1010

			insert into students(id, stunum, name) values(2, 1010, 'Jane') -> on duplicate key update stunum = 1010, name = 'Jane';

如下:

在这里插入图片描述

我们可以观察到当插入成功后,会有 2 rows affected (0.00 sec) 这样的提示,即:

在这里插入图片描述

这个提示的含义如下:

  • 0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
  • 1 row affected: 表中没有冲突数据,数据被插入
  • 2 row affected: 表中有冲突数据,并且数据已经被更新

(4)替换

替换的本质:主键或者唯一键没有冲突,则直接插入;主键 或者 唯一键 如果冲突,则删除后再插入。

替换将 insert 换成 replace 使用即可。示例如下:

在这里插入图片描述

2. Retrieve

Retrieve 指的是表的读取。

语法:

			SELECT[DISTINCT] {* | {column [, column] ...}[FROM table_name][WHERE ...][ORDER BY column [ASC | DESC], ...]LIMIT ...

我们先创建一个表结构:

			create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment '姓名',-> chinese float default 0.0 comment '语文成绩',-> math float default 0.0 comment '数学成绩',-> english float default 0.0 comment '英语成绩'-> );

在这里插入图片描述

接下来插入一些数据:

			insert into exam_result(name, chinese, math, english) values-> ('Smith', 67, 98, 62),-> ('Jane', 64, 78, 79),-> ('Tiny', 76, 87, 77),-> ('John', 89, 78, 90),-> ('Mike', 90, 91, 93),-> ('Lily', 82, 83, 89),-> ('Klin', 60, 53, 59);

在这里插入图片描述

(1)select 列

a. 全列查询

语法:SELECT * FROM 表名;

通常情况下不建议使用 * 进行全列查询,因为:

    1. 查询的列越多,意味着需要传输的数据量越大;
    1. 可能会影响到索引的使用。(索引待后面讲解)

例如:

在这里插入图片描述

b. 指定列查询

指定列的顺序不需要按定义表的顺序来,语法就是在 select 后跟上指定的字段列即可。例如我们只需要查询 idnamemath,如下:

			select id, name, math from exam_result;

在这里插入图片描述

c. 查询字段为表达式
  • 表达式不包含字段:select id, name, 10 from exam_result; - - - 显示 10

在这里插入图片描述

  • 表达式包含一个字段:select id, name, chinese+10 from exam_result; - - - 使语文成绩 + 10 分

在这里插入图片描述

  • 表达式包含多个字段:select id, name, chinese + math + english from exam_result; - - - 统计总成绩

在这里插入图片描述

d. 为查询结果指定别名

语法:SELECT column [AS] alias_name […] FROM table_name;

例如将上面统计的总成绩的字段改为总分:select id, name, chinese + math + english as 总分 from exam_result; - - - as 可以加也可以不加

在这里插入图片描述

e. 结果去重

去重使用关键字 DISTINCT,直接加在 select 后即可。例如 math 中 78 的分数重复了:

在这里插入图片描述

结果去重:select distinct math from exam_result;

在这里插入图片描述

(2)where 条件

  • 比较运算符:

在这里插入图片描述

  • 逻辑运算符:

在这里插入图片描述

使用 where 筛选条件只需将 where 放在语句最后,后面跟上条件即可,下面举一些实例:

  1. 英语不及格的同学及英语成绩 ( < 60 )

     		select name, english from exam_result where english < 60;
    

在这里插入图片描述

  1. 语文成绩在 [80, 90] 分的同学及语文成绩
  • 使用 and 进行条件连接

      		select name, chinese from exam_result where chinese >= 80 and chinese <= 90;
    

在这里插入图片描述

  • 使用 between … and … 条件

      		select name, chinese from exam_result where chinese between 80 and 90;
    

在这里插入图片描述

  1. 数学成绩是 53 或者 91 或者 98 分的同学及数学成绩
  • 使用 or 进行条件连接

      		select name, math from exam_result -> where math = 53-> or math = 91-> or math = 98;
    

在这里插入图片描述

  • 使用 in 条件

      		select name, math from exam_result where math in(53, 91, 98);
    

在这里插入图片描述

  1. 以字母 J 开头的同学
  • % 匹配任意多个(包括 0 个)任意字符

      		select name from exam_result where name like 'J%';
    

在这里插入图片描述

  • _ 匹配严格的一个任意字符

例如需要查找 J 某同学:

			select name from exam_result where name like 'J_';
  1. 英语成绩好于数学成绩的同学
  • where 条件中比较运算符两侧都是字段

      		select name, math, english from exam_result where english > math;
    

在这里插入图片描述

  1. 总分在 200 分以下的同学
  • where 条件中使用表达式

  • 别名不能用在 where 条件中,因为有 where 语句的语句中,先筛选 where 语句的条件,再读取筛选后的表

      		select name, chinese+math+english total from exam_result where chinese+math+english < 200;
    

在这里插入图片描述

  1. 英语成绩 > 80 并且姓名首字母不以 M 开头的同学
  • and 于 not 的使用

      		select name, english from exam_result -> where english > 80 and name not like 'M%';
    

在这里插入图片描述

  1. 名字首字母以 T 开头的同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80
  • 综合性查询

      		select name, chinese, math, english, chinese+math+english total from exam_result-> where name like 'T%'-> or chinese+math+english > 200-> and chinese < math-> and english > 80;
    

在这里插入图片描述

  1. null 的查询

接下来我们切回 students 表进行查询:

在这里插入图片描述

  • 查询 email 已知的同学姓名

     		select name, email from students where email is not null;
    

在这里插入图片描述

  • NULL 和 NULL 的比较,= 和 <=> 的区别

      		select null = null, null = 1, null = 0;
    

在这里插入图片描述

			select NULL <=> NULL, NULL <=> 1, NULL <=> 0

在这里插入图片描述

(3)结果排序

语法:

  • asc 为升序(从小到大)

  • desc 为降序(从大到小)

  • 默认为 asc

      		select ... from table_name [where ...]order by column [asc|desc], [...];
    

注意:没有 order by 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。

下面看实例:

  1. 同学及数学成绩,按数学成绩升序显示

     		select name, math from exam_result order by math asc;
    

注:asc 可以省略

在这里插入图片描述

  1. 同学及 email,按 email 排序显示

     		select name, email from students order by email asc;
    

在这里插入图片描述

注意:NULL 视为比任何值都小,升序出现在最上面。

  1. 查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示

     	select name, math, english, chinese from exam_result order by math desc, english asc, chinese asc;
    

多字段排序,排序优先级随书写顺序:

在这里插入图片描述

  1. 查询同学及总分,由高到低

order by 子句中可以使用列别名,因为 order by 子句是最后执行的,要先有合适的数据,才能排序。

			select name, chinese+math+english total from exam_result order by total desc;

在这里插入图片描述

  1. 查询姓名首字母为 J 的同学或者为 S 的同学数学成绩,结果按数学成绩由高到低显示

结合 where 子句 和 order by 子句:

				select name, math from exam_result -> where name like 'J%' or name like 'S%'-> order by math desc;

在这里插入图片描述

(4)筛选分页结果

语法:

			起始下标为 0从 0 开始,筛选 n 条结果select... from table_name [where ...] [order by ...] limit n;从 s 开始,筛选 n 条结果select... from table_name [where ...] [order by ...] limit s, n;从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用select... from table_name [where ...] [order by ...] limit n offset s;

建议:对未知表进行查询时,最好加一条 limit 1,避免因为表中数据过大,查询全表数据导致数据库卡死。

实例:

  • 按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3 页

第一页:

			select name, chinese, math, english from exam_result-> order by id limit 3 offset 0;

在这里插入图片描述

第二页:

			select name, chinese, math, english from exam_result order by id limit 3 offset 3;

在这里插入图片描述

第三页,如果结果不足 3 个,不会有影响:

			select name, chinese, math, english from exam_result order by id limit 3 offset 6;

在这里插入图片描述

3. Update

语法:

			update table_name set column = expr [, column = expr ...][where ...] [order by ...] [limit ...];

实例:

  1. 将 Jane 同学的数学成绩变更为 80 分

查看原数据:

在这里插入图片描述

更新数据:

			update exam_result set math=80 where name='Jane';

查看更新后数据:

在这里插入图片描述

  1. 将 John 同学的语文成绩变更为 80 分,英语成绩变更为 70 分
  • 一次更新多个列

查看原数据:

在这里插入图片描述

更新数据:

			update exam_result set chinese=80, english=70 where name='John';

查看更新后数据:

在这里插入图片描述

  1. 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

查看原数据:

		select name, math, chinese+math+english total from exam_result order by total limit 3;

在这里插入图片描述

更新数据:

			update exam_result set math = math + 30 order by chinese+math+english limit 3;

查看更新后的数据,注意不能再用查看总分倒数前三的方式,因为给他们加上 30 分之后,他们就有可能不是倒数前三了,要单独去查看他们三个人的成绩:

		select name, math, chinese+math+english total from exam_result where name in('Klin', 'Jane', 'Smith');

在这里插入图片描述

  1. 将所有同学的英语成绩更新为原来的 2 倍

查看原数据:

在这里插入图片描述

更新数据:

			update exam_result set english = english * 2;

查看更新后的数据:

在这里插入图片描述

注意:更新全表的语句慎用!

4. Delete

(1)删除数据

语法:

			delete from table_name [where ...] [order by ...] [limit ...];

实例:

  1. 删除 Lily 同学的考试成绩

查看原数据:

在这里插入图片描述

删除数据:

			delete from exam_result where name='Lily';

查看删除后的数据:

在这里插入图片描述

  1. 删除整张表数据

我们查看当前库的表:

在这里插入图片描述

可以看到有一张 employee 表,我们查看这张表的数据如下:

在这里插入图片描述

再查看表的结构:

在这里插入图片描述

然后我们把整表数据删除:

			delete from employee;

再查看就发现数据全没了:

在这里插入图片描述

再插入一条数据,自增 id 在原值上继续增长:

在这里插入图片描述

注意:删除整表操作要慎用!

(2)截断表

语法:

			truncate [table] table_name

注意:这个操作慎用

  1. 只能对整表操作,不能像 delete 一样针对部分数据操作;
  2. 实际上 MySQL 不对数据操作,所以比 delete 更快,但是 truncate 在删除数据的时候,并不经过真正的事务,所以无法回滚;
  3. 会重置 auto_increme 项

接下来我们重新向 employee 表重新插入数据:

在这里插入图片描述

截断整表数据,注意影响行数是 0,所以实际上没有对数据真正操作:

			truncate employee;

在这里插入图片描述

再插入一条数据,自增 id 在重新增长:

在这里插入图片描述

5. 插入查询结果

语法:

			insert into table_name [(column [, column ...])] select ...

实例:创建一个新表,插入一个旧表中查询到的去重后的数据

  • 先创建一个旧表,并插入数据:

      		mysql> create table duplicate_table (id int, name varchar(20));mysql> INSERT INTO duplicate_table VALUES-> (100, 'aaa'),-> (100, 'aaa'),-> (200, 'bbb'),-> (200, 'bbb'),-> (200, 'bbb'),-> (300, 'ccc');
    
  • 创建一个新表,和旧表的结构一样

      		create table no_duplicate_table like duplicate_table;
    
  • 将旧表的去重数据插入到新表中

      		insert into no_duplicate_table select distinct * from duplicate_table;
    
  • 最后查看新表的数据

在这里插入图片描述

6. 聚合函数

在这里插入图片描述

实例:

  1. 统计班级共有多少同学

     		select count(*) from students;
    
  • 使用 * 做统计,不受 NULL 影响

在这里插入图片描述

  1. 统计班级收集的 email 有多少

     		select count(email) from students;
    
  • NULL 不会计入结果

在这里插入图片描述

  1. 统计本次考试的英语成绩分数个数

     		select count(english) from exam_result;
    
  • count(english) 统计的是全部成绩

在这里插入图片描述

  • count(distinct math) 统计的是去重成绩数量

在这里插入图片描述

  1. 统计数学成绩总分

     		select sum(math) from exam_result;
    

在这里插入图片描述

  1. 统计平均总分

     		select avg(chinese+math+english) 平均总分 from exam_result;
    

在这里插入图片描述

  1. 返回语文最高分

     		select max(chinese) from exam_result;
    

在这里插入图片描述

  1. 返回 > 70 分以上的语文最低分

     		select min(chinese) from exam_result where chinese > 70;
    

在这里插入图片描述

7. group by 子句的使用

select 中使用 group by 子句可以对指定列进行分组查询。

语法:

			select column1, column2, .. from table group by column;

分组的目的是为了分组之后,方便进行聚合统计。分组的本质就是把一组按照条件拆分成了多个组,进行各自组内的统计!分组其实也是"分表",就是把一张表按照条件在逻辑上拆分成了多个子表,然后分别对各自的子表进行聚合统计!

实例,需要准备一张雇员信息表(来自oracle 9i的经典测试表),表的链接:oracle 9i的经典测试表 包括:

  • emp 员工表
  • dept 部门表
  • salgrade 工资等级表

查看 emp 表数据:

在这里插入图片描述

查看 dept 表的数据:

在这里插入图片描述

查看 salgrade 表的数据:

在这里插入图片描述

接下来开始使用分组操作:

  1. 显示每个部门的平均工资和最高工资

很明显,显示每个部门的平均工资和最高工资,是需要按部门分组,分别显示部门号、平均工资和最高工资:

			select deptno, avg(sal), max(sal) from emp group by deptno;

在这里插入图片描述

  1. 显示每个部门的每种岗位的平均工资和最低工资

每个部门的每种岗位,即要按照部门和岗位进行分组:

			select deptno, job, avg(sal), min(sal) from emp group by deptno, job;

在这里插入图片描述

  1. 显示平均工资低于2000的部门和它的平均工资
  • 先统计各个部门的平均工资

      		select deptno, avg(sal) from emp group by deptno;
    

在这里插入图片描述

  • 使用 having 对分组进行筛选

      		select deptno, avg(sal) from emp group by deptno having avg(sal) < 2000;
    

在这里插入图片描述

注意:having 和 group by 配合使用,对 group by 结果进行过滤,having 经常和 group by 搭配使用,作用是对分组进行筛选,作用有些像 where.

having 是对聚合后的统计数据进行条件筛选。其中 havingwhere 的区别在于:

  • 执行的顺序不一样,where 是对任意列进行条件筛选,一般是最先执行;having 是对分组聚合后的结果进行条件筛选,一般是最后才执行!

8. 相关题目练习

  1. Nowcoder:批量插入数据

  2. Nowcoder:找出所有员工当前薪水salary情况

  3. Nowcoder:查找最晚入职员工的所有信息

  4. Nowcoder:查找入职员工时间排名倒数第三的员工所有信息

  5. Nowcoder:查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t

  6. Nowcoder:获取所有部门当前manager的当前薪水情况,给出dept_no, emp_no 以及 salary, 当前表示 to_date = ‘9999-01-01’

  7. Nowcoder:从titles表获取按照title进行分组

  8. Leetcode:查找重复的电子邮箱

  9. Leetcode:大的国家

  10. Leetcode:第N高的薪水

注意:SQL 查询中各个关键字的执行先后顺序:

		from > on> join > where > group by > with > having > select > distinct > order by > limit

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第七在线】数据分析与人工智能在商品计划中的应用

随着技术的不断进步&#xff0c;数据分析和人工智能&#xff08;AI&#xff09;已经成为了现代商品计划的关键组成部分。在服装行业&#xff0c;这两项技术正在帮助企业更好地理解市场需求、优化库存管理、提高生产效率和提供更好的客户体验。本文将深入探讨数据分析和人工智能…

java并发编程十 原子累加器和Unsafe

文章目录 原子累加器cas 锁原理之伪共享 UnsafeUnsafe CAS 操作 原子累加器 累加器性能比较 private static <T> void demo(Supplier<T> adderSupplier, Consumer<T> action) {T adder adderSupplier.get();long start System.nanoTime();List<Thread…

2023年12月GESP Python五级编程题真题解析

【五级编程题1】 【试题名称】&#xff1a;小杨的幸运数 【问题描述】 小杨认为&#xff0c;所有大于等于a的完全平方数都是他的超级幸运数。 小杨还认为&#xff0c;所有超级幸运数的倍数都是他的幸运数。自然地&#xff0c;小杨的所有超级幸运数也都是幸运数。 对于一个…

智能优化算法应用:基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于金枪鱼群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金枪鱼群算法4.实验参数设定5.算法结果6.…

LINUX系统安装和管理

目录 一.应用程序 对比应用程序与系统命令的关系 典型应用程序的目录结构 常见的软件包装类型 二.RPM软件包管理 1.RPM是什么&#xff1f; 2.RPM命令的格式 查看已安装的软件包格式 查看未安装的软件包 3.RPM安装包从哪里来&#xff1f; 4.挂载的定义 挂载命令moun…

JavaWeb笔记之SVN

一、版本控制 软件开发过程中 变更的管理&#xff1b; 每天的新内容;需要记录一下&#xff1b; 版本分支;整合到一起&#xff1b; 主要的功能对于文件变更的追踪&#xff1b; 多人协同开发的情况下,更好的管理我们的软件。 大型的项目;一个团队来进行开发; 1: 代码的整合 2: 代…

机器人创新实验室任务三参考文档

一、JAVA环境配置 需要在Linux里面下载并且安装java。 sudo apt-get install openjdk-17-jre-headless 打开终端并且运行指令&#xff0c;用apt下载安装java。官方用的好像是java11&#xff0c;我安装的是java17。 如果无法定位软件安装包&#xff0c;可以试试更新一下 sudo …

4.svn版本管理工具使用

1. 什么是SVN 版本控制 它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节! Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空 SVN的优势 统一的版本号 Subversi…

【clickhouse】在CentOS中离线安装clickhouse

一、下载地址 通过以下链接进行rpm安装包的下载 https://packages.clickhouse.com/rpm/stable/ 根据需求下载对应版本 注意&#xff1a;ClickHouse 20.8.2.3版本新增加了 MaterializeMySQL 的 database 引擎&#xff0c;该 database 能映射到 MySQL 中的某个 database&#…

算法通关村第十关—归并排序(黄金)

归并排序 一、归并排序原理 归并排序(MERGE-SORT)简单来说就是将大的序列先视为若干个比较小的数组&#xff0c;分成几个比较小的结构&#xff0c;然后是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治策略&#xff08;分就是将问题分(divide)成一些小的问题分…

前端常用的工具网站

前端常用的工具网站&#x1f516; 文章目录 前端常用的工具网站&#x1f516;1. 图片在线压缩2. iconfont--矢量图标3. JSON在线格式化4. EMOJIALL--表情符号5. removebg--去除图片背景6. FREE API--免费API接口7. Lorem picsum --随机图片8.UU在线工具 -- 聚合工具 1. 图片在线…

进行鸿蒙开发前的一些工具了解

文章概叙 文章主要讲的是开发的一些工具&#xff0c;如DevEco Studio,以及ArkTs的一些基础。 为啥要学习鸿蒙开发 抛开各种遥遥领先不讲&#xff0c;现在打开BOSS直聘&#xff0c;已经可以看到在BOSS上有不少的岗位是关于鸿蒙的&#xff0c;甚至是华为的岗位&#xff0c;而在…

python实现元旦多种炫酷高级倒计时_附源码【第19篇—python过元旦】

文章目录 &#x1f30d;python实现元旦倒计时 — 初级(控制台)⛅实现效果&#x1f30b;实现源码&#x1f31c;源码讲解 &#x1f30d;python实现元旦倒计时 — 中级(精美动态图)⛅实现效果&#x1f30b;实现源码&#x1f31c;源码讲解 &#x1f30d;python实现元旦倒计时 — 高…

模式识别与机器学习(十一):Bagging

1.原理 Bagging [Breiman, 1996a] 是井行式集成学习方法最著名的代表.从名字即可看出&#xff0c;它直接基于自助采样法(bootstrap sampling)。给定包含m 个样本的数据集&#xff0c;我们先随机取出一个样本放入采样集中&#xff0c;再把该样本放回初始数据集&#xff0c;使得…

阿里云 ACK One 新特性:多集群网关,帮您快速构建同城容灾系统

云布道师 近日&#xff0c;阿里云分布式云容器平台 ACK One[1]发布“多集群网关”[2]&#xff08;ACK One Multi-cluster Gateways&#xff09;新特性&#xff0c;这是 ACK One 面向多云、多集群场景提供的云原生网关&#xff0c;用于对多集群南北向流量进行统一管理。 基于 …

计算机组成原理第6章-(计算机的运算方法)【上】

机器数与真值 把符号“数字化”的数称为机器数,而把带“+”、“-”符号的数称为真值。 原码表示法 原码是机器数中最简单的一种表示形式,0表示整数,1表示负数。 约定整数的符号位和数值位之间用“逗号”隔开。 在原码中,0有两种表示形式:“+0”和“-0”是不一样的。 反…

Gradle - 安装、环境变量、配置国内源、常用命令

目录 一、Gradle 1.1、安装&环境变量 1.2、配置国内源 1.3、Gradle 项目文件介绍 1.4、Gradle 中的常用指令 一、Gradle 1.1、安装&环境变量 a&#xff09;从 Gradle 官网下载对应的版本&#xff1a;Gradle | Releases 这里以 8.0 版本为例&#xff0c;下载附带…

nodejs+vue+微信小程序+python+PHP计算机网络在线考试系统-计算机毕业设计推荐

信息数据的处理完全依赖人工进行操作&#xff0c; 所以电子化信息管理的出现就能缓解以及改变传统人工方式面临的处境&#xff0c;一方面可以确保信息数据在短时间被高效处理&#xff0c;还能节省人力成本&#xff0c;另一方面可以确保信息数据的安全性&#xff0c;可靠性&…

Java操作Word修订功能:启用、接受、拒绝、获取修订

Word的修订功能是一种在文档中进行编辑和审阅的功能。它允许多个用户对同一文档进行修改并跟踪这些修改&#xff0c;以便进行审查和接受或拒绝修改。修订功能通常用于团队合作、专业编辑和文件审查等场景。 本文将从以下几个方面介绍如何使用免费工具Free Spire.Doc for Java在…

MySQL 数据库系列课程 05:MySQL命令行工具的配置

一、Windows启动命令行工具 &#xff08;1&#xff09;打开 Windows 的开始菜单&#xff0c;找到安装好的 MySQL&#xff0c;点击MySQL 8.0 Command Line Client - Unicode&#xff0c;这个带有 Unicode 的&#xff0c;是支持中文的&#xff0c;允许在命令行中敲中文。 &…