SQL基础语法介绍-基于MySQL
文章目录
- 一、SQL分类
- 二、SQL语法
- 1.数据库字段类型
- 1.1.数值类型
- 1.2 字符类型
- 1.3 日期类型
- 2.字段约束
- 2.1约束介绍
- 2.2 非空约束(not null)
- 2.3 唯一约束(unique)
- 2.4 主键约束(primary key)
- 2.5 自增长主键
- 2.6 联合主键
- 3.**DDL 数据定义语言**
- 3.1 对库的操作:
- 3.2 对表的操作
- 4.DML 数据操纵语言
- 4.1 增 insert
- 4.2 删 delete
- 4.3 改 update
- 5.DQL数据查询语言
- 5.1 基础查询 select
- 5.2 where 子句
- 5.2.1**条件关系运算符**
- 5.2.2条件逻辑运算符
- 5.2.3 LIKE 模糊查询
- 5.3 查询结果处理
- 5.3.1 计算列
- 5.3.2 字段别名
- 5.3.3 去重
- 5.4 order by 排序
- 5.5 聚合函数
- 5.6分组查询
- 5.7 分页查询 limit
- 三、数据表的关联关系
- 1.关联关系介绍
- 2.外键约束
- 3.外键约束-级联
一、SQL分类
根据不同SQL指令对数据库操作的不同,可以将SQL指令分为以下四类:
-
DDL Data Defintion Language 数据定义语言
- 用于对数据库对象(数据库,数据表,视图,索引)的增删改操作
-
DML Data Manipulation Language 数据操作语言
- 用于对数据表中的数据的增删改操作
-
DQL Data Query Language 数据查询语言
- 用于对数据库表中的数据的查询操作
-
DCL Data Control Language 数据控制语言
- 用于事务管理等控制性操作
二、SQL语法
1.数据库字段类型
数据库表中数据列支持的数据存储类型
1.1.数值类型
类型 | 内存空间 | 范围 | 说明 |
---|---|---|---|
tinyint | 1byte | 有符号-128~127 无符号 0~255 | 特小型整数(年龄) |
smallint | 2byte(16bit) | 有符号-32768~32767 无符号 0~65535 | 小型整数 |
mediumint | 3byte | 有符号-231~231-1 无符号 0~2^31-1 | 中型整数 |
int/integer | 4byte | 整数 | |
bigint | 8byte | 大型整数 | |
float | 4byte | 单精度 | |
double | 8byte | 双精度 | |
decimal | 第一个参数*2 | decimal(10,2)数值位10位,小数位有两位 | |
1.2 字符类型
存储字符序列的类型
类型 | 长度 | 说明 |
---|---|---|
char | 0~255字节 | 定长字符串,最多存放255个字节;char(n),自动补齐位数 |
varchar | 0~65536字节 | 可变长度字符串,一个汉字占用两个字节 |
tinyblob | 0~255字节 | 存储二进制字符串 |
blob | 0~65535字节 | 存储二进制字符串(图片,音频) |
mediumblob | 0~1677215字节 | 存储二进制字符串 |
longblob | 0~4294967295 | 存储二进制字符串 |
tinytext | 0~255 | 文本数据(字符串) |
text | 0~65535 | 文本数据(字符串) |
mediumtext | 0~1677215 | 文本数据(字符串) |
longtext | 0~4294967295 | 文本数据(字符串) |
1.3 日期类型
数据库日期类型
类型 | 格式 | 说明 |
---|---|---|
date | 2024-01-01 | 日期,存放 年-月-日 |
time | 18:01:10 | 时间,存放 时分秒 |
year | 2024 | 年份 |
datetime | 2024-01-08 18:01:18 | 年月日,时分秒 |
timestamp | 20240108 180118 | 年月日时分秒(时间戳) |
2.字段约束
2.1约束介绍
在创建表时,对表中指定数据列的数据的限制性约束,其目的:
- 保证数据有效性
- 保证数据完整性
- 保证数据正确性
常见的SQL语法约束;
- 非空约束(not null):限制此列值必须提供,不能为null
- 唯一约束(unique):此列的值需要具有唯一性,不能重复
- 主键约束(primary key):非空+唯一,能够唯一标识数据表中的一条数据
- 外键约束(foreign key):建立不同表之间的关联关系
2.2 非空约束(not null)
限制数据表中此列的值必须提供
create table `students`(`stu_num` char(8) not null unique,`stu_name` varchar(20) not null ##非空);
2.3 唯一约束(unique)
在表中的多条数据,此列的值不能重复
create table `students`(`stu_num` char(8) not null,`stu_tel` char(11) unique ##唯一约束);
2.4 主键约束(primary key)
主键是数据表中记录的唯一标识(非空+唯一)
一张数据表中只能有**
一个主键
**,但是主键是可以一个字段,也可以是多个字段组合的联合主键
##方式一 主键声明
create table `students`(`stu_num` char(8) primary key, ##主键约束`stu_tel` char(11) unique );
##方法二 主键声明
create table `students`(`stu_num` char(8), `stu_tel` char(11) unique,primary key(`stu_num`); ##主键约束);
##方式三 在已有的数据表中增加主键约束
alter table students add primary key(stu_num);
删除主键约束
alter table students drop primary key;
2.5 自增长主键
自增长主键设置以后,新增数据时,主键数据自动增长填充,无需提供数据。
create table `students`(`stu_id` int primary key auto_increment,`stu_num` char(8), `stu_tel` char(11) unique;);
注意:
自增长主键的字段类型需要时int类型
自增长主键从1开始,每增加一天数据,主键+1;如果中间有行数据被删除,自增长主键只会继续新增,不会重复新增,也就是生成过的主键值,即使删除了,也不会重复生成。
(自增长主键只保证唯一性,不保证连续性)
2.6 联合主键
联合主键:将数据表中的多列组合在一起设置为的主键
create table `students`(`stu_num` char(8), `stu_tel` char(11) unique,primary key(`stu_num`,`stu_tel`); ##联合主键);
实际业务开发中,联合主键的使用并不多,如果数据表中没有明确的主键值,可以额外增加一个ID字段作为主键。
3.DDL 数据定义语言
3.1 对库的操作:
对数据库的增删改查操作
创建数据库
create database 库名;
create database db_test;## 优化:创建数据库,增加判断数据库是否存在 is not exists
create database if not exists db_test;## 优化:增加数据库字符集设置
create database if not exists ba_test character set utf8;
查询数据库
查询所有数据库
show databases;
# #查询全部数据库
show databases;## 查询指定数据库的创建SQL指令
show create database db_test;
修改数据库
修改数据库字符集
alter database 库名 character set 字符编码集;
alter database db_test character set gbk;##查询字符集修改是否成功
show create database db_test;
删除数据库
删除数据库,同时对数据库中的表,数据同步删除
drop database 库名;
drop database db_test;## 优化:判断是否存在数据库,再进行删除
drop database if exists db_test;
3.2 对表的操作
创建数据库表
使用create table 表名(字段名 字段类型(长度),是否为空,是否唯一);
create table `students`(`stu_num` char(8) not null unique,`stu_name` varchar(20) not null,`stu_denger` char(2) not null,`stu_age` int not null,`stu_tel` char(11) not null unique,`stu_qq` varchar(11) unique);
查询数据库表
查询数据库向下所有的表
show tables;
show tables;
查询表结构
desc 表名;
desc students;
删除数据表
drop table students;
## 增加判断,存在再删除
drop table if exists students;
修改数据表
修改表名 alter table 表名 rename to 新表名;
alter table students rename to stud;
修改数据库表字符集 表字符集默认与数据库字符集一致
alter table 表名 character set 字符集编码
alter table students character set gbk;
新增表字段
alter table 表名 add 新增字段名(字段长度);
alter table students add stu_remark varchar(200);
修改表的字段名和字段类型
alter table
change
;
alter table students change stu_remark stu_desc text;
修改字段类型
alter table
modify
;
删除表字段
alter table
drop
;
alter table students drop stu_desc;
4.DML 数据操纵语言
4.1 增 insert
用于完成对数据表中数据的操作
insert into (columnName1,columnName2…) values(value1,value2…);
INSERT into students(stu_num,stu_name,stu_denger,stu_age,stu_tel,stu_qq) values(`1`,`小明`,`男`,`18`,`13600000002`,`578767873`);
4.2 删 delete
删除数据表中符合条件的数据
delete from where conditions;
DELETE from students where stu_num = 2;
注意:
- delete 语句是删除数据库表中的数据,如果不加where条件,将会删除整表数据,但表依然存在,表结构依然存在。
- drop table 是从数据库删除数据表,表结构删除,数据库中不在存此数据表。
- drop database 是直接删除此数据库。
4.3 改 update
对数据库表中已存在的数据进行修改操作
update set columnName = value where conditions;
UPDATE students SET stu_name = "蔡文姬" WHERE stu_num = 1;
注意:update操作,一定要注意where条件的设定,如果不加where条件,将进行全表修改。
5.DQL数据查询语言
从数据库表中提取满足条件的记录
- 单表查询
- 多表联合查询
5.1 基础查询 select
SELECT stu_name from ; #查询展示指定列信息
SELECT * from ; ##全表查询
SELECT * from where conditions; ##条件查询
SELECT stu_name from students; #查询展示学生姓名列信息
SELECT * from students;##全表查询
SELECT * from students where stu_num = 1;##条件查询,查询学号为1的学生信息
5.2 where 子句
用where子句,加上查询条件,筛选所需要的数据;
5.2.1条件关系运算符
## 等于 =
select * from students where stu_num = 1;## 不等于 != <>
select * from students where stu_num != 1;
select * from students where stu_num <> 1;## 大于 >
select * from students where stu_age > 18;## 小于 <
select * from students where stu_age < 18;## 大于等于 >=
select * from students where stu_age >= 18;## 小于等于 <=
select * from students where stu_age <= 18;## 区间查询 between...and
select * from students where stu_age between 16 and 20;
5.2.2条件逻辑运算符
在where子句中,可以将多个条件通过逻辑运算(and or not)进行连接,通过多条件筛选需要的数据。
## and并且 多条件联合查询,同时满足的结果
select * from students where stu_denger = `男` and stu_age > 18;## or 或者 多条件联合查询,至少满足其中一个条件的结果
select * from students where stu_denger = `女` or stu_age > 18;## not 取反
select * from students where stu_age not between 16 and 20;##年龄不在16~20之间的数据
5.2.3 LIKE 模糊查询
通过like关键字来实现模糊查询
select * from where columnName like ‘reg’;
- 在like关键字后面的 reg表达式中
- %,表示任意多个字符,
- %a% 表示字段里面包含a的所有字段;
- a% 表示第一个字母为a的字段;
- %a 表示最后一个字母为a的字段;
- _ ,表示任意一个字符,**_a%**表示第二个字母为a的所有字段;
## 查询学生手机号码中包含8的数据 %8%
select * from students where stu_tel like `%8%;## 查询学生手机号码中136开头的数据 136%
select * from students where stu_tel like `136%`;## 查询学生手机号码中尾号是9的数据 %9
select * from students where stu_tel like `%9`;## 查询学生手机号码中第二位是3的数据 _3%
select * from students where stu_tel like `_3%`;
5.3 查询结果处理
5.3.1 计算列
对查询结果进行一定运算后展示
## 通过年龄,计算出生年份 (2024 - stu_age)
SELECT stu_name, (2024 - stu_age) as birthYear from students WHERE stu_num = 1;
5.3.2 字段别名
对查询字段进行别名展示,在查询字段用as 关键字取别名
SELECT stu_name as 学生姓名, (2024 - stu_age) as 学生出生年份 from students WHERE stu_num = 1;
5.3.3 去重
查询结果去重 distinct
## 查询表中年龄,并去重
SELECT DISTINCT stu_age from students ;
5.4 order by 排序
将查询的满足条件的记录,进行升序或降序的排列展示,
关键字 order by排序,
asc-升序(默认);
desc-降序
单字段排序
##年龄大于10岁的学生,按年龄由小到大的升序方式展示
SELECT * from students where stu_age >10 ORDER BY stu_age;##年龄大于10岁的学生,按年龄由大到小的降序方式展示
SELECT * from students where stu_age >10 ORDER BY stu_age desc;
多字段排序
## 多字段排序,先按性别降序排序,再按年龄升序排序
SELECT * from students where stu_age >10 ORDER BY stu_denger DESC,stu_age ASC ;
5.5 聚合函数
SQL中提供了一些可以对查询记录进行计算的函数,统称聚合函数
- count()
- max()
- min()
- sum()
- avg()
- count() 统计函数,统计满足条件的指定字段值的个数
## 统计表中,数据总条数
SELECT COUNT(*) from students;## 统计表中,学号的总个数
SELECT COUNT(stu_num) from students;## 统计表中,男生的学号总个数
SELECT COUNT(stu_num) from students where stu_denger = '男';
- max() 展示查询数据的指定列的最大值
## 学生表中,最大年龄值
SELECT MAX(stu_age) from students;
- min() 展示查询数据的指定列的最小值
## 学生表中,最小年龄值
SELECT MIN(stu_age) from students;
- sum() 求和,满足查询条件的值的指定列的和
## 全部学生年龄的总和
SELECT sum(stu_age) from students;
- avg() 计算平均值,满足查询条件的值的指定列的平均值
## 全部学生年龄的平均值
SELECT avg(stu_age) from students;
5.6分组查询
将数据表中的数据按照分类进行分组查询
select 分组字段/聚合函数 from 表名 where 条件 group by 分组列名 having 条件
## 查询全部数据,以学生年龄分组
SELECT stu_name,stu_age FROM students GROUP BY stu_age;## 使用聚合函数count(),查询男女性别的各自总人数
SELECT stu_denger,COUNT(stu_denger) from students GROUP BY stu_denger;## 使用聚合函数avg(),查询男女生的平均年龄
SELECT stu_denger,AVG(stu_age) from students GROUP BY stu_denger;## 使用聚合函数,加having条件,查询性别男的,按年龄分组后,年龄大于18岁以上的人数,再按年龄升序排序展示
SELECT stu_age,COUNT(stu_num) from students where stu_denger = '男' GROUP BY stu_age HAVING stu_age > 18 ORDER BY stu_age;
分组查询执行顺序:
- 先执行where语句,按条件对数据表进行查询
- 再执行group,对按条件查询出来的数据进行分组
- 再执行having,对以上分组后的数据,进行条件查询
- 最后执行order by ,对以上结果进行排序
5.7 分页查询 limit
select ...
from ...
where ...
limit param1,param2
- param1 int :表示获取查询语句的结果中的第一条数据的索引(索引从0开始)
- param2 int : 表示获取查询记录的条数(如果剩下的数据条数<param2,则返回剩下的所有条数)
对学生表进行数据查询,总共8条数据,每页展示三条,一共三页
总记录数: count 8
每页显示书:pagesize 3
总页数:pageCount = count%pagesize ? count%pagesize : count%pagesize + 1
##分页查询,第一页
SELECT * from students LIMIT 0,3; (1-1)*3 (当前页码-1)*每页查询条数##分页查询,第二页
SELECT * from students LIMIT 3,3; (2-1)*3##分页查询,第三页
SELECT * from students LIMIT 6,3; (3-1)*3# 如果在一张数据表中:
# pageNum表示查询的页码
# pageSize表示每页查询的条数
# 通用非也语句如下:
select * from <tableName> where conditions limit (pageNum-1)*pageSize , pageSize;
三、数据表的关联关系
1.关联关系介绍
MySQL是关系型数据库,不仅可以存储数据,还可以维护数据与数据之间的关联关系,通过在数据表中添加字段来建立外键约束
数据与数据之间的关联关系分为四种:
- 一对一
- 一对多
- 多对一
- 多对多
2.外键约束
外键约束—将一个表添加外键约束,与另一张表的主键关联,这个外键约束列的数据,必须在关联的主键字段中存在
案例
新建班级表
CREATE TABLE `class` (`class_id` int NOT NULL,`class_name` varchar(255) NOT NULL,`class_remark` varchar(255) DEFAULT NULL,PRIMARY KEY (`class_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
新建学生表(在学生表中添加外键,与班级表的class_id主键关联)
CONSTRAINT FK_STUDENT_CLASS FOREIGN KEY (cid) REFERENCES class (class_id)
CREATE TABLE `students` (`stu_num` char(8) primary key,`stu_name` varchar(20) NOT NULL,`stu_denger` char(2) NOT NULL,`stu_age` int NOT NULL,`stu_tel` char(11) NOT NULL,`stu_qq` varchar(11) DEFAULT NULL,`cid` int DEFAULT NULL,CONSTRAINT FK_STUDENT_CLASS FOREIGN KEY (cid) REFERENCES class (class_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
3.外键约束-级联
主外键关联关系,在设置外键时,需要添加
级联修改(ON UPDATE CASCADE )
级联删除(ON DELETE CASCADE),
保证数据完整性和一致性
## 删除原有外键
alter table students drop foreign key FK_STUDENTS_CLASS##重新设置外键,添加级联修改和级联删除
alter table students add constraint FKSTUDENTS_CLASS foreign key(cid) references class (class_id) ON UPDATE CASCADE ON DELETE CASCADE;
按以上外键设置,增加级联修改和级联删除设置,class表中的class_id 如果修改/删除,students表中的外键cid会自动同步修改/删除。
相关文章:
SQL基础语法介绍-基于MySQL
文章目录 一、SQL分类二、SQL语法1.数据库字段类型1.1.数值类型1.2 字符类型1.3 日期类型 2.字段约束2.1约束介绍2.2 非空约束(not null)2.3 唯一约束(unique)2.4 主键约束(primary key)2.5 自增长主键2.6 …...
android 性能分析工具(03)Android Studio Profiler及常见性能图表解读
说明:主要解读Android Studio Profiler 和 常见性能图表。 Android Studio的Profiler工具是一套功能强大的性能分析工具集,它可以帮助开发者实时监控和分析应用的性能,包括CPU使用率、内存使用、网络活动和能耗等多个方面。以下是对Android …...
【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制
高级定时器PWM互补输出带死区控制 前言:实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。 定时器 1 通道 1 及其互补通道输出 PWM,且带死区控。当定时器 1 的刹车输入引脚被拉…...
深入探索Golang的GMP调度机制:源码解析与实现原理
在Golang(又称Go语言)的并发编程模型中,GMP调度模型扮演着举足轻重的角色。GMP分别代表Goroutine(协程)、M(Machine,即内核线程)和P(Processor,即逻辑处理器&…...
Django如何配置多个环境的MySQL数据库
在 Django 项目中配置多个环境的 MySQL 数据库是一个常见的需求,特别是在开发、测试和生产环境中使用不同的数据库配置。你可以通过在 settings.py 文件中使用条件语句或环境变量来实现这一点。 1. 使用环境变量 使用环境变量是一种灵活且安全的方式来配置多个环境…...
数据结构(链栈——c语言实现)
链式栈(Linked Stack)是一种基于链表数据结构实现的栈。它利用链表节点的指针来存储元素,并通过指针的链接关系来维护栈的后进先出(LIFO, Last In First Out)特性。 链式栈的优点 动态大小: 链式栈…...
FPGA实现串口升级及MultiBoot(九)BPI FLASH相关实例演示
本文目录索引 区别一:启动流程的区别区别二:高位地址处理区别三:地址映射例程说明总结例程地址之前一直都是以SPI FLASH为例进行相关知识讲解,今天我们介绍另一款常用的配置FLASH-BPI FLASH。 今天的讲解以简洁为主,主打个能用一句话不说两句话。以和SPI区别为主,实例演…...
Android 网络通信(三)OkHttp实现登入
学习笔记 目录 一. 先写XML布局 二、创建 LoginResponse 类 :封装响应数据 目的和作用: 三、创建 MyOkHttp 类 :发送异步请求 代码分析 可能改进的地方 总结 四、LoginActivity 类中实现登录功能 详细分析与注释: 总结: 改进建议: 零、响应数据样例 通过 P…...
java基础概念37:正则表达式2-爬虫
一、定义 【回顾】正则表达式的作用 作用一:校验字符串是否满足规则作用二:在一段文本中查找满足要求的内容——爬虫 二、本地爬虫VS网络爬虫 2-1、本地爬虫 示例: 代码优化: public static void main(String[] args) {// 大…...
【大数据学习 | Spark-Core】RDD的概念与Spark任务的执行流程
1. RDD的设计背景 在实际应用中,存在许多迭代式计算,这些应用场景的共同之处是,不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入。但是,目前的MapReduce框架都是把中间结果写入到HDFS中&…...
day06(单片机高级)PCB设计
目录 PCB设计 PCB设计流程 元器件符号设计 原理图设计 元器件封装设计 元器件库使用 PCB设计 目的:学习从画原理图到PCB设计的整个流程 PCB设计流程 元器件符号设计 元器件符号:这是电子元器件的图形表示,用于在原理图中表示特定的元器件。例…...
[Redis#2] 定义 | 使用场景 | 安装教程 | 快!
目录 1. 定义 In-memory data structures 在内存中存储数据 2. 优点!快 Programmability 可编程性 Extensibility 扩展性 Persistence 持久化 Clustering 分布式集群 High availability 高可用性 ⭕快速访问的实现 3. 使用场景 1.Real-time data store …...
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案 简介: docker pull命令拉取镜像失败的解决方案 docker pull命令拉取镜像失败的解决方案 一、执行docker pull命令,拉取镜像失败 报错信息:error pulling image configuration: Get https://produc…...
漫步北京小程序构建智慧出行,打造旅游新业态模式
近年来,北京市气象服务中心持续加强推进旅游气象服务,将旅游气象监测预警基础设施纳入景区配套工程,提升气象和旅游融合发展水平,服务建设高品质智慧旅游强市。 天气条件往往影响着旅游景观的体验,北京万云科技有限公…...
DNS域名解析服务器
一、dns简介及域名 DNS(Domain Name System) : 作为将域名和IP地址相互映射的一个分布式数据库,能便捷互联网的访问。使用53端口,通常以UDP较快的数据传输协议来查询,如果没有查询到,将再次启动TCP重新查询,两者同时启…...
MySQL数据存储详解
1. MySQL 的数据存放位置 当我们在 MySQL 数据库中创建一个表时,MySQL 会在数据库对应的文件夹下生成三个文件: 1.1 db.opt 文件 是什么: 每个数据库都有一个 db.opt 文件,这个文件保存了数据库的配置信息。作用: 记…...
Maven maven项目构建的生命周期 Maven安装配置 IDEA 配置 Maven
一,Maven的概述 Maven的作用:专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构提供了一套标准化的构建流程(编译,测试,打包,发布……)提…...
和为 K 的子数组(java)
题目描述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入…...
关于Redux的学习(包括Redux-toolkit中间件)
目录 什么是 Redux ? 我为什么要用 Redux ? 我什么时候应该用 Redux ? Redux 库和工具 React-Redux Redux Toolkit Redux DevTools 拓展 一个redux小示例 代码示例(很有用): Redux 术语 Actions Reducers Store Dis…...
MIT 6.S081 | 操作系统 | Lab1: Xv6 and Unix utilities
Lab1: Xv6 and Unix utilities 文章目录 Lab1: Xv6 and Unix utilities实验任务1.启动XV6(easy)2.Sleep(easy)-练手的,就是熟悉一下怎么在xv6项目中加.c文件,生成可执行程序并进行测试的1.解析rm.c2.argc 如何被赋值3.Sleep代码4.makefile编辑5.通过make…...
04 - 尚硅谷 - MQTT 客户端编程
1.在Java中使用MQTT 1.1 Eclipse Paho Java Client 具体步骤: 1、创建一个Spring Boot项目,添加如下依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>…...
C语言基础学习:抽象数据类型(ADT)
基础概念 抽象数据类型(ADT)是一种数据类型,它定义了一组数据以及可以在这组数据上执行的操作,但隐藏了数据的具体存储方式和实现细节。在C语言中,抽象数据类型(ADT)是一种非常重要的概念&…...
蓝桥杯每日真题 - 第16天
题目:(卡牌) 题目描述(13届 C&C B组C题) 解题思路: 题目分析: 有 n 种卡牌,每种卡牌的现有数量为 a[i],所需的最大数量为 b[i],还有 m 张空白卡牌。 每…...
【Docker】快速部署 Pikachu:一个包含常见 Web 安全漏洞的渗透测试练习靶场
系统介绍 Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。 Pikachu上的漏洞类型列表如下: Burt Force(暴力破解漏洞) XSS…...
【解决】Unity TMPro字体中文显示错误/不全问题
问题描述:字体变成方块 原因:字体资源所承载的长度有限 1.找一个中文字体放入Assets中 2.选中字体创建为TMPro 字体资源 3.选中创建好的字体资源(蓝色的大F) 在右边的属性中找到Atlas Width h和 Atlas Heigth,修改的大一点&…...
速通前端篇 —— CSS
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:速通前端 目录 CSS的介绍 基本语法规范 CSS选择器 标签选择器 class选择器 id选择器 复合选择器 通配符选择器 CSS常见样式 颜…...
【案例】泛微.齐业成助力北京中远大昌汽车实现数电票全流程管理
中远大昌统一发票共享平台上线三个多月以来,实现: 5000份 60000元 发票开具 成本节约 客户简介及需求分析 北京中远大昌汽车服务有限公司(以下简称“中远大昌”)成立于2002年,是中远海运集团所属香远(北…...
Windows系统运行库软件游戏修复工具
本页面下载的资源包包括PC电脑常用的运行库和电脑必备组件,如您的电脑出现应用打不开,缺少dll链接库、闪退等现象可以尝试用下面软件修复。 本资源永久有效。 软件安装基本常识科普: 为什么要安装运行库?运行库默认安装到C盘&…...
解决.DS_Store 在项目一致无法排除,.gitignore里也不生效
.DS_Store 是 macOS 操作系统创建的隐藏文件,通常用于存储目录的属性,比如视图设置、图标位置等。它通常不应包含在代码仓库中,因此需要排除它。你提到即使将其添加到 .gitignore 文件中,仍然无法排除它,可能是由于以下…...
C#里怎么样判断文件是否存在?
C#里怎么样判断文件是否存在? 判断文件是否存在,也是一个常用的功能。 因为文件如果不存,直接去操作,就会抛出异常。 比如要拷贝一个文件到另外一个目录里,如果文件已经存在那个文件夹里,也会抛出异常。 所以提前判断,就可以减少很多不必要的异常抛出,同时程序写得更加…...
汽车免拆诊断案例 | 2012款路虎揽胜运动版柴油车加速无力
故障现象 一辆2012款路虎揽胜运动版车,搭载3.0T柴油发动机(型号为306DT),累计行驶里程约为10.2万km。车主进厂反映,车辆行驶中加速无力,且发动机故障灯异常点亮。 故障诊断 接车后试车,发动…...
JAVA基础
JAVA基础 JAVA的变量 变量是什么 内存中存储的,数值可以改变的数据 定义变量 语法 数据类型 变量名 值; 变量的命名: 必须由字母、数字、下划线和$组成;开头不能是数字规范的命名是小驼峰命令:studentName要做…...
ssh无法连接Ubuntu
试了多次ssh都无法连接,明明可以上网 网卡、防火墙、端口都没有问题,就是连接不上 结果是这个版本Ubuntu镜像默认没有安装ssh服务 安装SSH服务:apt-get install openssh-server 开启SSH服务:/etc/init.d/ssh start 就可以连接…...
spi 回环
///tx 极性0 (sclk信号线空闲时为低电平) /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …...
MongoDB 更新集合名
MongoDB 更新集合名 MongoDB 是一个流行的 NoSQL 数据库,它使用集合(collections)来存储文档(documents)。集合在 MongoDB 中相当于关系型数据库中的表。在 MongoDB 中,集合名是可以在某些情况下进行更新的…...
常见面试题----深入源码理解MQ长轮询优化机制
引言 在分布式系统中,消息队列(Message Queue, MQ)扮演着至关重要的角色。MQ不仅实现了应用间的解耦,还提供了异步消息处理、流量削峰等功能。而在MQ的众多特性中,长轮询(Long Polling)机制因其…...
Firewall防火墙配置
文章目录 一、firewalld简介二、firewalld特性三、firewalld相关文件及目录四、firewalld配置五、firewalld配置实例一、firewalld简介 firewalld 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 ipv4, ipv6 防火墙设置以及以太网…...
我做了一份斯坦福CS229吴恩达机器学习笔记
吴恩达教授的机器学习课程,可以说是AI领域的一块金字招牌。这门在斯坦福大学开设的课程,历经十余年,依旧是机器学习入门的经典之作。 记得当年,这门课火爆到吴恩达教授不得不将其搬到线上,结果不仅在斯坦福,…...
TESSY单元测试工具详解与操作演示:ISO 26262合规性、自定义测试用例、详细测试报告等
在嵌入式系统开发中,安全性和可靠性至关重要,尤其是在汽车、医疗和工业控制等高风险行业。为了确保代码在实际运行中满足安全标准,开发者需要一套完善全面的测试工具,来严格检测代码的安全性和可靠性。 TESSY作为一款已获得IEC 61…...
C++语言之函数对象与算法
在 C 中,函数对象(Function Object)也叫仿函数(Functor),是一个类,这个类重载了()运算符。从概念上讲,它的行为类似于一个函数,可以像调用函数一样来调用这个类的对象。 …...
Fakelocation Server服务器/专业版 Windows11
前言:需要Windows11系统 Fakelocation开源文件系统需求 Windows11 | Fakelocation | 任务一 打开 PowerShell(以管理员身份)命令安装 Chocolatey Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProto…...
java使用itext生成pdf
一、利用Adobe Acrobat DC软件创建pdf模板 备好Adobe Acrobat DC软件 1.excel/jpg/png文件转pdf文件 右击打开我们要转换的文件 2.然后点击 添加 域 3.可以看到域的名字 4.调整字体大小/对齐方式等 5.保存 二,代码部分 首先 上依赖 <dependency><group…...
【PPTist】添加PPT模版
前言:这篇文章来探索一下如何应用其他的PPT模版,给一个下拉菜单,列出几个项目中内置的模版 PPT模版数据 (一)增加菜单项 首先在下面这个菜单中增加一个“切换模版”的菜单项,点击之后在弹出框中显示所有的…...
AmazonS3集成minio实现https访问
最近系统全面升级到https,之前AmazonS3大文件分片上传直接使用http://ip:9000访问minio的方式已然行不通,https服务器访问http资源会报Mixed Content混合内容错误。 一般有两种解决方案,一是升级minio服务,配置ssl证书,…...
适配屏幕px、rem单位换算, 将 pxToRem 函数设置为一个全局工具如:在 utils.js 文件、SCSS/Mixin 定义
页面的宽度适配: 假设页面的根元素(html)的字体大小设置为动态值(常用 rem 单位适配时的做法), 比如 html { font-size: (屏幕宽度 / 设计稿宽度) }。如果根元素的字体大小为 1rem 屏幕宽度 / 1920px&…...
H.265流媒体播放器EasyPlayer.js播放器提示MSE不支持H.265解码可能的原因
随着人工智能和机器学习技术的应用,流媒体播放器将变得更加智能,能够根据用户行为和偏好提供个性化的内容推荐。总体而言,流媒体播放器的未来发展将更加注重技术创新和用户互动,以适应不断变化的市场需求和技术进步。 提示MSE不支…...
医学图像语义分割:前列腺肿瘤、颅脑肿瘤、腹部多脏器 MRI、肝脏 CT、3D肝脏、心室
医学图像语义分割:前列腺肿瘤、颅脑肿瘤、腹部多脏器 MRI、肝脏 CT、3D肝脏、心室 语义分割网络FCN:通过将全连接层替换为卷积层并使用反卷积上采样,实现了第一个端到端的像素级分割网络U-Net:采用对称的U形编解码器结构ÿ…...
16. 指针类型和步长概念问题
1. 项目场景: ➣ Jack Qiao对米粒说:“今天有道友遇到一个问题,举个栗子数组 arr[5] { 0 };道友发现&arr[0] 1与&arr 1打印出来的地址竟然不同。”米粒测试后果然是这样。 2. 问题描述 ☑ 举个栗子:数组 arr[5] { 0…...
【电路笔记】-布尔逻辑AND函数
逻辑AND函数 文章目录 逻辑AND函数1、概述2、逻辑 AND 函数 仅当所有输入均为 true 时,逻辑与函数输出才为 true,否则输出为 false。 1、概述 布尔代数基于逻辑函数,其中每个布尔函数(例如逻辑 AND 函数)通常具有一个…...
数据结构C语言描述3(图文结合)--双链表、循环链表、约瑟夫环问题
前言 这个专栏将会用纯C实现常用的数据结构和简单的算法;有C基础即可跟着学习,代码均可运行;准备考研的也可跟着写,个人感觉,如果时间充裕,手写一遍比看书、刷题管用很多,这也是本人采用纯C语言…...