数据库入门-----SQL基础知识

目录

📖前言:

📑SQL概述&&通用语法:

 🐳DDL:

🐻操作数据库:

🐞数据类型:

 🦉操作表:

🦦DML:

语法规则:

案例演示:

🦏DQL:

语法规则:

案例演示:

# 基础查询:

 # 条件查询:

 #聚合函数:

 # 分组查询:

 #排序查询:

 #分页查询:

 执行顺序:

🫎DCL:

语法规则:


📖前言:

SQL语言有40多年的历史,从它被应用至今几乎无处不在。我们消费的每一笔支付记录,收集的每一条用户信息,发出去的每一条消息,都会使用数库或与其相关的产品来据存储,而操纵数据库的语言正是 SQL !!!

SQL相当于一种工具,它可以帮助我们完成工作,创造价值。 本文就来详细讲解SQL的相关概念与操作,为后面的数据库深入学习打下基础。

😺😺😺数据库与SQL相关说明:

名称全称简称
数据库
存储数据的仓库,数据是有组织的进行存储
DataBase DB
数据库管 理系统
操纵和管理数据库的大型软件
DataBase Management
System (DBMS)
SQL
操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
Structured Query
Language (SQL)

📑SQL概述&&通用语法:

SQL,全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 。

😀学习SQL的作用:

SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。

  • SQL 可创建新数据库
  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可从数据库删除记录
  • SQL 可更新数据库中的数据

 👌SQL分类:

SQL 语句,根据其功能,主要分为四类: DDL DML DQL DCL

🧐SQL通用语法:

  • SQL语句可以单行或多行书写,以分号结尾。
  • SQL 语句可以使用空格 / 缩进来增强语句的可读性
  • MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。​​​​​​
    * 注释:
    1)单行注释: -- 注释内容 # 注释内容
    2)多行注释: /* 注释内容 */ 

好了,通过上面的一些说明,想必你对SQL有了一定了解了,那我们直接开始SQL的学习吧~~~

 🐳DDL:

Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段)

🐻操作数据库:

这里先列出总的语法,后面依次解释说明:

# 库操作
-- 1.1 查询所有数据库
show databases ;
-- 1.2 查询当前数据库
select database() ;
-- 1.3 创建数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序
规则 ] ;
-- 1.4 删除数据库
drop database [ if exists ] 数据库名 ;
-- 1.5 切换数据库
use 数据库名 ;# 表操作:-- 2.1 查询当前数据库所有表
show tables;
-- 2.2 查看指定表结构
desc 表名 ;
-- 2.3 查询指定表的建表语句
show create table 表名 ;
-- 2.4 创建表结构
create table 表名(
字段1 字段1类型 [comment 字段1注释 ],
字段2 字段2类型 [comment 字段2注释 ],
字段3 字段3类型 [comment 字段3注释 ],
......
字段n 字段n类型 [comment 字段n注释 ]
) [ comment 表注释 ] ;
  • 查询所有数据库:
show databases ;

 ------->可以看到这里有四个系统自带的数据库

  •  创建数据库:
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序
规则 ] ;
/*create database if not exists 数据库名 --->如果数据库已经存在(同名)则不创建,否则创建*/
/*中括号中的内容是可选的,可以写也可以不写*/

在mysql中输入下面指令,名为itcast的数据库创建成功 

  •  查询当前数据库:
select database() ; 
  •  切换数据库 :
我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。比如,切换到itcast 数据,执行如下 SQL
use itcast;

  • 删除数据库 :
drop database [ if exists ] 数据库名 ;
/*如果删除一个不存在的数据库,将会报错。
此时,可以加上参数 if exists ,如果数据库存在,再
执行删除,否则不执行删除。*/

🐞数据类型:

在建表语句中,我们指定字段的数据类型时,常常用到int ,varchar,那么在MySQL中除了 以上的数据类型,还有哪些常见的数据类型呢? 接下来,我们就来详细介绍一下MySQL的数据类型。

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

🦏🦏🦏常用类型

  • int:整型
  • double:浮点型,例如 double(5,2)表示最多 5 位,其中必须有 2 位小数,即最大值为 999.99;
  • decimal:泛型型,在表单线方面使用该类型,因为不会出现精度缺失问题;
  • char:固定长度字符串类型;(当输入的字符不够长度时会补空格)
  • varchar:固定长度字符串类型;
  • text:字符串类型;
  • blob:字节类型;
  • date:日期类型,格式为:yyyy-MM-dd;
  • time:时间类型,格式为:hh:mm:ss
  • timestamp:时间戳类型;

更多数据类型可以查看这篇文章:最全 SQL 字段类型(4种)、属性(6种)总结_sql字段类型-CSDN博客

 🦉操作表:

  •  创建表:

 🐞🐞🐞注意:[    ] 中的内容是可选的,最后一个字段没有逗号.

比如,我们创建一张表 tb_user ,对应的结构如下

 那么建表语句为:

create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';
  •  查询当前数据库所有表:
show tables;
  • . 查看指定表结构:
desc 表名 ;

演示:

  • 查询指定表的建表语句:
show create table 表名 ;

上述,我们已经讲解了通过DDL语句,如何操作数据库、操作表、操作表中的字段,而通过DDL语句执 行在命令进行操作,主要存在以下两点问题:

1).会影响开发效率 ;

2). 使用起来,并不直观,并不方便 ;

所以,后续语法与操作展示我将在SQL图示化工具------Vavicat中展示,感兴趣的小伙伴可已自行下载:Navicat 中国 | 支持 MySQL、Redis、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理

🦦DML:

DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进 行增、删、改操作。

语法规则:

-- 1. 添加数据
# 1.1 给指定字段添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);# 1.2 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);# 1.3 批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值
1, 值2, ...) ;-- 2. 修改数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2 = 值2 , .... [ WHERE 条件 ] ;
/* 没有条件where表示将表中的所有数据都进行修改*/-- 3.  删除数据
DELETE FROM 表名 [ WHERE 条件 ] ;
/* 没有条件where相当于删除所有数据 */

 按照上述操作,我们创建表并给表插入信息:

案例演示:

-- 查看所有数据库
show databases;
-- 创建emp数据库
create database if not exists emp;
-- 使用当前数据库
use emp;
-- 创建员工表
create table emp(
id int comment '编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号',
workaddress varchar(50) comment '工作地址',
entrydate date comment '入职时间'
)comment '员工表';
-- 展示所创建的表信息
desc employee;
-- 加入表中成员
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (1, '0001', ' 柳岩', '女', 19, ' 123445', '北京', '2024-04-01');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (2, '0002', '坤坤', '男', 20, '34568', '北京', '2024-04-02');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (3, '0004', '张三', '男', 22, '45678', '上海', '2024-04-03');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (4, '0005', '李四', '男', 18, '23535', '深圳', '2024-04-05');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (5, '0006', '小明', '男', 35, '23535', '福建', '2024-04-06');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (6, '0007', '丽华', '女', 34, '135252', '天津', '2024-04-07');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (8, '0008', '小猫', '女', 18, '1235215', '福建', '2024-04-05');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (9, '0009', '凉凉', '男', 20, '12345135', '西安', '2024-04-04');
INSERT INTO `employee` (`id`, `workno`, `name`, `gender`, `age`, `idcard`, `workaddress`, `entrydate`) VALUES (10, '0010', '菜菜', '女', 19, '135235', '安徽', '2024-04-02');
-- 这里先用来查看所有表中信息,后续会讲到
select * from employee;/*  这里是不运行的部分,仅作展示
-- 修改表中信息:
update emp set name = '小王' where id = 1;
update emp set entrydate = '2008-01-01'; -- 没有条件where就是全部修改
-- 删除表中数据
delete from emp where gender = '女'; */

运行结果:

注意:

  • DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
  • DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。
  • 所有字符串数据必须使用单引用!

🦏DQL:

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记 录。查询关键字: SELECT

在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站, 在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能 还会涉及到条件、排序、分页等操作。比如京东购物网站:

语法规则:

# 基础查询
-- 1.1 查询多个字段
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
SELECT * FROM 表名 ;-- 带*号是查询所有字段-- 1.2 字段设置别名:
SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;
SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名; -- as可以省略-- 1.3  去除重复记录
SELECT DISTINCT 字段列表 FROM 表名; -- 保留不同的字段# 条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表 ;#聚合函数
SELECT 聚合函数(字段列表) FROM 表名 ;#分组查询
SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组
后过滤条件 ];# 排序查询
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;
ASC : 升序(默认值) -- 排序方式
DESC: 降序 -- 排序方式# 分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;

案例演示:

# 基础查询

A.查询指定字段 name, workno, age并返回:

select name,workno,age from emp;

B:查询返回所有字段:

select id ,workno,name,gender,age,idcard,workaddress,entrydate from emp; -- 1
select * from emp; -- 2

C:查询所有员工的工作地址,起别名:

select workaddress (as) '工作地址' from emp; -- as 可以省略

D:查询公司员工的上班地址有哪些(不要重复):

select distinct workaddress '工作地址' from emp;

D:这里演示最后一个查询结果,其他类似(以DML中创建的员工表为例):

 # 条件查询:

常用的比较运算符如下:

 常用的逻辑运算符如下:

案例: 

A. 查询年龄等于 88 的员工:

select * from emp where age = 88;

B.查询年龄小于等于 20 的员工信息:

select * from emp where age <= 20;

C.查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息:

select * from emp where age >= 15 && age <= 20; -- 1
select * from emp where age >= 15 and age <= 20; -- 2
select * from emp where age between 15 and 20; -- 3

 D.查询身份证号最后一位是X的员工信息:

-- % 匹配任意个字符
select * from emp where idcard like '%X'; 
-- _ 匹配一个字符,若身份证号18位,则X前有17个空格
select * from emp where idcard like '_________________X'; 

 D:这里演示最后一个查询结果,其他类似(以DML中创建的员工表为例):

 #聚合函数:

将一列数据作为一个整体,进行纵向计算 ,下面展示常见聚合函数:

​​​​​​​​​​​​​​

 注意 : NULL值是不参与所有聚合函数运算的!!!

案例:

A. 统计该企业员工数量:

select count(*) from emp; -- 统计的是总记录数,含创建的null字段
select count(idcard) from emp; -- 统计的是idcard字段不为null的记录数

B.统计该企业员工的平均年龄:

select avg(age) from emp;

C. 统计该企业员工的最大年龄:

select max(age) from emp;

D.统计福建地区员工的年龄之和:

select sum(age) from emp where workaddress = '福建';

  D:这里演示最后一个查询结果,其他类似(以DML中创建的员工表为例):

 # 分组查询:

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组
后过滤条件 ];

🐻🐻🐻 where 和 having的区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以

案例:

A. 根据性别分组 , 统计男性员工 和 女性员工的数量:

select gender, count(*) from emp group by gender ;

B. 根据性别分组 , 统计男性员工 和 女性员工的平均年龄:

select gender, avg(age) from emp group by gender 

C. 查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于2的工作地址:

select workaddress, count(*) address_count from emp where age < 45 group by
workaddress having address_count >= 2;

C:这里演示最后一个查询结果,其他类似(以DML中创建的员工表为例):

 #排序查询:

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ;

注意:

  •  如果是升序, 可以不指定排序方式ASC ;
  • 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;

案例:

A. 根据年龄对公司的员工进行升序排序:

select * from emp order by age asc;
select * from emp order by age; -- 默认升序排序

B.根据年龄对公司的员工进行升序排序 , 年龄相同 , 再按照入职时间进行降序排序:

select * from emp order by age asc , entrydate desc;

 B:这里演示最后一个查询结果,其他类似(以DML中创建的员工表为例):

 #分页查询:

分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台 都需要借助于数据库的分页操作。

1).语法:

SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 ;

注意事项:

  •  起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
  • 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10(一页10条信息)。

案例:

A.查询第1页员工数据, 每页展示10条记录:

select * from emp limit 0,10;
select * from emp limit 10; -- 第一页,0可以省略

B.查询第2页员工数据, 每页展示10条记录 --------> (页码-1)*页展示记录数:

select * from emp limit 10,10;

 A:这里演示第一个查询结果,其他类似(以DML中创建的员工表为例):

 执行顺序:

在讲解DQL语句的具体语法之前,我们已经讲解了DQL语句的完整语法,及编写顺序,接下来,我们要来说明的是DQL语句在执行时的执行顺序,也就是先执行那一部分,后执行那一部分,下面一张图说明执行顺序:

🫎DCL:

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访 问权限。

语法规则:

# 管理用户
-- 1.1  查询用户
select * from mysql.user;-- 1.2  创建用户-- 1.3 修改用户密码-- 1.4  删除用户
DROP USER '用户名'@'主机名' ;# 权限控制-- 2.1  查询权限
SHOW GRANTS FOR '用户名'@'主机名' ;-- 2.2 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';-- 2.3  撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意:

  • 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户
  • 主机名可以使用 % 通配
  • 这类SQL开发人员操作的比较少,主要是DBA( Database Administrator 数据库 管理员)使用。

对于权限控制,官方提供了许多方法 ,可以参考:MySQL :: MySQL 8.0 Reference Manual :: 8.2.2 Privileges Provided by MySQL

这里不做过多展示了,有兴趣的小伙伴可以自行想学习相应规则 

结语: 写博客不仅仅是为了分享学习经历,同时这也有利于我巩固知识点,总结该知识点,由于作者水平有限,对文章有任何问题的还请指出,接受大家的批评,让我改进。同时也希望读者们不吝啬你们的点赞+收藏+关注,你们的鼓励是我创作的最大动力!

​​​​​​​

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

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

相关文章

浅析安全传输协议HTTPS之“S”

当前互联网&#xff0c;在各大浏览器厂商和CA厂商的推动下&#xff0c;掀起了一股HTTPS应用浪潮。为了让大家更好的了解HTTPS&#xff0c;本文给大家介绍关于HTTPS 中的S一个整体的认识。从其产生的历史背景、设计目标说起&#xff0c;到分析其协议设计结构、交互流程是如何实现…

R语言数据操纵:常用函数

目录 处理循环的函数 lapply函数 apply函数 mapply函数 tapply函数 split函数 排序的函数 sort函数与order函数 总结数据信息的函数 head函数与tail函数 summary函数 str函数 table函数 any函数 all函数 xtab函数 object.size函数 这篇文章主要介绍R语言中处理…

HarmonyOS 开发-一镜到底“页面转场”动画

介绍 本方案做的是页面点击卡片跳转到详情预览的转场动画效果 效果图预览 使用说明 点击首页卡片跳转到详情页&#xff0c;再点击进入路由页面按钮&#xff0c;进入新的路由页面 实现思路 首页使用了一种视觉上看起来像是组件的转场动画&#xff0c;这种转场动画通常是通过…

swiftui macOS实现加载本地html文件

import SwiftUI import WebKitstruct ContentView: View {var body: some View {VStack {Text("测试")HTMLView(htmlFileName: "localfile") // 假设你的本地 HTML 文件名为 index.html.frame(minWidth: 100, minHeight: 100) // 设置 HTMLView 的最小尺寸…

RabbitMQ-延迟队列的使用

目录 一、使用场景 二、第一种方式&#xff1a;创建具有超时功能且绑定死信交换机的消息队列 三、第二种方式&#xff1a;创建通用延时消息 四、第三种方式&#xff1a;使用rabbitmq的延时队列插件&#xff0c;实现同一个队列中有多个不同超时时间的消息&#xff0c;并按时间…

春秋之境28512

题目说该CMS的/single.php路径下&#xff0c;id参数存在一个SQL注入漏洞。访问看一下随便点一个图片。 发现了注入点?id 那么开始查看闭合符一个 就报错了 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for th…

一起学习python——基础篇(10)

前言&#xff0c;Python 是一种面向对象的编程语言。以前大学读书的时候经常开玩笑说的一句话“如果没有对象&#xff0c;就new一个”。起因就是编程老师上课时经常说一句“首先&#xff0c;我们new一个对象”。 今天讲一下python的类和对象。 类是什么&#xff1f;它是一种用…

【linux】基础IO(三)

上一节基础IO我们着重理解了重定向与缓冲区&#xff0c;这节我们需要重点理解文件再磁盘中是怎样存储。以及上一节我们没有涉及到的知识。 stderr到时有什么用&#xff1f; 目录 fd-> 0 1 2&#xff1a;初步理解2怎样将错误与正确输出都打印在一个文件&#xff1f; 文件在硬…

Redis基础操作与持久化

目录 引言 一、Reids工具与数据类型 &#xff08;一&#xff09;Reids工具 &#xff08;二&#xff09;Redis数据类型 1.String&#xff08;字符串&#xff09; 2.Hash&#xff08;哈希&#xff09; 3.List&#xff08;列表&#xff09; 4.Set&#xff08;集合&#xff…

实践笔记-linux内核版本升级(centos7)

linux内核版本升级 1.查看当前内核版本信息2.采用yum方式进行版本升级2.1导入仓库源2.2选择 ML 或 LT 版本安装2.3设置内核启动 3.删除旧版本内核 1.查看当前内核版本信息 #查看操作系统版本 cat /etc/redhat-release #查看系统内核 uname -r2.采用yum方式进行版本升级 2.1导…

白色磨砂质感html5页源码

白色磨砂质感html5页源码&#xff0c;简约的基础上加上了团队成员&#xff0c;自动打字特效音乐播放器存活时间 源码下载 https://www.qqmu.com/2980.html

vscode的源码插件GitHub Repositories

打铁还需自身硬&#xff0c;需要不断提升自我&#xff0c;提升自我的一种方式就是看源码&#xff0c;站在更高的维度去理解底层原理&#xff0c;以便以后更好的开发和解决问题&#xff0c;由于源码一个动不动就是几个G甚至十几个G&#xff0c;如果一个个源码下载下来&#xff0…

数字图像处理项目——基于BCNN和迁移学习的鸟类图像细粒度分类(论文/代码)

完整的论文代码见文章末尾 以下为核心内容 摘要 本文采用了ResNet50、VGG19、InceptionV3和Xception等四种不同的深度神经网络模型&#xff0c;并应用于鸟类图像的细粒度分类问题中&#xff0c;以探究其在该任务上的性能表现。 其中&#xff0c;本文使用了BCNN&#xff08;B…

查分约束学习

问题模型&#xff1a; 有n个变量&#xff1a;&#xff0c;有m个约束条件 令差分数组&#xff0c;可以知道如果x1x2<q&#xff0c;那么与j和i-1有关联 由画图可知&#xff0c;如果有在i-1至j建立的有向图中跑最短路&#xff0c;那么dis[n]即为最小的约束变量 另外&#x…

Chrome浏览器如何跟踪新开标签的网络请求?

在测试一个东西的时候&#xff0c;它虽然是a链接&#xff0c;但是&#xff0c;是由前端在js里写跳转的。我又必须要知道它的跳转链接&#xff0c;只能用截屏的方式来捕捉浏览器的地址栏链接 打开浏览器控制台(F12)点击红色箭头打钩为弹出式窗口自动打开DevTools 英文版调试参…

华大单片机新建工程步骤

1.新建文件夹&#xff0c;比如00_LED 2.拷贝 hc32f460_ddl_Rev2.2.0\driver 到 00_LED 3.拷贝 hc32f460_ddl_Rev2.2.0\mcu\common 到 00_LED 4.拷贝 hc32f460_ddl_Rev2.2.0\example\ev_hc32f460_lqfp100_v2\gpio\gpio_output\source 到 00_LED 5.拷贝 hc32f460_ddl_Rev2.2.…

933.最近的请求次数

题目&#xff1a;写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类&#xff1a; RecentCounter() 初始化计数器&#xff0c;请求数为 0 。int ping(int t) 在时间 t 添加一个新请求&#xff0c;其中 t 表示以毫秒为单位的某个时间&#x…

HarmonyOS 开发-使用SideBarContainer侧边栏淡入淡出动效实现案例

介绍 在2in1或平板上&#xff0c;群聊侧边栏是一种较为常用的功能&#xff0c;虽然HarmonyOS已经具备了基本的动效&#xff0c;但是部分情况下开发者可能有定制侧边栏动效的需求&#xff0c;本例主要介绍了如何基于显式动画实现侧边栏的淡入淡出动效。 效果图预览 使用说明&a…

​泛微文书定人事档案一体化管理,覆盖人事管理全过程,人事档案全量归档

人事档案是个人身份、学历、资历等方面的证据&#xff0c;与个人工资待遇、社会劳动保障、组织关系紧密挂钩&#xff0c;具有法律效力。应注重收集和鉴别、整理工作&#xff0c;提升人事档案利用率。 企业应依据国家有关人事档案管理规定&#xff0c;制定企业人事档案管理办法&…

【吊打面试官系列】Java高并发篇 - 什么是线程组,为什么在 Java 中不推荐使用?

大家好&#xff0c;我是锋哥。今天分享关于 【什么是线程组&#xff0c;为什么在 Java 中不推荐使用&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 什么是线程组&#xff0c;为什么在 Java 中不推荐使用&#xff1f; ThreadGroup 类&#xff0c;可以把线程归属…