mysql相关知识(详细)
一、什么是数据库?
概念:数据库(Database,简称DB),长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"。作用:存放管理数据分类:关系型数据库、NoSQL数据库
二、为什么学习MySQL?
特点:操作便捷小巧、功能齐全免费,开源的数据库可运行windows或linux系统
三、DDL建库建表
1.数据库结构
数据库结构分为数据库、数据表、字段、索引、记录、SQL语句。
2.SQL语句的分类
SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一 种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库 脚本文件的扩展名。
SQL语句的分类
名词 解释 命令
DDL(数据定义语言) 定义和管理数据对象, 如数据库,数据表等 CREATE、DROP、ALTER
DML(数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE
DQL(数据查询语言) 用于查询数据库数据 SELECT
DCL(数据控制语言) 用来管理数据库的语言,包括管理权 限及数据更改 GRANT、COMMIT、ROLLBACK
3.DDL语句操作数据库
---- 创建数据库
CREATE DATABASE dbname;
— 删除数据库
DROP DATABASE dbname;
— 查看数据库
SHOW DATABASES;
— 选择数据库
USE dbname;
4.DDL创建数据库表
-- 创建表
-- create table 表名(
-- 字段名 类型 属性,
-- 字段名 类型 属性,
-- ...
-- 字段名 类型 属性 #最后一个不带“,”-- );create table student (stu_name varchar(10),stu_age tinyint,stu_birthday datetime,stu_id char(18),stu_score decimal(4,1)
);
4.1 数据库表中的字段类型
(1) 字符串类型
(2) 数值类型
注意:1.Decimal适用于精细准确的场景(钱);m指字节长度,d指小数位数。最多存储999.9个字节!2.设置当前 创建时间,或者是更新时间时给TIMESTAMP或者DATETIME字段 设置 DEFAULT CURRENT_TIMESTAMP 添加当前默认时间
(3) Null类型 !!!
理解为“没有值”或“未知值”;不要用NULL进行算术运算,结果仍为NULL;MySQL中,0或NULL都意味着为假,1为真
4.2 数据库表中的字段注释
5.DDL查看数据库表结构
方式一:desc 表名 或 desccrible 表名方式二:show create table 表名-- 方式1
-- desc 表名
desc student;
-- 方式2
-- show create table 表名;
show create table student;
6.DDL修改和删除数据库表
-- 表结构的修改
-- alter table 表名 关键词 数据
-- 关键词:rename as add drop modify change
-- 1.修改表名
-- alter table 旧表名 rename as 新表名;
alter table student rename as xuesheng;-- 2.添加字段
-- 字符串表示 'XXX' "XXX"
-- comment 添加声明
-- alter table 表名 add 新的字段名 类型 属性;
alter table xuesheng add stu_qq varchar(20) comment '这是学生的QQ号'desc xuesheng; -- 查表
show create table xuesheng;
-- 3. 删除字段(危险操作)
-- alter table 表名 drop 字段名;
alter table xuesheng drop stu_age;CREATE TABLE `xuesheng` (`stu_name` varchar(10) DEFAULT NULL,`stu_birthday` datetime DEFAULT NULL,`stu_id` char(18) DEFAULT NULL,`stu_score` decimal(4,1) DEFAULT NULL,`stu_qq` varchar(20) DEFAULT NULL COMMENT '这是学生的QQ号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci-- 4.修改字段
-- 覆盖式修改,1.有一定的默认值 2.如果已经存在具体的数据--数据是可以做隐式转化的,不存在字符全是字符串
-- 方式1 modify
-- alter table 表名 modify 字段名 要修改的类型 要修改的属性
alter table xuesheng modify stu_name varchar(100);xuesheng CREATE TABLE `xuesheng` (`stu_name` varchar(100) DEFAULT NULL,`stu_birthday` datetime DEFAULT NULL,`stu_id` char(18) DEFAULT NULL,`stu_score` decimal(4,1) DEFAULT NULL,`stu_qq` varchar(20) DEFAULT NULL COMMENT '这是学生的QQ号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci-- 方式2 change
-- 数据类型和属性 还可以修改字段名
-- alter table 表名 change 旧字段名 新字段名 要修改的类型 要修改的属性;
alter table xuesheng change stu_qq qq varchar(20) COMMENT '这是学生的QQ号';xuesheng CREATE TABLE `xuesheng` (`stu_name` varchar(100) DEFAULT NULL,`stu_birthday` datetime DEFAULT NULL,`stu_id` char(18) DEFAULT NULL,`stu_score` decimal(4,1) DEFAULT NULL,`qq` varchar(20) DEFAULT NULL COMMENT '这是学生的QQ号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci-- 5.删除表(危险操作)
-- drop table 表名
drop table xuesheng;
7.数据库存储引擎
7.1 数据库存储引擎-InnoDB
(1) MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。
(2) InnoDB是MysQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交 (Commit)和回滚(Rollback)。
(3) 除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。
(4) 除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。
(5) 数据文件结构:
• 表名.frm存储表结构(MySQL8.0时,合并在表名.ibd中)。• 表名.ibd存储数据和索引
(6) InnoDB是为处理巨大数据量的最大性能设计。
• 在以前的版本中,字典数据以元数据文件、非事务表等来存储。现在这些元数据文件被删除了。比 如: .frm,.par , .trn ,.isl, .db.opt等都在MySQL8.0中不存在了。
(7) 对比MylISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保存数据和索引。
(8) MyISAM只缓存索引,不缓存真实数据;InnoDB不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性 能有决定性的影响
7.2 数据库存储引擎-MyISAM
(1) MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务、行级锁、外 键,有一个毫无疑问的缺陷就是崩溃后无法安全恢复。
(2) 5.5之前默认的存储引擎
(3) 优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用
(4) 针对数据统计有额外的常数存储。故而count(*)的查询效率很高
(5) 数据文件结构:
• 表名.frm存储表结构。• 表名.MYD存储数据(MYData)。• 表名.M数据库存储引擎-MyISAM 和InnoDB区别 YI存储索引 (MYIndex)
(6) 应用场景:只读应用或者以读为主的业务
7.3 数据库存储引擎-MyISAM 和InnoDB区别
对比项 MyISAM InnoDB
外键 不支持 支持
事务 不支持 支持
行表锁 表锁,即使操作一条记录也会锁住整 个表,不适合高并发操作 行锁,操作时只锁某一行,不对其它行有 影响,适合高并发操作
缓存 只缓存索引,不缓存真实数据 不仅缓存索引还要缓存真实数据,对内存 要求较高,而且内存大小对性能有决定性 的影响
默认安装 Y Y
默认使用 N Y
关注点 性能:节省资源、消耗少、简单业务 事务:并发写,事务、更大资源
8.三大范式
8.1 什么是范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。 在关系型数据库中这种规则就叫做范式。
8.2 约束作用
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结 构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。
8.3 三范式
第一范式:确保每列保持原子性
第二范式:确保表中的每列都和主键相关
第三范式:确保每列都和主键列直接相关,而不是间接相关
8.4 三大范式详解
第一范式(1NF)确保每列保持原子性。
每一列属性都是不可再分的属性值,确保每一列的原子性两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据原子性能拆就违反了第一范式。比如地址没有分省市县镇。邮箱后缀名有很多...
第二范式(2NF)属性完全依赖于主键
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的。即满足第二范式必须先满足第一范式。
第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表 加上一个列,以存储各个实例的惟一标识。这个唯一属性列被称为主键。
第三范式(3NF)属性不依赖于其它非主属性 属性直接依赖于主键
数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。
像:a–>b–>c 属性之间含有这样的关系,是不符合第三范式的。
比如Student表(学号,姓名,年龄,性别,所在院校,院校地址,院校电话) 这样一个表结构,就存在上述关系。 学号–> 所在院校 --> (院校地址,院校电话) 这样的表结构,我们应该拆开来,如下。
(学号,姓名,年龄,性别,所在院校)–(所在院校,院校地址,院校电话)
总结:三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。 如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结 构。所以不能一味的去追求范式建立数据库。
9. 约束
9.1 什么是约束
约束实际上就是表中数据的限制条件
9.2 约束作用
表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效
9.3 约束种类
非空约束(not null)唯一性约束(unique)主键约束(primary key)PK 外键约束(foreign key)FK 检查约束(目前MySQL不支持、Oracle支持
9.4 约束的添加
添加非空约束alter table 表名 modify test_student char(10) not null;添加唯一约束alter table 表名 add unique(表字段名,字段,字段,字段);添加主键约束alter table 表名 add primary key(表的字段名,字段,字段);添加外键约束alter table 表名 add constraint N1 foreign key (表字段名) references 父表(父表字段名);
9.5 约束删除
删除not null约束alter table 表名 modify 列名 类型;删除unique约束alter table 表名 drop index 唯一约束名;删除primary key约束alter table 表名 drop primary key;删除foreign key约束alter table 表名 drop foreign key 外键名;#约束-- 非空约束
create table tb1(username varchar(10),userage int
);
show create table tb1;create table tb2(username varchar(10) not null, -- 非空约束userage int DEFAULT NULL
);create table tb3(username varchar(10) not null default '无名', -- 非空约束userage int
);-- 唯一约束
-- 唯一约束可以为NULL,并且可以有多个null。因为null是一个类型
-- 方法1:行级约束
create table tb4(username varchar(10) unique, -- 唯一约束 行级约束userage int
);create table tb6(username varchar(10) unique, -- 唯一约束 行级约束userage int unique -- 每个字段都是各自的唯一约束
);
– 方法2:联合约束
– 字段是有关联的,只有两个字段的值一模一样时(同时满足),才存不进去
create table tb5(
username varchar(10),
userage int,
unique(username,userage) – 联合唯一约束
);
-- 给约束起名字
create table tb7(username varchar(10),userage int,CONSTRAINT name_age_unique unique(username,userage)
);
– 主键约束
– 每张表必须有且只有一个主键
– 主键的值是唯一的
– 主键是不能为NULL的
create table tb8(
username varchar(10) primary key,
userage int
);
create table tb9(
username varchar(10),
userage int,
primary key(username,userage) – 联合主键,联合约束
);
-- 一般逐渐建立方式
-- int bitint 自增
-- 主键的值不会回补的
create table tb10(tid int primary key auto_increment,username varchar(10),userage int
);
– 外键约束
– 外键的值可以重复
– 外键得值可以为NULL
– 外键必须要写父表中的有的数据
– 父表的关联字段必须是一个具有唯一性的数据
– 父表的字段名和从表中的字段名不要一定相同,但是数据类型必须是一致的
– 一个表中可以有多个外键,也可以有多个外键约束,但是只能有一个主键
– 使用外键关系,不去建立外键约束
create table a( – 主表
aid int primary key auto_increment,
aname varchar(10)
);drop table b;
create table b( -- 从表bid int primary key auto_increment,bname varchar(10),aid int, -- aid就是表b的外键FOREIGN key(aid) REFERENCES a(aid)
);
面试常问?
1.char() 和 varchar()区别?
答:
(1) char(字符串长度) ==== > 固定长度字符串varchar(字符串长度) ==== > 可变长度字符串(2)字符串长度是最大长度,超过最大长度谁都存不下。(3)varchar()不浪费空间,效率低。适用于非char情况 ==》 存名字char()浪费存储空间,效率高,适用于存储不大,速度要求要高。==》存电话、身份证号码
另外:varchar(50)中的50指字符串最大长度
2. MySQL中InnoDB与MyISAM的区别是什么?
答:
(1)InnoDB支持事务处理、外键、行级锁;擅长增删改查,适用于高并发以及事务处理的场景。(2)MyISAM不支持事务处理、外键、行级锁。擅长读取,一旦崩坏将无法复原。优点是存的快,查的也快;节省资源,消耗少。适用于查询密集型的场景。
3.MySQL中nt(1)与int(1)的区别?int(1)中的1 代表的涵义?
答:在 MySQL 中,int(1)和int(11)的区别仅在于显示宽度。
int(1)中“1”表示显示宽度为 1 位,int(11)中“11”表示显示宽度为 11 位。但它们的存储范围和存储空间相同,都能存储 -2147483648 到 2147483647 的整数,占用 4 个字节。 显示宽度只影响显示效果,不影响存储内容。
4.三大范式是什么。都有哪些内容?
答:
第一范式:确保每列都必须保持原子性第二范式:确保每列都与主键相关第三范式:确保每列都与主键直接相关,而不是间接相关。
5.外键约束和外键关系是一回事儿?
答:
不是,外键关系指两个表通过外键建立的关联。外键约束是保障外键关系完整性、一致性原则。例:确保外键值不被引用表的逐渐或唯一键中存在。
6.delete\truncate\drop的区别?
答:
如果只是想删除表中的数据,可以根据具体情况选择 DELETE 或 TRUNCATE。如果要彻底删除表本身,包括结构和数据,就使用 DROP
相关文章:
mysql相关知识(详细)
一、什么是数据库? 概念:数据库(Database,简称DB),长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"。作用:存放管理数据分类:关系型数据库、NoSQL数…...
C++ 静态变量static的使用方法
static概述: static关键字有三种使用方式,其中前两种只指在C语言中使用,第三种在C中使用。 静态局部变量(C) 静态全局变量/函数(C) 静态数据成员/成员函数(C) 静态局部变量 静态局部变量&…...
对grid布局有哪些了解【css】
CSS Grid 布局是现代网页设计中非常强大的布局方式之一,它能够使你以更加灵活且直观的方式来设计网页的布局,特别适用于复杂的多行多列的布局。它允许你在网页上创建非常精确的网格,帮助你把内容放置在多个行和列中。 1. Grid 布局的基本概念…...
IOS 安全机制拦截 window.open
摘要 在ios环境,在某些情况下执行window.open不生效 一、window.open window.open(url, target, windowFeatures) 1. url:「可选参数」,表示你要加载的资源URL或路径,如果不传,则打开一个url地址为about:blank的空…...
低空经济(9)低空飞行器零部件供应商国内外厂家
低空飞行器零部件供应商国内外厂家 1.概述2.国内供应商2.1 动力系统2.2 航电系统2.3 机身结构部件2.4 传动系统2.5 液压系统与气动系统 3.国外供应商3.1 动力系统3.2 航电系统3.3 机身结构部件3.4 传动系统3.5 液压与气动系统 tips:资料来自网络,仅供参考…...
3b1b线性代数基础
零、写在前面 3b1b之前没认真看,闲了整理整理。 一、向量 学习物理的时候,向量是空间中的箭头。由其方向和长度决定。 学习数据结构的时候,向量是有序的数字列表。向量的每一维度有着不同含义。 线性代数中,我们通常认为**向量…...
困境如雾路难寻,心若清明步自轻---2024年创作回顾
文章目录 前言博客创作回顾第一次被催更第一次获得证书周榜几篇博客互动最多的最满意的引发思考的 写博契机 碎碎念时也运也部分经验 尾 前言 今年三月份,我已写下一篇《近一年多个人总结》,当时还没开始写博客。四月份写博后,就顺手将那篇总…...
SAP 中的三种内表
文章目录 1 : Introduction2 : Summary3: Reerence document4 : Example 1 : Introduction In the abap development we deal with data and the carrier is internal table . it is transfered in the whole programe. In the interview we offten meet it . What is the dif…...
从0到1学习机器学习实践--1 安装Anaconda
机器学习首先安装conda环境,这个是比较靠谱手把手执行的安装教程 最新最全(亲测)的conda安装教程和虚拟环境安装环境配置...
整合管理输入、工具与技术 、输出
过程输入工具与技术输出制定项目章程1.项目立项文件2.协议3.事业环境因素4.组织过程资产1.专家判断2.数据收集头脑风暴、焦点小组、访谈3.人际关系与团队技能冲突管理、引导、会议管理4.会议1.项目章程2.假设日志制订项目管理计划1.项目章程2.其他过程输出3.事业环境因素4.组织…...
sed — 流编辑器:从入门到精通
内容速览 简介 sed(Stream Editor)是一个功能强大的文本处理工具,广泛应用于文本文件的自动化编辑和批量处理。它通过逐行读取文件内容并在内存中的临时缓冲区(即“模式空间”)中处理文本,实现高效的文本…...
【玩转全栈】----Django基本配置和介绍
目录 Django基本介绍: Django基本配置: 安装Django 创建项目 创建app 注册app Django配置路由URL Django创建视图 启动项目 Django基本介绍: Django是一个开源的、基于Python的高级Web框架,旨在以快速、简洁的方式构建高质量的Web…...
【Linux】文件操作、系统IO相关操作、inode和输入输出重定向
⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、理解文件1.1 狭义理解1.2 广义理解1.3 文件操作1.4 系统角度 2、系统文件IO2.1 文件相关操作2.2 文件描述符2.3 重定向 3、动静…...
Prometheus+grafana实践:Doris数据库的监控
文章来源:乐维社区 Doris数据库背景 Doris(Apache Doris)是一个现代化的MPP(Massive Parallel Processing,大规模并行处理)数据库,主要用于在线分析处理(OLAP)场景。 D…...
c语言(转义字符)
前言: 内容: 然后记一下转义字符 \? 在书写连续多个问号时使用,防止他们被解析成三字母词 \ 用于表示字符常量 \\ 用于表示一个反斜杠,防止他被解析为一个转义序列符 \n 换行 \r …...
TOGAF之架构标准规范-信息系统架构 | 数据架构
TOGAF是工业级的企业架构标准规范,信息系统架构阶段是由数据架构阶段以及应用架构阶段构成,本文主要描述信息系统架构阶段中的数据架构阶段。 如上所示,信息系统架构(Information Systems Architectures)在TOGAF标准规…...
快速排序:一种高效的排序算法
前言 排序是最基本和最常用的操作之一。无论是数据处理、搜索优化,还是各种应用程序的内部逻辑,排序算法的选择都直接影响到程序的性能。快速排序(Quick Sort)作为一种典型的分治算法,以其平均时间复杂度 O(n log n) 和优越的实际表现,成为了现代编程中最常用的排序算法…...
PHP:从入门到进阶的编程之旅
在Web开发的广阔天地中,PHP(Hypertext Preprocessor,超文本预处理器)无疑是一颗璀璨的明星。自1995年问世以来,PHP凭借其开源、跨平台、易于学习和使用的特性,迅速成为Web开发领域中最受欢迎的语言之一。本…...
Windows的docker中安装gitlab
一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…...
计算机网络 (58)无线局域网WLAN
前言 无线局域网WLAN(Wireless Local Area Network)是一种利用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。 一、定义与特点 定义: WLAN通过无线信道代替有线传输介质连接两个或多个设备形成一个…...
LeetCode: 45.跳跃游戏II
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode: 45.跳跃游戏II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示…...
Blazo-Blazor Web App项目结构
让我们还是从创建项目开始,来一起了解下Blazor Web App的项目情况 创建项目 呈现方式 这里我们可以看到需要选择项目的呈现方式,有以上四种呈现方式 ● WebAssembly ● Server ● Auto(Server and WebAssembly) ● None 纯静态界面静态SSR呈现方式 WebAs…...
汇编语法及相关指令
1.汇编指令的基本格式: <opcode>{<cond>}{s} <Rd>, <Rn>, <shifter_operand> opcode:指令的功能码,用来表示当前指令的作用 cond:条件码,需要在指令执行之前先判断条件受否满足&…...
数据结构——堆(介绍,堆的基本操作、堆排序)
我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴࿰…...
linux+docker+nacos+mysql部署
一、下载 docker pull mysql:5.7 docker pull nacos/nacos-server:v2.2.2 docker images 二、mysql部署 1、创建目录存储数据信息 mkdir ~/mysql cd ~/mysql 2、运行 MySQL 容器 docker run -id \ -p 3306:3306 \ --name mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/…...
10个非常基础的 Javascript 问题
Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。 根据MDN,JavaScript(通常缩写为JS)是一种轻量级的,解释性的,面向对象的语言,具有一流的功能,并且最著名的是Web页面…...
SCP收容物221~225
注 :此文接SCP收容物211~215,本文只供开玩笑 ,与steve_gqq_MC合作 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-221 scp-222 scp-223 scp-224 scp-225 s…...
基于迁移学习的ResNet50模型实现石榴病害数据集多分类图片预测
完整源码项目包获取→点击文章末尾名片! 番石榴病害数据集 背景描述 番石榴 (Psidium guajava) 是南亚的主要作物,尤其是在孟加拉国。它富含维生素 C 和纤维,支持区域经济和营养。不幸的是,番石榴生产受到降…...
网络(三) 协议
目录 1. IP协议; 2. 以太网协议; 3. DNS协议, ICMP协议, NAT技术. 1. IP协议: 1.1 介绍: 网际互连协议, 网络层是进行数据真正传输的一层, 进行数据从一个主机传输到另一个主机. 网络层可以将数据主机进行传送, 那么传输层保证数据可靠性, 一起就是TCP/IP协议. 路径选择: 确…...
【mptcp】ubuntu18.04和MT7981搭建mptcp测试环境操作说明
目录 安装ubuntu18.04,可以使用虚拟机安装... 2 点击安装VMware Tool 2 更新ubuntu18.04源... 4 安装ifconfig指令工具包... 5 安装vim工具包... 5...
递归的本质
字节面试题叠罗汉,很遗憾没想出来,看了答案挺巧妙的,但是居然是个案例题。。。 复习一下递归的本质 正面解决问题 利用子问题来解决 可以通过规约推导的,基本可以用递归解决! 在写这道算法题时,我想规…...
如何使用tmux !
在tmux的界面按住shift,就可以和普通linux界面一样!!!!!!!! 单击右键可以复制粘贴,滚动鼠标可以上下翻页!!!!…...
【Vim Masterclass 笔记25】S10L45:Vim 多窗口的常用操作方法及相关注意事项
文章目录 S10L45 Working with Multiple Windows1 水平分割窗口2 在水平分割的新窗口中显示其它文件内容3 垂直分割窗口4 窗口的关闭5 在同一窗口水平拆分出多个窗口6 关闭其余窗口7 让四个文件呈田字形排列8 光标在多窗口中的定位9 调节子窗口的尺寸大小10 变换子窗口的位置11…...
C语言练习(16)
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第10天早上想再吃时,见只剩一个桃子了…...
【0x0012】HCI_Delete_Stored_Link_Key命令详解
目录 一、命令参数 二、命令格式及参数 2.1. HCI_Delete_Stored_Link_Key 命令格式 2.2. BD_ADDR 2.3. Delete_All 三、生成事件及参数 3.1. HCI_Command_Complete事件 3.2. Status 3.3. Num_Keys_Deleted 四、命令执行流程 4.1. 命令发送阶段 4.2. 控制器处理阶段…...
学习ASP.NET Core的身份认证(基于JwtBearer的身份认证10)
基于Cookie传递token的主要思路是通过用户身份验证后,将生成的token保存到Response.Cookies返回客户端,后续客户端访问服务接口时会自动携带Cookie到服务端以便验证身份。之前一直搞不清楚的是服务端程序如何从Cookie读取token进行认证(一般都…...
应用层协议 HTTP 讲解实战:从0实现HTTP 服务器
🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 HTTP 协议 🦋 认识 URL🦋 urlencode 和 urldecode 二:🔥 HTTP 协议请求与响应格式 🦋 HTTP 请求…...
Linux权限管理:从用户切换到文件权限
在Linux系统中,权限管理是确保系统安全和资源合理分配的核心机制。它通过用户和用户组的管理、文件权限的设置以及特殊权限的使用,实现了对系统资源的精细控制。 一、用户切换:su 和 sudo 1. 用户切换命令 su su(switch user&a…...
PyQt5超详细教程终篇
PyQt5超详细教程 前言 接: [【Python篇】PyQt5 超详细教程——由入门到精通(序篇)](【Python篇】PyQt5 超详细教程——由入门到精通(序篇)-CSDN博客) 建议把代码复制到pycahrm等IDE上面看实际效果,方便理…...
Alibaba Spring Cloud 四 Seata 的核心组件:TC
Seata 的 Transaction Coordinator (TC) 是分布式事务架构中的核心组件之一,它负责管理全局事务的生命周期,包括事务的创建、状态维护以及协调各分支事务的提交和回滚。以下是有关 TC 的详细解析及其配置和使用方法: 1. TC 的核心功能 全局事…...
机器学习-线性回归(简单回归、多元回归)
这一篇文章,我们主要来理解一下,什么是线性回归中的简单回归和多元回归,顺便掌握一下特征向量的概念。 一、简单回归 简单回归是线性回归的一种最基本形式,它用于研究**一个自变量(输入)与一个因变量&…...
Java如何向http/https接口发出请求
用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一个工具类 import javax.net.ssl.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Outpu…...
three.js+WebGL踩坑经验合集(1):THREE.Line无故消失的元凶
在项目开发过程中,笔者两次遇到同事的一个提问,我场景中的Line在相机旋转到某些角度或者移动到某些位置的时候会无故消失。由于业务场景复杂,所以这两位同事都是先花费了大量时间排查业务问题,然后才找我求助。这个问题抽象出来的…...
【ROS】RViz2源码分析(四):初始化、启动
【ROS】郭老二博文之:ROS目录 1、简述 RViz2在main函数中,首先注册日志处理函数; 将 RCLCPP_DEBUG 等日志记录函数,通过 rviz_common::set_logging_handlers() 注册到 rviz_common 中。然后,创建界面类 rviz_common::VisualizerApp,并执行初始化 vapp.init(argc, argv)…...
【MySQL】 库的操作
欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】 库的操作 发布时间:2025.1.23 隶属专栏:MySQL 目录 库的创建语法使用 编码规则认识编码集查看数据库默认的编码集和校验集查看数据库支持的编码集和校验集指定编码创建数据库验证不…...
豆包MarsCode 蛇年编程大作战 | 高效开发“蛇年运势预测系统”
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 豆包MarsCode 蛇年编程大作战 | 🐍 蛇年运势预测 在线体验地址:蛇年…...
新能源汽车充电桩选型以及安装应用
摘要:随着当前经济的不断发展,国家的科技也有了飞速的进步,传统的燃油汽车已经不能适应当前社会的发展,不仅对能源造成巨大的消耗,还对环境造成了污染,当前一种新型的交通运输工具正在占领汽车市场。在环境问题和能源问题愈发严重的当今社会,节能减排已经成为全世界的共同课题,…...
docker Ubuntu实战
目录 Ubuntu系统环境说明 一、如何安装docker 二、发布.netcore应用到docker中 三、查看docker信息 Ubuntu系统环境说明 cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.5 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.5 LTS (…...
w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)
文章目录 1、w-form-select.vue 组件中每个属性的含义2、实例3、源代码 1、w-form-select.vue 组件中每个属性的含义 好的,我们来详细解释 w-form-select.vue 组件中每个属性的含义,并用表格列出它们是否与后端字段直接相关: 属性解释表格&…...
深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能
在当下互联网技术飞速发展的浪潮中,Nginx 凭借其轻量级、高性能的特性,在 Web 服务器和反向代理服务器领域脱颖而出,成为众多开发者和运维工程师的得力工具。它不仅能高效处理静态资源,在负载均衡、反向代理等方面也表现出色。然而…...