当前位置: 首页 > news >正文

[MySQL#2] 库 | 表 | 详解CRUD命令 | 字符集 | 校验规则

目录

一. 库操作

1. 创建数据库

2. 字符集和校验规则

校验规则对数据库的影响

显示创建数据库时对应的命令

3. 修改数据库

4. 数据库删除

备份和恢复

还原

查看连接情况

二. 表操作

1. 创建表(定义实例化格式

2. 创建表案例 (实例化数据类型

3. 查看表

查看表的结构

查看表的创建信息:

4.修改表

1. 更改表的名字

2. 在user表新增一列,用于保存图片路径

3. 修改列中某一字段

4. 修改列名

5. 删除

删除表

删除某列

show | select


操作导图如下:

一. 库操作

1. 创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification] ,
[create_specification] ...
create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name

说明:

  • 大写的表示关键字
  • []是可选项
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则
  • 本质:在 /var/lib/mysql 下创建一个目录

举例:

理解 数据库 和 文件系统 的关联

创建数据库:本质就是在Linux环境下MySQL特定的路径(数据路径)var/lib/mysql 创建一个目录。

还有一种写法,如果当前没有这个数据库就创建,如果存在就不创建

create database if not exists d1;
  • 创建名为 helloworld 的数据库,使用utf8字符集,并带校对规则
create database helloworld charset=utf8 collate utf8_general_ci;

下面将详细讲解


2. 字符集和校验规则

0. 字符集是什么?

创建数据库的时候,有两个编码集

  • 数据库编码集 – 数据库未来存储数据--写入规则
  • 数据库校验集 – 支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式--读取原则

数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的

  • 存数据的时候用什么编码,取的时候就得用什么编码去取

1. 查看系统默认字符集以及校验规则

show variables like 'character_set_database';
show variables like 'collation_database';

博主在安装MySQl时就已经在配置文件中把mysql服务段对应的编码设置成了 utf8。在专栏中的第一篇安装教程中有讲~utf8就可以使用中文

2. 查看数据库支持的字符集

show charset;

数据库写的时候采用什么编码

3. 查看数据库支持的字符集校验规则

show collation;

未来数据已经有了,想怎么读,读的时候怎么知道这是我想要的,所以对数据做特定的解释,然后才做能对比。

现在也知道创建数据库了,也知道编码和校验规则了。两个合并下面就可以创建出指定编码和校验规则的数据库了。

  • 就近原则:下面可以看到创建数据库没有指定,系统就用默认的。

如下就使用 gbk,不适用 utf8 了

create database d3 charset=gbk collate gbk_chinese_ci;

数据库配置文件中配置这个编码有什么意义呢?

  • 因为曾经在配置文件中设置过,所以会影响创建数据库时默认编码和校验规则,编码和校验规则是匹配的。

那问题又来了,今天为什么又要设置数据库编码呢?

  • 因为数据库里是需要存表的,在数据库里可能要建各种各样的表,有存各种各样数据的需求,这些表采用编码和校验规则是继承至它所在的数据库。
  • 数据库默认依赖于mysqld,表依赖于数据库。这样就可以理解为什么要做这样的配置。

校验规则对数据库的影响

不区分大小写--test1

创建一个数据库,校验规则使用utf8_general_ci(不区分大小写)

create database test1 collate utf8_general_ci;use test1;create table person(name varchar(20));insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

打印

实验

区分大小写--test2

创建一个数据库,校验规则使用utf8_bin(区分大小写)

create database test2 collate utf8_bin;use test2;create table person(name varchar(20));insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

打印

实验

通过以上实验,我们可以感受到编码规则对数据处理时的影响了


显示创建数据库时对应的命令
show create database db_name;

示例

说明:

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default… */ 这个不是注释,表示当前使用mysql版本大于4.01版本,就执行这句话

3. 修改数据库

语法:

ALTER DATABASE db_name
[alter_spacification] ,[alter_spacification]...
alter_spacification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
  • 对数据库的修改主要是修改数据库的字符集,校验规则

示例:

只要指明编码是什么,校验码就会自动去匹配。

4. 数据库删除

语法:

DROP DATABASE [IF EXISTS] db_name;

本质:删除目录

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
  • 注意:不要随意删除数据库

备份和恢复

1. 备份

语法:命令行中执行

mysqldump -P 3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

-B 数据库名

示例:

把test1.sql打开后,可以看到里面是大部分内容我们就见过的,如craete database test1、use test1还有后面插入数据等等。

其实它备份的时候,是把在这个数据库里做的有效操作全备份起来了。

所以说备份的不是只有数据,还把历史上所有有效操作全部备份起来了

还原
mysql> source ~/repository/Study_Test/MySQL/SnowK.sql;

两个注意点:

  • 不用/home/root ,直接/root
  • root 下的文件只有 root 下连接 mysql 才有权限恢复

注意事项

如果备份的不是整个数据库,而是其中的一张表,怎么做?

mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

同时备份多个数据库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原
  • 备份时带了 -B 这个备份文件其实是带了create databdase test1,use test1
  • 如果没有带 -B 备份的时候只会把这个数据库里面所有表信息数据信息全部备份出来,如果需要还原需要自己先把数据库建好。

查看连接情况

语法:

show processlist;

示例:

  • 可以告诉我们当前有哪些用户连接到我们的MySQL
  • 如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了
  • 以后发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况

二. 表操作

1. 创建表(定义实例化格式

语法:

CREATE table table_name (field1 datatype,field2 datatype,field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field:表示列名
  • datatype:表示列的类型
  • character set:字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate:校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准(就近原则

2. 创建表案例 (实例化数据类型

说明:不同的存储引擎,创建表的文件不一样

  • 存储引擎是MyISAM,在数据目中有三个不同的文件
    • Users.frm:表结构
    • Users.MYD:表数据
    • Users.MYI:表索引
  • 存储引擎是InnoDB,在数据目中有两个不同的文件
    • Users.frm:表结构
    • Users.ibd:表数据&表索引

下面先对表进行插入内容 (插入数据

insert into user values (1,'张三','12345','2021-3-22');

这样就形成一张像样的表啦~


3. 查看表

语法:

desc db_name;
查看表的结构

MySQL会记录下来用户的所有操作痕迹的,包括建表、删表等行为都会被记录下来。

查看表的创建信息:

4.修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。

我们还有需求,添加字段,删除字段。这时我们就需要修改表。 不会存在查找 !

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);ALTER TABLE tablename DROP (column);
1. 更改表的名字

2. 在user表新增一列,用于保存图片路径
alter table user add image_path varchar(128) comment '用户头像路径' after birthday;
  • add 后面跟的是你想新增那一列,列的类型是什么,描述是什么
  • after 表示你想指定新增到那一列的后面


3. 修改列中某一字段
alter table user modify name varchar(60);
  • modify 后面跟你要改谁,后面在跟新的属性。
  • 我们发现name字段大小确实已经变成60了,也没有影响该字段原有数据。

  • 但是更为重要的是,如果刚才改字段属性就是只改了字段大小,你会发现以前name后面的comment没有了。
  • 说明并不是定向你要改那个字段就给你改那个字段,它是把新的属性直接覆盖把原来创建name字段,属性等全部覆盖掉。
  • 换句话说如果未来你想改某一列,你肯定要把这一列曾经的所有属性全部复制下来,在代码中对要改的字段修改,在重新提交一下。

更改前

更改后

4. 修改列名

将name列修改为xingming

alter table user change name xingming varchar(60) DEFAULT NULL; # 新字段需要完整定义

说明:

  • change后面跟着旧列名 ,再跟新列名和属性。
  • 列名称要改不仅仅需要提供新列名称,这个列的相关属性也需要。相当于把这一列重新设置。
  • 因为修改是覆盖实现的

5. 删除

删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
drop table user;

说明:

  • 像create,drop,show tables 都是在做表操作
  • 但是select并不是操作表结构,操作的是表的内容
    前面学过SQL分类有:DDL、DML、DCL。
  • 像我们目前学到的库的操和表的操作,属于那种类型的SQL呢?DDL 数据定义语言。

删除某列
alter table user drop password;
  • drop后面跟着要删除那一列
  • 注意:删除字段一定要小心,删除字段及其对应的列数据都没了,所有一定要保证这个数据是真的不要了。

show | select

  • show 查 所有
  • select 显示(当前/某个 的)内容
show databases;#查库
use#进入某库
select database();#显示当前库
show tables;#查当前库的所有表
insert#实例化插入表内容
select * from xxx;#显示某表

后续讲解 思路:将 数据库 和 linux 系统 连接起来讲解~

相关文章:

[MySQL#2] 库 | 表 | 详解CRUD命令 | 字符集 | 校验规则

目录 一. 库操作 1. 创建数据库 2. 字符集和校验规则 校验规则对数据库的影响 显示创建数据库时对应的命令 3. 修改数据库 4. 数据库删除 备份和恢复 还原 查看连接情况 二. 表操作 1. 创建表(定义实例化格式 2. 创建表案例 (实例化数据类型…...

【Unity基础】如何查看当前项目使用的渲染管线?

在 Unity 中,你可以通过以下几种方式查看当前项目使用的是哪个渲染管线: 1. 检查 Graphics Settings 打开 Unity 编辑器,进入顶部菜单:Edit → Project Settings → Graphics。在 Graphics Settings 窗口中,找到 Scr…...

什么是域名监控?

域名监控是持续跟踪全球域名系统(DNS)中变化以发现恶意活动迹象的过程。组织可以对其拥有的域名进行监控,以判断是否有威胁行为者试图入侵其网络。他们还可以对客户的域名使用这种技术以执行类似的检查。 你可以将域名监控比作跟踪与自己实物…...

apache中的Worker 和 Prefork 之间的区别是什么?

文章目录 内存使用稳定性兼容性适用场景 Apache中的Worker和Prefork两种工作模式在内存使用、稳定性以及兼容性等方面存在区别 内存使用 Worker:由于使用线程,内存占用较少。Prefork:每个进程独立运行,内存消耗较大。 稳定性 W…...

解决SSL VPN客户端一直提示无法连接服务器的问题

近期服务器更新VPN后,我的win10电脑一致无法连接到VPN服务器, SSL VPN客户端总是提示无法连接到服务端。网上百度尝试了各种方法后,终于通过以下设置方式解决了问题: 1、首先,在控制面板中打开“网络和共享中心”窗口&…...

网络基础概念

1.网络协议 网络协议是一组标准和规则,用于定义电子设备如何在网络上通信。这些规则涵盖了数据如何格式化,传输,路由以及接收。网络协议确保了不同制造商的设备能够相互理解和交换数据 协议分层 协议也是软件,在设计上为了更好…...

sunshine和moonlight串流网络丢失帧高的问题(局域网)

注:此贴结果仅供参考 场景环境:单身公寓 路由器:2016年的路由器 开始:电脑安装sunshine软件,手机安装moonlight软件开始串流发现网络丢失帧发现巨高 一开始怀疑就是路由器问题,因为是局域网,而…...

远程视频验证如何改变商业安全

如今,商业企业面临着无数的安全挑战。尽管企业的形态和规模各不相同——从餐厅、店面和办公楼到工业地产和购物中心——但诸如入室盗窃、盗窃、破坏和人身攻击等威胁让安全主管时刻保持警惕。 虽然传统的监控摄像头网络帮助组织扩大了其态势感知能力,但…...

CTO 实际上是做什么的?

https://vadimkravcenko.com/shorts/what-cto-does/ 有刪節 本文旨在为软件工程师解密CTO的角色,并为那些渴望担任这一职位的人提供路线图。 “他们是技术团队与公司其他部门之间的桥梁,确保技术支持并推动业务发展。” CTO的角色经常被误解。CTO有时是…...

【软考速通笔记】系统架构设计师④——系统工程基础知识

文章目录 一、前言二、系统工程方法2.1 霍尔的三维结构2.2 切克兰德法2.3 并行工程2.4 综合集成法 三、系统工程生命周期四、系统生命周期方法五、系统性能5.1 计算机的性能指标5.2 路由器的性能指标5.3 交换机的性能指标5.4 网络的性能资料5.5 操作系统的性能指标5.6 数据库的…...

2024赣ctf-web -wp

1.你到底多想要flag??? 首先来解决第一关: 先了解一下stripos(); 并且此函数处理数组返回false。而且pre_match同样遇见数组是返回false(解释一下正则 i:这是正则表达式的修饰符,代表“不区…...

Android Framework AudioFlinge 面试题及参考答案

目录 请解释什么是 AudioFlinger? AudioFlinger 在 Android 系统中的位置是什么? AudioFlinger 的主要职责有哪些? AudioFlinger 如何管理音频流? 在 AudioFlinger 中,什么是音频会话? 请简述 AudioFlinger 的工作流程。 AudioFlinger 是如何与硬件交互的? 在 A…...

英语知识在线平台:Spring Boot技术应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...

Qt5.14.2的安装与环境变量及一些依赖库的配置

目录 1.Qt5.14.2安装 2.Qt环境变量及一些依赖库的配置 1.Qt5.14.2安装 QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置 - 唯有自己强大 - 博客园 2.Qt环境变量及一些依赖库的配置 假设QT安装目录为: D:\Qt\Qt5.14.2 将目录: D:\Qt\Qt5.14.…...

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是?( ) import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案:A 答案…...

go编程中yaml的inline应用

下列代码,设计 Config 和 MyConfig 是为可扩展 Config,同时 Config 作为公共部分可保持变化。采用了匿名的内嵌结构体,但又不希望 yaml 结果多出一层。如果 MyConfig 中的 Config 没有使用“yaml:",inline"”修饰,则读取…...

Springboot自带注解@Scheduled实现定时任务

基于Scheduled注解实现简单定时任务 原理 Spring Boot 提供了Scheduled注解,通过在方法上添加此注解,可以方便地将方法配置为定时任务。在应用启动时,Spring 会自动扫描带有Scheduled注解的方法,并根据注解中的参数来确定任务的…...

VSCode【下载】【安装】【汉化】【配置C++环境(超快)】(Windows环境)

目录 一、VSCode 下载 & 安装 二、VSCode 汉化 三、VSCode C配置 配置环境变量 如何验证是否成功 接着在VSCode中配置​编辑 一、VSCode 下载 & 安装 VSCode 下载 & 安装-CSDN博客https://blog.csdn.net/applelin2012/article/details/144009210Download Visual St…...

【八股文】小米

文章目录 一、vector 和 list 的区别?二、include 双引号和尖括号的区别?三、set 的底层数据结构?四、set 和 multiset 的区别?五、map 和 unordered_map 的区别?六、虚函数和纯虚函数的区别?七、extern C …...

ABAP OOALV模板

自用模板,可能存在问题 一、主程序 *&---------------------------------------------------------------------* *& Report ZVIA_OO_ALV *&---------------------------------------------------------------------* REPORT ZVIA_OO_ALV.INCLUDE ZVI…...

qt QDateTime详解

1. 概述 QDateTime 是 Qt 框架中用于处理日期和时间的类。它将 QDate 和 QTime 组合在一起,提供了日期时间的统一处理方案。QDateTime 可以精确到毫秒,并支持时区处理。 2. 重要方法 构造函数: QDateTime() 构造无效的日期时间 QDateTime(const QDa…...

鸿蒙安全控件之位置控件简介

位置控件使用直观且易懂的通用标识,让用户明确地知道这是一个获取位置信息的按钮。这满足了授权场景需要匹配用户真实意图的需求。只有当用户主观愿意,并且明确了解使用场景后点击位置控件,应用才会获得临时的授权,获取位置信息并…...

决策树分类算法【sklearn/决策树分裂指标/鸢尾花分类实战】

决策树分类算法 1. 什么是决策树?2. DecisionTreeClassifier的使用(sklearn)2.1 算例介绍2.2 构建决策树并实现可视化 3. 决策树分裂指标3.1 信息熵(ID3)3.2 信息增益3.3 基尼指数(CART) 4. 代码…...

【Android】RecyclerView回收复用机制

概述 RecyclerView 是 Android 中用于高效显示大量数据的视图组件&#xff0c;它是 ListView 的升级版本&#xff0c;支持更灵活的布局和功能。 我们创建一个RecyclerView的Adapter&#xff1a; public class MyRecyclerView extends RecyclerView.Adapter<MyRecyclerVie…...

自制Windows系统(十)

上图 &#xff08;真的不是Windows破解版&#xff09; 开源地址&#xff1a;仿Windows...

Linux——初识操作系统(Operator System)

前言&#xff1a;大佬写博客给别人看&#xff0c;菜鸟写博客给自己看&#xff0c;我是菜鸟。 一、冯偌伊曼体系 图一&#xff1a; 在初识操作系统之前&#xff0c;我们需要对计算机的硬件组成做一定的了解。本篇优先对数据信号做初步分析&#xff0c;暂时不考虑控制信号(操作系…...

RuoYi(若依)框架的介绍与基本使用(超详细分析)

**RuoYi&#xff08;若依&#xff09;**是一个基于Spring Boot和Spring Cloud的企业级快速开发平台。它集成了多种常用的技术栈和中间件&#xff0c;旨在帮助企业快速构建稳定、高效的应用系统。以下是关于RuoYi框架的详细介绍和基本使用教程&#xff0c;涵盖了从环境搭建到核心…...

js:基础

js是什么 JavaScript是一种运行在客户端的编程语言&#xff0c;实现人机交互的效果 js只要有个浏览器就能跑 js可以做网页特效、表单验证、数据交互、服务端编程 服务端编程是前端人拿他们特有的后端语言node.js来干后端干的事情 js怎么组成 JavaScriptECMAScript(语言基…...

easyui combobox 只能选择第一个问题解决

easyui combobox 只能选择第一个问题解决 问题现象 在拆分开票的时候&#xff0c;弹出框上面有一个下拉框用于选择需要新增的明细行&#xff0c;但是每次只能选择到第一个 选择第二条数据的时候默认选择到第一个了 代码如下 /*新增发票编辑窗口*/function addTicketDialog…...

【RISC-V CPU 专栏 -- 香山处理器介绍】

文章目录 RISC-V 香山处理器介绍雁栖湖处理器南湖处理器RISC-V 香山处理器介绍 相信很多小伙伴对于“香山”都不陌生,它是一款开源RISC-V处理器核,香山的每一代架构,都是采用了湖的名字,第一代架构被命名为雁栖湖,第二代架构则叫做 “南湖”。 “雁栖湖”这款处理器的 R…...

深入理解下oracle 11g block组成

深层次说&#xff0c;oracle数据库的最少组成单位应该是块&#xff0c;一般默认情况下&#xff0c;oracle数据库的块大小是8kb&#xff0c;其中存储着我们平常所需的数据。我们在使用过程中&#xff0c;难免会疑问道&#xff1a;“oracle数据块中到底是怎样组成的&#xff0c;平…...

“华为杯”研究生数学建模比赛历年赛题汇总(2004-2024)

文章目录 赛题链接历年赛题2004年赛题2005年赛题2006年赛题2007年赛题2008年赛题2009年赛题2010年赛题2011年赛题2012年赛题2013年赛题2014年赛题2015年赛题2016年赛题2017年赛题2018年赛题2019年赛题2020年赛题2020年赛题2021年赛题2022年赛题2023年赛题2024年赛题 赛题链接 部…...

LLM PPT Translator

LLM PPT Translator 引言Github 地址UI PreviewTranslated Result Samples 引言 周末开发了1个PowerPoint文档翻译工具&#xff0c;上传PowerPoint文档&#xff0c;指定想翻译的目标语言&#xff0c;通过LLM的能力将文档翻译成目标语言的文档。 Github 地址 https://github.…...

【深度学习之一】2024最新pytorch+cuda+cudnn下载安装搭建开发环境

兵马未动&#xff0c;粮草先行。作为深度学习的初学者&#xff0c;快速搭建一个属于自己的开发环境就是头等大事&#xff0c;可以让我们节省许多的时间。这一期我们主要讲一讲2024年最新pytorchcudacudnn下载安装搭建开发环境&#xff0c;以及安装过程中可能遇到的一些问题以及…...

摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现

随着科技的不断进步&#xff0c;摄像机视频分析软件的发展已经为我们的生活带来了许多便捷。其中&#xff0c;LiteAIServer视频智能分析平台的玩手机打电话检测算法技术尤为突出&#xff0c;它利用先进的图像处理和人工智能技术&#xff0c;能够自动识别并监控视频中的玩手机或…...

HTML5和CSS3新增特性

HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以大量…...

删除word中页眉里的横线

使用快捷键‌简单粗暴&#xff1a; 双击页眉&#xff0c;将光标定位在页眉的横线上&#xff0c;按下CtrlShiftN快捷键&#xff0c;页眉横线即可删除。...

列表代码思路

目录 列表添加修改删除(单删,批删) 页面>Controller>service>Dao 一.列表的jsp页面 : 一. 想要用户已经来就看到的数据使用文档就绪函数 ①文档就绪函数 : 二. 封装ajax方法 二 : 在body中间 一 : 多条件查询的文本框 二. 写列表 三.在body的下面写脚本 1.给搜…...

40分钟学 Go 语言高并发:Context包与并发控制

Context包与并发控制 学习目标 知识点掌握程度应用场景context原理深入理解实现机制并发控制和请求链路追踪超时控制掌握超时设置和处理API请求超时、任务限时控制取消信号传播理解取消机制和传播链优雅退出、资源释放context最佳实践掌握使用规范和技巧工程实践中的常见场景…...

el-row el-col显示失效问题修复

el-row el-col显示失效 问题&#xff1a; 在列表显示页面&#xff0c;头部有几个搜索框和选择框&#xff0c;由于搜索条件框太多&#xff0c;写了el-row 和el-col进行分行分列展示。测试发现并没有按照行列展示。 <el-form :inline"true" :model"paramForm…...

libphone desktop编译

linphone-desktop 在ubuntu20.04 下编译 linphone 介绍 Linphone是一款遵循GPL的开源网络视频电话系统&#xff0c;支持多种平台如Windows、Linux、Android等。它基于SIP协议&#xff0c;提供语音、视频通话及即时文本消息功能。核心功能包括SIP用户代理、音频视频Codec支持、…...

实现一个可配置的TCP设备模拟器,支持交互和解析配置

前言 诸位在做IOT开发的时候是否有遇到一个问题&#xff0c;那就是模拟一个设备来联调测试&#xff0c;虽然说现在的物联网通信主要是用mqtt通信&#xff0c;但还是有很多设备使用TCP这种协议交互&#xff0c;例如充电桩&#xff0c;还有一些工业设备&#xff0c;TCP这类报文交…...

Rust环境安装乱码解决

安装rust环境open with visual studio2022操作系统乱码问题解决 打开“设置”&#xff0c;找到“时间和语言”。 进去之后依次选择“语言”->"管理语言设置"->“更改系统区域设置” 取消勾选“Beta版:使用Unicode UTF-8 提供全球语言支持”&#xff0c;然后重…...

Zookeeper实现分布式锁、Zookeeper实现配置中心

一、Zookeeper实现分布式锁 分布式锁主要用于在分布式环境中保证数据的一致性。 包括跨进程、跨机器、跨网络导致共享资源不一致的问题。 1.Zookeeper分布式锁的代码实现 新建一个maven项目ZK-Demo,然后在pom.xml里面引入相关的依赖 <dependency><groupId>com.…...

学习日记_20241126_聚类方法(自组织映射Self-Organizing Maps, SOM)

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…...

【webrtc】 mediasoup中m77的IntervalBudget及其在AlrDetector的应用

IntervalBudget 用于带宽控制和流量整形 mediasoup中m77 代码的IntervalBudget ,版本比较老IntervalBudget 在特定时间间隔内的比特预算管理,从而实现带宽控制和流量整形。 一。 pacedsender 执行周期: 下一次执行的时间的动态可变的 int64_t PacedSender::TimeUntilNextPr…...

Python学习指南 + 谷歌浏览器如何安装插件

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; Python 目录 前言 Python 官方文档的使用 谷歌浏览器中如何安装插件 前言 在学习Python时&#xff0c;我们可能会出现这样的困惑&#x…...

leetcode - LRU缓存

什么是 LRU LRU (最近最少使用算法), 最早是在操作系统中接触到的, 它是一种内存数据淘汰策略, 常用于缓存系统的淘汰策略. LRU算法基于局部性原理, 即最近被访问的数据在未来被访问的概率更高, 因此应该保留最近被访问的数据. 最近最少使用的解释 LRU (最近最少使用算法), 中…...

RabbitMQ7:消息转换器

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…...

C#(14)七大原则

前言 其实在面向对象设计里&#xff0c;程序猿们互相约定好一些原则&#xff0c;即七大原则。 面向对象的七大原则是一组指导软件设计的原则&#xff0c;旨在帮助开发人员实现松耦合、可维护和可扩展的软件系统。这些原则的设计过程和发展历史可以追溯到20世纪80年代。 单一职…...