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

15.数据库简介+MySQl使用+SQL语句

文章目录

数据库简述

一.数据库简介DB

1.定义:

存储在计算机内的数据容器

指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享

2.DBMS数据库管理系统

纵和管理数据库的大型软件,用于建立、使用和维护数据库.

MySQL、Access、SQLite、SQL SERVER、Oracl…

3.数据库分类

  1. 关系型数据库Relational Database

    Oracle, MySQL,SQLite用于手机的数据库

  2. 非关系型数据库

    2.文档型数据库Document Database

    常见的有前端开发和爬虫的最爱MongoDB、Couchbase、Firebase、CouchDB

    3.键值数据库Key-value Database

    键值数据库常见的有Redis、Memcached

    4.搜索引擎Search Engine

    比如大厂必备的Elasticsearch、日志数据库Splunk

    *5.宽列数据库Wide Column

    6.图形数据库Graph

    常见的有Neo4j

    7.时序数据库Time Series

    常见的有InfluxDB

二.MySQL的安装

1.安装步骤

https://blog.csdn.net/weixin_44051608/article/details/85163823

2.MySQL数据库图形管理工具

1.SQLyog 2.phpMyAdmin 3.Navicat 4.MySQL GUI Tools

3.mysql程序常用命令

  • 选定数据库:use dbname;
  • 显示所有数据库:show databases;
  • 显示使用的数据库中所有表:show tables;
  • 显示表结构:desc tb_name;
  • 放弃正在输入的命令:\c
  • 显示命令清单:\h
  • 退出mysql程序:\q
  • 查看MySQL服务器状态信息:\s

4.MySQL字符集及字符序

show character set;

即可查看当前MySQL服务实例支持的字符集、字符集默认的字符序以及字符集占用的最大字节长度等信息

  • latin1支持西欧字符、希腊字符等
  • gbk支持中文简体字符
  • big5支持中文繁体字符
  • utf8几乎支持世界所有国家的字符。

5.Navicat快捷键操作

  • Ctrl+Q: 弹出一个sql输入窗口
  • Ctrl+Shift+R: 只运行选中的sql语句
  • Ctrl+/ : 注释
  • 鼠标三击选择当前行

三.MySQL数据库基本操作

SQL语言操作,不区分大小写,一句语句结束加;

-- 创建数据库, 如果本数据库存在则创建失败
create database db_name;
-- 使用数据库
use db_name;
-- 查看创建数据库信息
show create database db_name;
-- 删除数据库
drop database db_name;

表管理

一.SQL概述

SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL不区分大小写

1.SQL语法组成

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来

1)DDL

数据库定义语言(针对数据库结构的)

  • create
  • drop
  • alter修改表
  • show
  • use
2)DML

数据库操作语言(针对表数据)

  • select…from…查
  • insert…into…
  • update…set…更新
  • delete…from…删
3)DCL

数据库控制语言

2.数据库的表

二维数组的集合(行+列).类似的表结构:

idemp_nameage
1数据123
2数据2
3

3.数据类型

1)数值类型
  • int | integer 整型

  • bigint 8byte 大整型

  • TINYINT

  • DECIMAL(M,D) 浮点型

    M控制数值总位数,D控制浮点数

    decimal(6,2)两位小数共6位的数

2)字符串类型
  • now() 当前时间
  • DATETIME、DATE、TIMESTAMP、TIME和YEAR
3)日期和时间列类型
  • char 和 varchar

    char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

    //二者区别:

    char(1)固定一个字符;

    varchar(10)数据字符长度不固定10以内就行

二.创建表

1.创建表结构

//创建表时;可以不加
//一行一个,分割,最后一行不需要
CREATE TABLE  employee(id bigint,emp_name VARCHAR(20) NOT NULL,address VARCHAR(60) NOT NULL,birthday DATE);

2.表, 字段命名规范(了解:通配的)

  • 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)+下划线组成,命名简洁明确,多个单词用下划线’_'分隔
  • 全部小写命名,禁止出现大写
  • 禁止使用数据库关键字,如:name,time ,datetime,password等
  • 表名称不应该取得太长(一般不超过三个英文单词)
  • 表的名称一般使用名词或者动宾短语
  • 用单数形式表示名称,例如,使用 employee,而不是 employees
  • 明细表的名称为:主表的名称+字符dtl(detail缩写)
  • 例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl
  • 表必须填写描述信息(使用SQL语句建表时

字段名命名示例:

  • 使用下划线进行分隔,提升可读性。

    例如,emp_name,user_id,is_friend
    
  • 使用完整名称,提高可读性。

    例如,uid修改为user_id,pid修改为person_id。
    
    • 表被索引列必须定义为not null,并设置default值。
    • 禁止使用float、double类型,建议使用decimal或者int替代。
    • 禁止使用blob、text类型保留大文本、文件、图片,建议使用其他方式存储,MySQL只保存指针信息。
    • 禁止使用varchar类型作为主键。

3.操作表table的语句

-- 创建表CREATE
create table employee(col1,col2......
);
-- 删除表DROP
drop table tb_name;
-- 显示表结构,常用desc
desc | describe tb_name;
-- 显示表所有信息
show create table tb_name;
-- ......................................................................
-- 修改table,下面举例说明:
alter table tb_name 
add | drop | change | modify col_name....;
-- 1.增加字段列ADD
alter table employee add age int;
alter table employee add gender char(1) after age;
alter table employee add gender char(1) first;
-- 2.修改字段列数据类型MODIFY
alter table employee modify [colmun] age bigint;
-- 修改列名CHANGE, 既可以改字段名也可改数据类型
alter table employee change [colmun] age new_age int;
-- 修改表名RENAME
alter table employee rename new_employee;
-- 3.删除列DROP
alter table employee drop gender;

详细参数可看:https://dev.mysql.com/doc/refman/8.0/en/alter-table.html

4.注释
  • – 行注释

    desc empoyee;     -- This comment continues to the end of line
    
  • desc empoyee;     # This comment continues to the end of line
    
  • /* */

    mysql> desc  /* this is an in-line comment */ + empoyee;
    mysql> SELECT empoyee;
    /*
    this is a
    multiple-line comment
    */
    

数据操作

1.插入数据&更改数据&删除数据

#举例说明
create table dept(
dept_id int(0) primary key not null comment '编号',
dept_name varchar(32) comment '部门名称',
remark varchar(255) default('备注') comment '备注'
);
-- 1.插入数据insert... into....
INSERT INTO dept VALUES(1,'人事部','人事管理');#插入一行数据
INSERT INTO dept VALUES(2,'人事部','人事管理'),(3,'后勤部','日常管理');#插入多行row数据
INSERT INTO dept(dept_name,remark) value('财务部','管理财务');#根据字段插入数据
INSERT INTO dept VALUES|value(1,'人事部',default);
-- 2.更改数据update ......set...
UPDATE dept SET dept_name='策划部',remark='方法策划' WHERE dept_id=2;#加入where条件限制否则更改的时全部row数据,指定id=2的列
-- 3.删除数据delete ....from....where条件语句;
DELETE FROM dept WHERE dept_name='后勤部';
-- 清空表truncate [table] 表名
/*
# 建议保存数据接结构和内容,sql文件,下次直接运行sql文件恢复数据库;
truncate语句与“delete from 表名”语句区别: 
清空记录的表如果是父表,那么truncate命令将永远执行失败。如果使用truncate table成功清空表记录,那么会重新设置自增型字段的计数器。truncate table语句不支持事务的回滚,并且不会触发触发器程序的运行。
*/

数据完整性(重点)

一.数据完整性分类

1.实体完整性–主键

primary key(col_name,[col1_name])主键: 保证所有行有唯一标识符,可能是一列或多列组合(复合主键),主键这一列不能有重复值;

2.域完整性not null

not null是指一个列的输入有效性,是否允许为空值。强制域完整性的方法有:限制类型、格式或可能值的范围。

3.参照完整性foreign key

是指保证主关键字和外部关键字之间的参照关系。它涉及两个或两个以上表数据的一致性维护。

外键值将引用表中包含此外键的记录和被引用表中主键与外键相匹配的记录关联起来。在输入、更改或删除记录时,参照完整性保持表之间已定义的关系,确保键值在所有表中一致。

二.完整性约束设置

  • PRIMARY KEY 主码约束(主键)

    一个表中只能有有一个主键约束:

    • 主键列值必须非空
    • 一个表中只能有一个主键
    • 单个列作为主键时,列的值必须唯一
    • 多个列作为主键时,允许某个列的值存在重复,但作为主键的列的组合的值必须唯一
    • 最少性,尽量选择单个键作为主键
    • 稳定性,尽量选择数值更新少的列作为主键
    CREATE TABLE employee(emp_id int(11) primary key;emp_name varchar(10)#primary key(emp_id,emp_name)复合主键
    )
    
  • UNIQUE KEY 唯一性约束

    一个表中可以有多个unique约束

    CREATE TABLE employee(emp_id int(11) primary key;emp_name varchar(10),remark varchar(20),unique key(emp_name ),unique key( remark )}
    
  • NOT NULL 非空值约束

    某数据单元的值为空表示该单元是以空值 (NULL) 作为其数据。NULL 不等于零或空白字符串:它表示没有输入任何内容,或提供了一个显式 NULL 值,通常表示该值未知或不适用 如果不允许该列的值为空,其定义的关键字为NOT NULL

  • AUTO_INCREMENT自增-- 用于整数列默认自增1

    #一般设置主键
    -- 插入自增数据
    INSERT INTO person(id,username,age,info) VALUES (0[null],'feicy',33,'student')#0 | null替代自增数据,自增值也可以自己设置,不写就默认随后自增
    
  • UNSIGNED 无符号整数

  • DEFAULT default_value 默认值约束

    列设置默认值, 当列不提供值时,会默认赋值

    CREATE TABLE EMPLOYEE
    (id        CHAR(8) PRIMARY KEY,dep_id        CHAR(3),emp_name      VARCHAR(20) NOT NULL,address   VARCHAR(100) DEFAULT '地址不详',
    ……
    )
    insert into employee1 VALUES('s1001',10,'tom',DEFAULT);
    
  • CHECK 约束

    check (age>=18)

  • FOREIGN KEY 外键约束

    -- 单独一行放后面
    -- employ
    FOREIGN KEY(emp_id) references dept(dept_id);#dept是主表
    

    主表和从表

    主表是被引用的表,外表是引用其他表的表

    1、当主表中没有对应的记录时,不能将记录添加到子表:

    成绩表中不能出现在学员信息表中不存在的学号;

    2、不能更改主表中的值而导致子表中的记录孤立:

    把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;

    3、子表存在与主表对应的记录,不能从主表中删除该行:

    不能把有成绩的学员删除了

    4、删除主表前,先删子表:

    先删学员成绩表、后删除学员信息表

  • DEFAULT CURRENT_TIMESTAMP 创建新记录时默认保存当前时间(仅适用timestamp数据列)

  • ON UPDATE CURRENT_TIMESTAMP 修改记录时默认保存当前时间(仅适用timestamp数据列)

  • CHARACTER SET name 指定字符集(仅适用字符串)

三.更改表约束(重点)

1.外键约束设置

  • 创建表时,添加外键

    create table 表名(...外键列,constraint 外键名称自定义 foreign key (连接外键的列名称) references 主表(主表列)
    );
    
  • 表创建完成后添加外键

    -- 添加和删除主键约束CONSTRAINT (约束)
    ALTER TABLE employee ADD CONSTRAINT fk_emp FOREIGN KEY(dept_id) REFERENCES dept(dept_id);#fk_emp外键名自定义
    ALTER TABLE employee ADD  FOREIGN KEY(dept_id) REFERENCES dept(dept_id)
    ALTER TABLE employee DROP FOREIGN KEY fk_emp;
    
  1. 添加外键
    ALTER TABLE 表名 ADD CONSTRAINT 外键名称自定义 FOREIGN KEY (连接外键的列名称) REFERENCES 主表(主表列);

    alter table employee add constraint emp_fk foreign key(emp_id) references dept(dept_id);
    
  2. 删除外键

    ALTER TABLE employee DROP FOREIGN KEY emp_fk;
    

2.主键设置约束

#表创建完设置主键约束
-- 添加主键
ALTER TABLE employee ADD constraint pk PRIMARY KEY(emp_id);
-- 删除主键 
ALTER TABLE employee DROP PRIMARY KEY;

3. 删除被其他关联的父表

  1. 先删除子表外键约束>>再删除父表;
    D CONSTRAINT 外键名称自定义 FOREIGN KEY (连接外键的列名称) REFERENCES 主表(主表列);
alter table employee add constraint emp_fk foreign key(emp_id) references dept(dept_id);
  1. 删除外键
    ALTER TABLE employee DROP FOREIGN KEY emp_fk;
    

2.主键设置约束

#表创建完设置主键约束
-- 添加主键
ALTER TABLE employee ADD constraint pk PRIMARY KEY(emp_id);
-- 删除主键 
ALTER TABLE employee DROP PRIMARY KEY;

3. 删除被其他关联的父表

  1. 先删除子表外键约束>>再删除父表;
  2. 未删除外键情况下: 先删除从表>>再删除主表

相关文章:

15.数据库简介+MySQl使用+SQL语句

文章目录 数据库简述一.数据库简介DB1.定义:2.DBMS数据库管理系统3.数据库分类 二.MySQL的安装1.安装步骤2.MySQL数据库图形管理工具3.mysql程序常用命令4.MySQL字符集及字符序5.Navicat快捷键操作 三.MySQL数据库基本操作 .........................................表管理一.…...

AI入门系列:工具篇之ChatGPT的优秀的国内替代品

文章目录 一,智谱清言(ChatGLM)1,智谱清言简介2,[智谱清言地址,点我开始用吧](https://chatglm.cn/) 二,Kimi智能助手1,Kimi简介2,[Kimi地址,点我开始用吧](https://kimi.moonshot.c…...

改机软件有哪些?实现一键新机、改串号、改IMEI和手机参数的需求 硬改手机软件,新机环境模拟 设备伪装,一键改机,一键复原

这次针对可以直接开端口修改参数的机型做一些工具解析 前面接触合作过很多工作室。其中很多工作室对于各自软件的跳验证有各自的需求。 一个机型各项参数一般有IMEI WiFi 蓝牙 sn psb ESN等等。 针对这些参数的修改首先要明白各自软件检测的具体是哪些参数来验证。 对于常用…...

如何快速使用JNI

文章目录 1_JNI是什么?2_使用3_扩展 1_JNI是什么? JNI 是Java Native Interface的缩写,通过JNI,允许Java代码与其他语言(通常是C或C)编写的本地应用程序或库进行交互。简而言之就是,Java可以通…...

simulink开发stm32,使用中断模块,无法产生中断,其中包括使用timer模块,以及ADC都无法产生中断,需要注意的地方

1,其中包括使用timer模块,以及ADC都无法产生中断,需要注意的地方 原来是需要在配置文件里开启一下timer的中断,其他模块自动加载ioc就可以了,这个timer需要注意力,需要自己勾选一下 如下图: 看…...

C# 如何单纯的优化循环

Parallel.For(0, 10000, i >{// 并行执行的代码块// 例如: Console.WriteLine(i);}); 这种循环比 单纯常用的for 和 foreach 要稍微快一点 但是呢如果循环里面写的是非常简单的业务逻辑 的话 for和foreach 要更胜一筹一点 Parallel 原理就好像我一个人忙不过来可以多找几个…...

【鸿蒙学习笔记】@Extend装饰器:定义扩展组件样式

官方文档:Extend装饰器:定义扩展组件样式 [Q&A] Extend装饰器 作用 Extend用于扩展原生组件样式。 [Q&A] Extend装饰器 特点 1・Extend仅支持在全局定义,不支持在组件内部定义。 2・Extend支持封装指定组件的…...

【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF

【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF 前言一、Stirling-PDF介绍1.1 Stirling-PDF简介1.2 Stirling-PDF功能 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四…...

【算法训练记录——Day37】

Day37——贪心Ⅴ 1.leetcode_56合并区间 1.leetcode_56合并区间 思路:排序,如果重叠,更新right 为max(right, curVal), 不重叠就加入res,需要单独考虑最后一次,因为每次都是在下一次遍历开始时判断是否加入res,因此 当…...

OpenCV 张正友标定法(二)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在之前的博客OpenCV 张氏标定法中,我们没有考虑镜头畸变等因素,因此计算出的内参与外参均是理想情况下的数值,而如果我们考虑到镜头的畸变: 我们就需要考虑使用最小二乘法最小化像素坐标的重投影误差(上述所求…...

LeetCode题练习与总结:环形链表Ⅱ--142

一、题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测…...

【kaptcha】kaptcha验证码的使用-SpringBoot集成

Kaptcha验证码的依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version> </dependency> Kaptcha验证码的配置类&#xff0c;对验证码的一些属性进行配置&#x…...

golang template模板嵌套语法 为何不能使用变量 底层源码解析

我们都知道在golang的模板语法中&#xff0c;我们可以使用template关键字嵌套其他模块&#xff0c; 如&#xff1a; {{template "模板文件名" .}} 然而&#xff0c;这里的 “模板文件名” 是不能使用变量的&#xff01; 注意这里最后的的 . 这个实际上是templa…...

【Linux】线程Thread

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ ​ 线程概述 …...

RAG技术:在自然语言处理中的深度融合与创新

在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;随着技术的不断进步&#xff0c;我们见证了各种创新方法的涌现。其中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;技术以其独特的优势&#xff0c;逐渐成为…...

什么是std::bind

2024年6月29日&#xff0c;周日下午 std::bind 是一个C11标准库中的函数&#xff0c;它用于将一个函数或函数对象与特定的参数绑定在一起&#xff0c;生成一个新的函数对象。 std::bind通常和std::function一起使用&#xff0c;因为std::function可以作为一个函数容器来接收st…...

C语言的数据结构:树与二叉树(哈夫曼树篇)

前言 上篇讲完了二叉树&#xff0c;二叉树的查找性能要比树好很多&#xff0c;如平衡二叉树保证左右两边节点层级相差不会大于1&#xff0c;其查找的时间复杂度仅为 l o g 2 n log_2n log2​n&#xff0c;在两边层级相同时&#xff0c;其查找速度接近于二分查找。1w条数据&am…...

docker 安装syslog

Syslog-ng是一个可靠、多功能的日志管理系统&#xff0c;用于收集日志并将其转发到指定的日志分析工具。 使用Docker CLI方式搭建 步骤 1: 拉取Syslog-ng镜像 首先&#xff0c;需要从Docker Hub拉取Syslog-ng的官方镜像。 docker pull balabit/syslog-ng:latest 步骤 2: 启动…...

什么是无头浏览器?

简而言之&#xff0c;无头浏览器是没有图形用户界面 &#xff08;GUI&#xff09; 的 Web 浏览器。GUI 包括用户与之交互的数字元素&#xff0c;例如按钮、图标和窗口。但是&#xff0c;关于无头浏览器&#xff0c;您需要了解的还有很多。 在本文中&#xff0c;您将了解什么是…...

【面试干货】与的区别:位运算符与逻辑运算符的深入探讨

【面试干货】&与&&的区别&#xff1a;位运算符与逻辑运算符的深入探讨 1、&&#xff1a;位运算符2、&&&#xff1a;逻辑运算符3、&与&&的区别 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; & 和 …...

搭建Renesas R7FA8D1BHECBD-BTB的开发调试环境(DAP-LINK: N32G45XVL-STB)

目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 FSP和KEIL产生测试项目 2.1 FSP生成项目 2.2 Keil中配置 3 硬件连接框图 4 一个测试案例 4.1 功能介绍 4.2 定时器函数 5 测试 搭建Renesas R7FA8D1BHECBD-BTB的开发调试环境&#xff08…...

探索人工智能和LLM对未来就业的影响

近年来&#xff0c;人工智能&#xff08;AI&#xff09;迅猛发展&#xff0c;引发了人们的兴奋&#xff0c;同时也引发了人们对就业未来的担忧。大型语言模型&#xff08;LLM&#xff09;就是最新的例子。这些强大的人工智能子集经过大量文本数据的训练&#xff0c;以理解和生成…...

钓鱼网站原理与攻防

知识点&#xff1a;LAMP平台部署&#xff0c;Web架构分析&#xff0c;钓鱼网站原理与搭建 中间件&#xff1a; 中间件是一种独立的软件&#xff0c;位于客户机和服务器之间&#xff0c;主要用于在网络环境中进行数据的传输和通信。它充当客户端和服务端之间的桥梁&#xff0c;…...

Windows 中 Chrome / Edge / Firefox 浏览器书签文件默认存储路径

1. Chrome 浏览器 按组合键 Win R&#xff0c;打开运行对话框&#xff0c;输入 %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default或在Chrome 浏览器地址栏输入 chrome://version查看【个人资料路径】 2. Edge 浏览器 按组合键 Win R&#xff0c;打开运行对…...

秋招Java后端开发冲刺——关系型数据库篇(Mysql)

本文介绍关系型数据库及其代表Mysql数据库&#xff0c;并介常见面试题目。 一、数据库概述 1. 数据库&#xff08;Database, DB&#xff09;&#xff1a;是长期储存在计算机内的、有组织的、可共享的数据集合。 2. 数据库管理系统&#xff08;Database Management System, D…...

DHCP原理1-单个局域网出现多个DHCP服务器会发生什么

1. 背景 DHCP全称是Dynamic Host Configuration Protocol。其协议标准是RFC1541&#xff08;已被RFC2131取代&#xff09;&#xff0c;主要实现服务器向客户端动态分配IP地址&#xff08;如IP地址、子网掩码、网关、DNS&#xff09;和配置信息。其系统架构是标准的C/S架构。RFC…...

24/06/29(21.1205)程序的编译和链接

源文件 ---> 可执行文件,这一过程要执行的流程: 预处理 编译 汇编 链接 组成每一个程序的每个源文件通过编译过程分别转换成目标代码;每个目标代码由链接器捆绑在一起,形成一个单一而完整的可执行程序;链接器同时也会引入标准函数库中任何被该程序所用到的函数,而且它可以…...

使用Java Executors框架处理并发任务

一、并发与Java Executors框架简介 一、并发编程的重要性 并发编程是现代编程中最重要的概念之一。在更多的核心和更快的处理器出现的今天,如何充分利用这些资源就变得异常重要。并发编程允许你的程序同时处理多个任务,从而使程序更有效地利用系统资源,提高执行效率。 提…...

LeetCode:经典题之144、94、145、102题解及延伸|二叉树的遍历|前中后层序遍历|Morris算法

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …...

ONLYOFFICE 桌面编辑器 8.1全新发布,更强大的编辑工具

ONLYOFFICE 8.1 一、什么是ONLYOFFICE&#xff1f;二、怎么安装 ONLYOFFICE 8.1三、主要功能介绍四、总结 一、什么是ONLYOFFICE&#xff1f; ONLYOFFICE 是一款功能强大的办公套件&#xff0c;旨在提供全面的文档、表格和演示文稿编辑解决方案。它集成了文字处理、电子表格和演…...

百日筑基第六天-了解一下Dubbo

百日筑基第六天-了解一下Dubbo Dubbo 是一款高性能、轻量级的开源 WEB 和 RPC 框架。 Dubbo 提供了六大核心能力&#xff1a; 面向接口代理的高性能 RPC 调用。智能容错和负载均衡。服务自动注册和发现。高度可扩展能力。运行期流量调度。可视化的服务治理与运维。 简单来说…...

微机原理 复习

第一章导论 1.3 冯诺依曼体系结构 &#xff08;1&#xff09;以二进制形式表示指令和数据 &#xff08;2&#xff09;程序和数据事先放在存储器中&#xff08;预存储&#xff09; &#xff08;3&#xff09;由运算器、控制器、输入设备和输出设备五大部件组成 字长、主频…...

5年工作经验面试经验以及面试题分享

第一家面试题 评价 全是八股文 面试题 MySQL索引类型 索引结构 联合索引可以设置索引类型 不同索引性能差异巨大 基础索引有哪些 B Tree索引和Hash索引 Redis基本数据结构 List是原子的吗 原子性和可见性区别是什么 MySQL的存储过程和视图 MySQL性能优化有哪些 MySQL的存储…...

C# enum Enumeration Type 枚举

定义枚举使用枚举访问枚举值枚举与switch语句枚举特性枚举与位字段总结 在 C#中&#xff0c; enum 是一种特殊的值类型&#xff0c;它允许你为一组相关的常量定义一个名称。枚举提供了一种将一组整数值与更易读的名称关联起来的方法。 定义枚举 你可以使用 enum 关键字来定义…...

【ajax07基础】回调函数地狱

一&#xff1a;什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数&#xff08;甚至一直嵌套下去&#xff09;&#xff0c;形成回调函数地狱 回调函数地狱存在问题&#xff1a; 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…...

华为升腾显卡选型备忘

目录 1. 开发套件 2. 加速模块 3. 加速卡 4. 训练卡 官方地址&#xff1a;https://www.hiascend.com/ 备注&#xff1a; &#xff08;1&#xff09;V后缀的都是Video视频解析卡&#xff0c;本质是推理卡&#xff1b; &#xff08;2&#xff09;I后缀的都是推理卡&#…...

Interview preparation--elasticSearch正排索引原理

正排索引 ElastciSearch 适合做或者说擅长做全文检索&#xff0c;在做全文检索的时候&#xff0c;他会通过生成倒排索引的方式来辅助查询&#xff0c;生成一个词项到 文档id的一个倒排表&#xff0c;这样直接通过 词项可以快速找到所有的 稳定信息。 但是并不是所有的搜索都是…...

C++精解【10】

文章目录 constexpr函数GMP大整数codeblock环境配置数据类型函数类 EigenminCoeff 和maxCoeffArray类 constexpr函数 函数可能在编译时求值&#xff0c;则声明它为constexpr&#xff0c;以提高效率。需要使用constexpr告诉编译器允许编译时计算。 constexpr int min(int x, i…...

Linux高级编程——进程

1.进程的含义? 进程是一个程序执行的过程&#xff0c;会去分配内存资源&#xff0c;cpu的调度 PID, 进程标识符 当前工作路径 chdir umask 0002 进程打开的文件列表 文件IO中有提到 &#xff08;类似于标准输入 标准输出的编号&#xff0c;系统给0&#xff0c;1&#xf…...

手机数据恢复篇:如何在OPPO中恢复永久删除的视频?

说到丢失重要的记忆&#xff0c;如何在OPPO设备中恢复永久删除的视频是一个经常困扰许多用户的话题。意外删除重要视频的情况并不少见&#xff0c;对许多人来说&#xff0c;意识到它们已经消失可能很困难。但是&#xff0c;在正确的指导、方法和工具的帮助下&#xff0c;可以找…...

Obsidan插件开发

1 Obidian 开发 Obsidian 基于 Electron 框架开发&#xff0c;其前端主要使用了 HTML、CSS 和 JavaScript&#xff0c;而后端使用了 Node.js。Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;使 JavaScript 能在服务器端运行。 在开发 Obsidian 插件时&…...

【全球首个开源AI数字人】DUIX数字人-打造你的AI伴侣!

目录 1. 引言1.1 数字人技术的发展背景1.2 DUIX数字人项目的开源意义1.3 DUIX数字人技术的独特价值1.4 本文目的与结构 2. DUIX数字人概述2.1 定义与核心概念2.2 硅基智能与DUIX的关系2.3 技术架构2.4 开源优势2.5 应用场景2.6 安全与合规性 3. DUIX数字人技术特点3.1 开源性与…...

微信小程序服务器从腾讯云迁移到阿里云出现的坑

微信小程序服务器从腾讯云迁移到阿里云出现的坑 背景 原先小程序后台服务器到期&#xff0c;因为之前买的是腾讯云新用户&#xff0c;便宜&#xff0c;到期后续费金额懂的都懂。就在阿里云用新用户买了个新的&#xff0c;遂把服务全转到了阿里云服务器上。 此时&#xff0c;域…...

SQL Server触发器深度解析:数据完整性的守护者

标题&#xff1a;SQL Server触发器深度解析&#xff1a;数据完整性的守护者 摘要 在SQL Server中&#xff0c;触发器是一种特殊的存储过程&#xff0c;它在特定数据库事件发生时自动执行。触发器主要用于维护数据的完整性和实施复杂的业务规则。本文将详细介绍SQL Server中触…...

Qt信号槽的坑

1、重载的信号&#xff08;以QSpinBox为例&#xff09; 像是点击按钮之类的信号槽很好连接&#xff0c;这是因为它的信号没有重载&#xff0c;如果像SpinBox那样有重载信号的话&#xff08;Qt5.12的见下图&#xff0c;不过Qt5.15LTS开始就不再重载而是换信号名了&#xff09;&…...

昇思MindSpore学习笔记1--基本介绍

昇思MindSpore是一个全场景深度学习框架。 一、框架组成 1. 模型库ModelZoo 提供深度学习算法网络。 2. 扩展库MindSpore Extend 拓展领域场景&#xff0c;如GNN/深度概率编程/强化学习等。 3. 科学计算MindSpore Science 科学计算套件。 包含数据集、基础模型、预置高精度模…...

Github Page 使用手册(保姆级教程!)

搭建个人网站&#xff1f;没有服务器&#xff1f;那不如尝试一下 Github Page &#xff01; 最近我正好在搭建个人网站&#xff0c;于是就写一篇博客来详细介绍 Github Page 的使用、部署方式吧&#xff01; 一、进入 Github 访问&#xff1a;github.com 如果你没有 github…...

zram压缩机制看swapon系统调用

1.swapon开启zram交换分区 swapon /dev/block/zram0 mkswap /dev/block/zram0 上面命令调用了linux的swapon系统调用启动zram0交换分区;mkswap命令向块设备文件/dev/block/zram0写入了swap_header信息 问题&#xff1a;实际安卓平台是哪里触发swapon和mkswap调用的&#xff…...

SpringBoot2+Vue3开发博客管理系统

项目介绍 博客管理系统&#xff0c;可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章&#xff0c;以及对文章进行分类&#xff0c;打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术&#xff1a;Vu…...

JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)

ES6 语法&#xff0c;表示唯一且不可变的值&#xff0c;常用作属性键值或者唯一标识符。 let a Symbol() let a Symbol(atomic symbol)console.log(Symbol() Symbol()) // false console.log(Symbol(atom) Symbol(atom)) // falseSymbol 作为属性名 let key Symbol(); le…...

CV04_PASCAL VOC2012数据集介绍

1.1 简介 PASCAL Visual Object Classes (VOC) 2012 数据集是计算机视觉领域中一个广泛使用的标准数据集&#xff0c;用于评估和促进对象识别、分类、目标检测、图像分割以及其他视觉理解任务的算法性能。PASCAL VOC项目起始于2005年&#xff0c;并且每年都会更新数据集&#…...

自动驾驶AVM环视算法--相机的联合标定算法实现和exe测试demo

更新&#xff1a;测试的exe程序&#xff0c;无需解压码就可以体验算法测试效果 链接&#xff1a;https://pan.baidu.com/s/1OfuslVNcTXAZWvwiqflWsA 提取码&#xff1a;zoef 1、压缩包解压后显示如下所示 测试文件包括&#xff1a;可执行的exe文件、测试的图片等。 2.双击ex…...

谷粒商城学习-09-配置Docker阿里云镜像加速及各种docker问题记录

文章目录 一&#xff0c;配置Docker阿里云镜像加速二&#xff0c;Docker安装过程中的几个问题1&#xff0c;安装报错&#xff1a;Could not resolve host: mirrorlist.centos.org; Unknown error1.1 检测虚拟机网络1.2 重设yum源 2&#xff0c;报错&#xff1a;Could not fetch…...

流式处理应用场景与流式计算处理框架选择建议

文章目录 前言使用场景如何选择流式处理框架 前言 在之前的文章中我们介绍了如何进行流式处理——从一般性的概念和模式说起&#xff0c;并列举了一些Streams的例子&#xff1a; 流式处理相关概念总结说明流式处理设计模式总结说明Kafka Streams 架构概览 接下来的文章将介绍…...

ArcGIS Pro SDK (七)编辑 9 使用草图

ArcGIS Pro SDK &#xff08;七&#xff09;编辑 9 使用草图 文章目录 ArcGIS Pro SDK &#xff08;七&#xff09;编辑 9 使用草图1 切换草图选择模式2 聆听草图修改事件3 收听草图完成前事件并修改草图4 收听草图完成事件5 触发草图事件的自定义构造工具6 自定义自定义草图工…...

Linux高并发服务器开发(八)Socket和TCP

文章目录 1 IPV4套接字结构体2 TCP客户端函数 3 TCP服务器流程函数代码粘包 4 三次握手5 四次挥手6 滑动窗口 1 IPV4套接字结构体 2 TCP客户端 特点&#xff1a;出错重传 每次发送数据对方都会回ACK&#xff0c;可靠 tcp是打电话的模型&#xff0c;建立连接 使用连接 关闭连接…...

老款不停售?全新大众帕萨特有望今年内上市车长超5米

据国内媒体报道,上汽大众旗下的全新一代帕萨特车型有望于今年下半年上市,新车可能会被命名为帕萨特PRO,在外形方面会有比较大的幅度的变动,尺寸也有所增加。不过新车上市之后,现款帕萨特可能并不会停售,而是两代同堂销售。这意味着帕萨特PRO的定位应该会比现款帕萨特更高…...

“翼”起降本盈运增效!欧曼星翼PRO自动挡中卡引领区域集散运输发展新趋势

在当前运输行业中,随着运价偏低、燃料价格偏高等因素影响,卡友对性价比更高的运输装备需求越发迫切。这一情况不止在重卡领域备受关注,在中卡行业里也成为卡友的心头大事!积极响应行业发展趋势,欧曼以重卡平台+自动挡双重赋能打造的欧曼星翼PRO自动挡中卡即将上市,深度契合用户…...

滔搏与FanaticsChina宣布开启合作进程,发力大中华区体育IP市

记者从总部位于上海的中国最大运动零售运营商滔搏获悉,其与全球领先的授权体育用品数字化平台Fanatics开启合作,共同拓展Fanatics旗下特许体育IP在大中华区的商业化运营。Fanatics除了与众多风靡全球的体育IP有着深度的合作伙伴关系外,也拥有知名的运动品牌与零售品牌,其业…...

香港优才计划找中介是否是智商税,靠谱中介又该如何找?

关于香港优才计划的申请&#xff0c;找中介帮助还是自己DIY&#xff0c;网络上充斥的声音太多&#xff0c;对不了解的人来说&#xff0c;难以抉择的同时还怕上当受骗。 这其中很容易误导人的关键在于——信息差&#xff01; 今天这篇文章的目的就是想让大家看清一些中介和DIY…...

IEEE Latex模版踩雷避坑指南

参考文献 原Latex模版 \begin{thebibliography}{1} \bibliographystyle{IEEEtran}\bibitem{ref1} {\it{Mathematics Into Type}}. American Mathematical Society. [Online]. Available: https://www.ams.org/arc/styleguide/mit-2.pdf\bibitem{ref2} T. W. Chaundy, P. R. Ba…...

golang windows环境下集成swag的步骤

1、设置环境变量GOBIN%GOPATH%\bin 2、下载依赖包 go get github.com/swaggo/swag/cmd/swag 3、编译swag&#xff0c;进入目录 cd $GOPATH\pkg\mod\github.com\swaggo\swagv1.7.4\cmd\swag 执行&#xff1a;go install 执行结束后就会发现在GOBIN目录下生成了一个 swag.ex…...