数据库知识点汇总(最全!,2024年最新大佬分享开发经验

news2025/6/17 20:05:59

十九、删除数据
DELETE 语句
使用 DELETE 语句从表中删除数据。
DELETE FROM table
[WHERE condition];
删除数据
使用 WHERE 子句删除指定的记录
DELETE FROM departments
WHERE department_name = ‘Finance’;
如果省略 WHERE 子句,则表中的全部数据将被删除
DELETE FROM copy_emp;
删除中的数据完整性错误
DELETE FROM departments
WHERE department_id = 60;

二十、子查询
概念
出现在其他语句内部的select语句,称为子查询或内查询,内部嵌套其他select语句的查询,称为外查询或主查询
示例:
select first_name from employees where
department_id in(
select department_id from departments
where location_id=1700
)
注意事项
• 子查询要包含在括号内。
• 将子查询放在比较条件的右侧。
• 单行操作符对应单行子查询,多行操作符对应多行子查询
单行子查询
• 只返回一行。
• 使用单行比较操作符。

子查询语法
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table);

• 子查询 (内查询) 在主查询之前一次执行完成。
• 子查询的结果被主查询(外查询)使用 。
使用子查询解决问题
谁的工资比 Abel 高?

执行单行子查询
题目:返回job_id与141号员工相同,salary比143号员工多的员工姓名,job_id 和工资
在子查询中使用组函数
题目:返回公司工资最少的员工的last_name,job_id和salary
子查询中的 HAVING 子句
• 首先执行子查询。
• 向主查询中的HAVING 子句返回结果。
题目:查询最低工资大于50号部门最低工资的部门id和其最低工资
非法使用子查询

子查询中的空值问题
SELECT last_name, job_id
FROM employees
WHERE job_id =
(SELECT job_id
FROM employees
WHERE last_name = ‘Haas’);
子查询不返回任何行
多行子查询
• 返回多行。
• 使用多行比较操作符

使用in操作符
题目:返回location_id是1400或1700的部门中的所有员工姓名
在多行子查询中使用 ANY 操作符
题目:返回其它部门中比job_id为‘IT_PROG’部门任一工资低的员工的员
工号、姓名、job_id 以及salary

题目:返回其它部门中比job_id为‘IT_PROG’部门所有工资都低的员工
的员工号、姓名、job_id 以及salary

子查询中的空值问题

二十一、创建数据库
创建一个保存员工信息的数据库
– create database employees;
相关其他命令
– show databases;查看当前所有数据库
– use employees;“使用”一个数据库,使其作为当前数据库
命名规则
• 数据库名不得超过30个字符,变量名限制为29个 • 必须只能包含 A–Z, a–z, 0–9, _共63个字符
• 不能在对象名的字符间留空格
• 必须不能和用户定义的其他对象重名
• 必须保证你的字段没有和保留字、数据库系统或常用方法冲突
• 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了
CREATE TABLE 语句
• 必须具备:
– CREATE TABLE权限
– 存储空间

• 必须指定:
– 表名
– 列名, 数据类型, 尺寸
语法

确认

常用数据类型

创建表
CREATE TABLE emp (
#int类型,自增
emp_id INT AUTO_INCREMENT, #最多保存20个中英文字符
emp_name CHAR (20),
#总位数不超过15位
salary DOUBLE,
#日期类型
birthday DATE,
#主键
PRIMARY KEY (emp_id)
) ;
使用子查询创建表
• 使用 AS subquery 选项,将创建表和插入数据结合起来(?)

• 指定的列和子查询中的列要一一对应
• 通过列名和默认值定义列
复制现有的表:
create table emp1 as select * from employees;
create table emp2 as select * from employees where 1=2;
–创建的emp2是空表。
使用子查询创建表举例

二十二、ALTER TABLE 语句
使用 ALTER TABLE 语句可以实现:
–向已有的表中添加列
修改现有表中的列
–删除现有表中的列
–重命名现有表中的列
追加一个新列
ALTER TABLE dept80
ADD job_id varchar(15);
修改一个列
• 可以修改列的数据类型, 尺寸和默认值
• 对默认值的修改只影响今后对表的修改
ALTER TABLE dept80
MODIFY (last_name VARCHAR(30));

ALTER TABLE dept80
MODIFY (salary double(9,2) default 1000);

删除一个列
使用 DROP COLUMN 子句删除不再需要的列.
ALTER TABLE dept80
DROP COLUMN job_id;
重命名一个列
使用 CHANGE old_column new_column dataType子句重命名列
ALTER TABLE dept80
CHANGE department_name dept_name varchar(15);
二十三、删除表
• 数据和结构都被删除
• 所有正在运行的相关事务被提交
• 所有相关索引被删除
• DROP TABLE 语句不能回滚
DROP TABLE dept80;

清空表
• TRUNCATE TABLE 语句:
– 删除表中所有的数据
– 释放表的存储空间
• TRUNCATE语句不能回滚
• 可以使用 DELETE 语句删除数据,可以回滚
二十四、改变对象的名称
• 执行RENAME语句改变表, 视图的名称
• 必须是对象的拥有者
ALTER table dept
RENAME TO detail_dept;
二十五、常见的数据类型
整型

小数

位类型

char和varchar类型
字符串类型 最多字符数 描述及存储需求
说明:用来保存MySQL中较短的字符串。

binary和varbinary类型
说明:类似于char和varchar,不同的是它们包含二进制字符串而不包含非二进制字符串。
Enum类型
说明:又称为枚举类型哦,要求插入的值必须属于列表中指定的值之一。
如果列表成员为1~255,则需要1个字节存储
如果列表成员为255~65535,则需要2个字节存储
最多需要65535个成员
Set类型
说明:和Enum类型类似,里面可以保存0~64个成员。和Enum类型最大的区别是:SET类型一次可以选取多个成员,而Enum只能选一个根据成员个数不同,存储所占的字节也不同

日期类型

datetime和timestamp的区别
1、Timestamp支持的时间范围较小,取值范围:19700101080001——2038年的某个时间Datetime的取值范围:1000-1-1 ——9999—12-31
2、timestamp和实际时区有关,更能反映实际的日期,而datetime则只能反映出插入时的当地时区
3、timestamp的属性受Mysql版本和SQLMode的影响很大
二十六、约束
什么是约束
• 为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制。
• 约束是表级的强制规定
• 可以在创建表时规定约束(通过 CREATETABLE 语句),或者在表创建之后也可以(通
过 ALTER TABLE 语句)
有以下六种约束:
– NOT NULL 非空约束,规定某个字段不能为空
– UNIQUE 唯一约束,规定某个字段在整个表中是唯一的
– PRIMARY KEY 主键(非空且唯一) – FOREIGN KEY 外键
– CHECK 检查约束
– DEFAULT 默认值
具体细节可以参阅W3Cschool手册
注意: MySQL不支持check约束,但可以使用check约束,而没有任何效果;
• 根据约束数据列的限制,约束可分为:
– 单列约束:每个约束只约束一列
– 多列约束:每个约束可约束多列数据
• 根据约束的作用范围,约束可分为:
– 列级约束只能作用在一个列上,跟在列的定义后面
– 表级约束可以作用在多个列上,不与列一起,而是单独定义
NOT NULL 约束
非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。
Null类型特征:
所有的类型的值都可以是null,包括int、float等数据类型
空字符串””不等于null,0也不等于null
创建 not null 约束:
CREATE TABLE emp(
id INT(10) NOT NULL,
NAME VARCHAR(20) NOT NULL DEFAULT ‘abc’,
sex CHAR NULL
);
增加 not null 约束
ALTER TABLE emp
MODIFY sex VARCHAR(30) NOT NULL;
取消 not null 约束:
ALTER TABLE emp
MODIFY sex VARCHAR(30) NULL;

取消 not null 约束,增加默认值:
ALTER TABLE emp
MODIFY NAME VARCHAR(15) DEFAULT ‘abc’ NULL;
UNIQUE 约束
• 同一个表可以有多个唯一约束,多个列组合的约束。在创建唯一约束的时候,如果不给唯一约束名称,就默认和列名相同。
• MySQL会给唯一约束的列上默认创建一个唯一索引
• 唯一约束,允许出现多个空值:NULL。
CREATE TABLE USER(
id INT NOT NULL,
NAME VARCHAR(25),
PASSWORD VARCHAR(16),
#使用表级约束语法
CONSTRAINT uk_name_pwd UNIQUE(NAME,PASSWORD)
);
表示用户名和密码组合不能重复
添加唯一约束
ALTER TABLE USER
ADD UNIQUE(NAME,PASSWORD);
ALTER TABLE USER
ADD CONSTRAINT uk_name_pwd UNIQUE(NAME,PASSWORD);
ALTER TABLE USER
MODIFY NAME VARCHAR(20) UNIQUE;
删除约束
ALTER TABLE USER
DROP INDEX uk_name_pwd;
PRIMARY KEY 约束
• 主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值
• 如果是多列组合的主键约束,那么这些列都不允许为空值,并且组合的值不允许重复。
• 每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建。
• MySQL的主键名总是PRIMARY,当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。
CREATE TABLE emp4(
id INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20)
);

CREATE TABLE emp5(
id INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20),
pwd VARCHAR(15),
CONSTRAINT emp5_id_pk PRIMARY KEY(id)
);

CREATE TABLE emp6(
id INT NOT NULL,
NAME VARCHAR(20),
pwd VARCHAR(15),
CONSTRAINT emp7_pk PRIMARY KEY(NAME,pwd)
);
删除主键约束
ALTER TABLE emp5
DROP PRIMARY KEY;
添加主键约束
ALTER TABLE emp5
ADD PRIMARY KEY(NAME,pwd);
修改主键约束
ALTER TABLE emp5
MODIFY id INT PRIMARY KEY;
FOREIGN KEY 约束
• 外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系。
• 从表的外键值必须在主表中能找到或者为空。当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据,然后才可以删除主表的数据。
• 还有一种就是级联删除子表数据。
• 注意:外键约束的参照列,在主表中引用的只能是主键或唯一键约束的列
• 同一个表可以有多个外键约束
创建外键约束:
CREATE TABLE dept(
dept_id INT AUTO_INCREMENT PRIMARY KEY,
dept_name VARCHAR(20)
);

CREATE TABLE emp(
emp_id INT AUTO_INCREMENT PRIMARY KEY,
last_name VARCHAR(15),
dept_id INT,
);
创建多列外键组合,必须使用表级约束:
CREATE TABLE classes(
id INT,
NAME VARCHAR(20),
number INT,
PRIMARY KEY(NAME,number)
);

CREATE TABLE student(
id INT AUTO_INCREMENT PRIMARY KEY,
classes_name VARCHAR(20),
classes_number INT,
FOREIGN KEY(classes_name,classes_number)
REFERENCES classes(NAME,number)
);

• 删除外键约束:
ALTER TABLE emp
DROP FOREIGN KEY emp_dept_id_fk;
• 增加外键约束:
ALTER TABLE emp
ADD [CONSTRAINT emp_dept_id_fk] FOREIGN KEY(dept_id)
REFERENCES dept(dept_id);
FOREIGN KEY 约束的关键字
– FOREIGN KEY: 在表级指定子表中的列
– REFERENCES: 标示在父表中的列
–ON DELETE CASCADE(级联删除): 当父表中的列被删除时,子表中相对应的列也被删除
–ON DELETE SET NULL(级联置空): 子表中相应的列置空

CREATE TABLE student(
id INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20),
classes_name VARCHAR(20),
classes_number INT,
/表级别联合外键/
FOREIGN KEY(classes_name, classes_number)
REFERENCES classes(NAME, number) ON DELETE CASCADE);

CHECK 约束
• MySQL可以使用check约束,但check约束对数据验证没有任何作用,添加数据时,没有任何错误或警告

CREATE TABLE temp(
id INT AUTO_INCREMENT,
NAME VARCHAR(20),
age INT CHECK(age > 20),
PRIMARY KEY(id)
);
二十七、MySQL中使用limit实现分页
• 背景
–查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?
• 分页原理
–所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件

MySQL中使用limit实现分页
• 怎么分段,当前在第几段(每页有几条,当前在第几页)
–前10条记录:SELECT * FROM table LIMIT 0,10;
–第11至20条记录:SELECT * FROM table LIMIT 10,10;
–第21至30条记录: SELECT * FROM table LIMIT 20,10;
• 公式:
(当前页数-1)*每页条数,每页条数
SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize; • 注意:
–limit子句必须放在整个查询语句的最后!
二十八、事务
事务的概念
事务:事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;如果单元中的所有SQL语句均执行成功,则事物被顺利执行
MySQL 中的存储引擎[了解]
1、概念:在mysql中的数据用各种不同的技术存储在文件(或内存)中。
2、通过show engines;来查看mysql支持的存储引擎。
3、 在mysql中用的最多的存储引擎有:innodb,myisam ,memory 等。其中innodb支持事务,而myisam、memory等不支持事务
事务的特点(重点)
事务的ACID(acid)属性
–1. 原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
–2. 一致性(Consistency)
事务必须使数据库从一个一致性状态变换到另外一个一致性状态。
–3. 隔离性(Isolation)
事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
–4. 持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响
事务的使用
以第一个 DML 语句的执行作为开始
以下面的其中之一作为结束:
–COMMIT 或 ROLLBACK 语句
–DDL 或 DCL 语句(自动提交)
–用户会话正常结束
–系统异常终了
数据库的隔离级别
对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题:
–脏读: 对于两个事务 T1, T2, T1 读取了已经被 T2 更新但还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.
–不可重复读: 对于两个事务T1, T2, T1 读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了.
–幻读: 对于两个事务T1, T2, T1 从一个表中读取了一个字段, 然后 T2 在该表中插 入了一些新的行. 之后, 如果 T1 再次读取同一个表, 就会多出几行.
数据库事务的隔离性: 数据库系统必须具有隔离并发运行各个事务的能力, 使它们不会相互影响, 避免各种并发问题.
一个事务与其他事务隔离的程度称为隔离级别. 数据库规定了多种事务隔离级别, 不同隔离级别对应不同的干扰程度, 隔离级别越高, 数据一致性就越好, 但并发性越弱
数据库提供的 4 种事务隔离级别

Oracle 支持的 2 种事务隔离级别:READ COMMITED, SERIALIZABLE。 Oracle 默认的事务隔离级别为: READ COMMITED
Mysql 支持 4 种事务隔离级别. Mysql 默认的事务隔离级别为: REPEATABLE READ

在 MySql 中设置隔离级别
每启动一个 mysql 程序, 就会获得一个单独的数据库连接. 每个数据库连接都有一个全局变量 @@tx_isolation, 表示当前的事务隔离级别.
查看当前的隔离级别: SELECT @@tx_isolation;
设置当前 mySQL 连接的隔离级别:
–set transaction isolation level read committed;
设置数据库系统的全局的隔离级别:
–set global transaction isolation level read committed;
二十九、视图
• 概念
视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果
• 应用场景:
– 多个地方用到同样的查询结果
– 该查询结果使用的sql语句较复杂
• 示例:
CREATE VIEW my_v1
AS
SELECT studentname,majorname
FROM student s
INNER JOIN major m
ON s.majorid=m.majorid
WHERE s.majorid=1;
常见题目
1.查询邮箱中包含a字符的员工名、部门名和工种信息
2.查询各部门的平均工资
3.查询平均工资最低的部门信息
4.查询平均工资最低的部门名和工资
视图的好处
• 重用sql语句
• 简化复杂的sql操作,不必知道它的查询细节
• 保护数据,提高安全性
创建或者修改视图
• 创建视图的语法:
create [or replace] view view_name
As select_statement
[with|cascaded|local|check option]
• 修改视图的语法:
alter view view_name
As select_statement
[with|cascaded|local|check option]
视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。
• 包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
• 常量视图
• Select中包含子查询
• join
• from一个不能更新的视图
• where子句的子查询引用了from子句中的表
删除视图
• 删除视图的语法:
用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
drop view [if exists] view_name,view_name …[restrict|cascade]
查看视图
• 查看视图的语法:
show tables;
如果需要查询某个视图的定义,可以使用show create view命令进行查看:
show create view view_name \G
三十、存储过程和函数
什么是存储过程和函数
存储过程和函数:
事先经过编译并存储在数据库中的一段sql语句的集合。
使用好处:
1、简化应用开发人员的很多工作
2、减少数据在数据库和应用服务器之间的传输
3、提高了数据处理的效率
创建存储过程或函数
• 创建存储过程:
create procedure 存储过程名 ([proc_parameter[,…]])
[characteristic…]routine_body
• 创建函数:
create function 函数名([func_parameter[,…]])
returns type
[characteristic…]routine_body
语法解释
• proc_parameter: [in|out|inout] param_name type
• Func_paramter:param_name type
• Type:
任何有效的mysql数据类型
• Characteristic:
language sql(默认,且推荐)
|[not] deterministic
|{contains sql|no sql|reads sql data|modifies sql data}
|sql security{definer|invoker}
|comment ‘string’
• Rountine_body:
有效的sql 过程语句
调用存储过程或函数
• 调用存储过程:
call 存储过程名(参数列表)
• 调用函数:
Select 函数名(参数列表)
案例
• 查询员工名为king的所有记录
• 根据输入的员工名,查询部门名
• 根据指定的员工编号,返回工资
• 根据指定的员工编号,返回工资和部门号
• 将输入的a和b都翻倍并返回
修改存储过程或函数
• 修改存储过程:
alter procedure 存储过程名 [charactristic…]
• 修改函数:
alter function 函数名 [charactristic…]
characteristic:
{contains sql|no sql|reads sql data|modifies sql data}
|sql security{definer|invoker}
|comment ‘string’
删除存储过程或函数
说明:一次只能删除一个存储过程或者函数,并且要求有该过程或函数的alter routine 权限
删除存储过程:
drop procedure [if exists] 存储过程名
删除函数:
drop function [if exists] 函数名
查看存储过程或函数
1.查看存储过程或函数的状态:
show {procedure|function} status like 存储过程或函数名
2.查看存储过程或函数的定义:
show create {procedure|function} 存储过程或函数名
3.通过查看information_schema.routines了解存储过程和函数的信息(了解)
select * from rountines where rounine_name =存储过程名|函数名
三十一、数据库设计
为什么需要设计数据库
良好的数据库设计
-节省数据的存储空间
-能够保证数据的完整性
-方便进行数据库应用系统的开发
软件项目开发周期中数据库设计

设计数据库的步骤
收集信息
与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
标识实体 (Entity)
标识数据库要管理的关键对象或实体,实体一般是名词
标识每个实体的属性(Attribute)
标识实体之间的关系(Relationship)
E-R图

转化E-R图为数据库模型图
将各实体转换为对应的表,将各属性转换为各表对应的列
标识每个表的主键列
在表之间建立主外键,体现实体

为什么需要数据规范化
不合规范的表设计
信息重复
更新异常
插入异常
无法正确表示信息
删除异常

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-OlKlBKgn-1712809312160)]

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-eGU8OLwX-1712809312160)]

给大家整理的电子书资料:

[外链图片转存中…(img-2i26l3KF-1712809312161)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-N5GFtbfv-1712809312161)]

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

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

相关文章

ai智能问答免费API接口

智能对话API接口,可以为网站或其他产品提供强大的智能交互功能,无需自行开发复杂的语义分析和自然语言处理算法。这使得开发者能够更专注于产品的核心功能和用户体验,加速产品上线速度并降低开发成本。 智能对话API接口的功能还包括对话内容…

CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

VS运行.netcore项目,一般情况下都是用localhost访问,怎么做到用IP地址访问,步骤详解

一、问题描述 通常情况下运行起来都是这样 运行后效果 怎么做到下面这样呢? 二、解决办法 vs把项目运行起来之后,在电脑的右下角有一个图标,右键它 点击其中一个 进入applicationhost.config文件

Golang | Leetcode Golang题解之第14题最长公共前缀

题目&#xff1a; 题解&#xff1a; func longestCommonPrefix(strs []string) string {if len(strs) 0 {return ""}isCommonPrefix : func(length int) bool {str0, count : strs[0][:length], len(strs)for i : 1; i < count; i {if strs[i][:length] ! str0 …

用树莓派监测地震?

监测人类活动和地质活动对地球的影响是 Raspberry Shake 在全球取得的一项成功。 Raspberry Shake 的目标是建立一个让公民科学家也能使用的专业级地震仪。现在&#xff0c;他们在全球安装了数千台基于 Raspberry Pi 的高灵敏度仪器&#xff0c;为前沿研究提供动力。 解决方案…

Facial Micro-Expression Recognition Based on DeepLocal-Holistic Network 阅读笔记

中科院王老师团队的工作&#xff0c;用于做微表情识别。 摘要&#xff1a; Toimprove the efficiency of micro-expression feature extraction,inspired by the psychological studyof attentional resource allocation for micro-expression cognition,we propose a deep loc…

IDEA中无法保存设置 Cannot Save Settings

确定原因: 在IDEA中父工程不应该存在有子工程的相关东西 首先,这是我的DCYJ项目(观察右侧的Content Root) 其次,这是我的EAPOFode项目(观察右侧的Content Root爆红处) 最后我将DCYJ项目右侧的Content Root全部删掉

Java毕业设计 基于springboot vue撸宠平台 宠物系统

Java毕业设计 基于springboot vue撸宠平台 宠物系统 springboot撸宠平台 宠物系统 功能介绍 首页 图片轮播 用户或商家注册 用户或商家登录 登录验证码 店铺信息 店铺详情 店铺投诉 宠物信息 宠物详情 预订 退订 搜索 收藏 点赞 踩 评论 个人中心 更新信息 我的收藏 在线客服…

【NLP】隐马尔可夫模型(HMM)与条件随机场(CRF)简介

一. HMM 隐马尔可夫模型&#xff08;Hidden Markov Model, HMM&#xff09;是一种用于处理含有隐藏状态的序列数据的统计学习模型。通过建模隐藏状态之间的转移关系以及隐藏状态与观测数据的生成关系&#xff0c;HMM能够在仅观察到部分信息的情况下进行状态推理、概率计算、序…

Spring Boot项目获取resources目录下的文件并返回给前端

学无止境&#xff0c;气有浩然&#xff01; 新开通公众号&#xff0c;欢迎大家关注&#xff0c;后续会持续分享技术和相关资料 文章目录 前言方案1.getResourceAsStream2.ResourceLoader3.Value配合Resource 打完收工&#xff01; 前言 最近项目需要下载一个模板文件用来修改…

32.768khz晶振时间跑不准有偏差的原因

32.768kHz晶振是一种常见的晶振频率&#xff0c;广泛应用于实时钟电路、计时电路和低功耗设备中。然而&#xff0c;有时候会发现32.768kHz晶振的时间跑不准&#xff0c;存在一定的偏差。JF晶发电子将介绍几个可能导致32.768kHz晶振时间跑不准的原因。 1. 温度变化&#xff1a;…

vue3页面导出为PDF文件

vue3页面导出为PDF文件 尝试了很多方法&#xff0c;都没有找到完美的解决方法 目前网上有个思路&#xff0c;就是将页面先转存为图片&#xff0c;然后将图片另存为PDF文件 记录一下完整过程 一、安装必备包 安装两个第三方插件 npm i html2canvas npm i jspdfhtml2canvas…

八股面试——数据库——索引

索引的概念 B树的概念&#xff1a; 索引的作用 聚簇索引与非聚簇索引 聚簇索引就是主键值&#xff0c;在B树上&#xff0c;通过主键大小&#xff08;数据在B树叶子节点按主键顺序排序&#xff09;寻找对应的叶子节点&#xff0c;叶子节点保存的一整条记录。 非聚簇索引&#x…

【vim 学习系列文章 22 -- vim 实现 linux 多行快速标准注释】

文章目录 vim 实现 linux 多行快速标准注释 vim 实现 linux 多行快速标准注释 不多说了&#xff0c;直接上动图&#xff1a; 上代码&#xff1a; function! CommentBlock()" 获取Visual模式选中的起始和结束行号let old_start_line line("<")let old_end…

项目4-图书管理系统2+统一功能处理

1. 拦截器&#xff08;Interceptor&#xff09; 我们完成了强制登录的功能, 后端程序根据Session来判断用户是否登录, 但是实现⽅法是比较麻烦的。 所需要处理的内容&#xff1a; • 需要修改每个接⼝的处理逻辑 • 需要修改每个接⼝的返回结果 • 接⼝定义修改, 前端代码也需…

vue简单使用一(vue的声明)

首先引入vue的js文件&#xff1a; <script src"js/vue.js" type"application/javascript"></script> vue.js文件去vue官网下载即可 html代码 <div class"vuePro"><div> vue的属性信息都得放在这个标签下面哪怕是同级也是…

轻松玩转TikTok:TK防关联引流系统实现一键式多账号管理

TK防关联引流系统是为TikTok平台量身打造的全方位引流解决方案&#xff0c;不仅解决了传统跨境电商在TikTok运营中遇到的诸多难题&#xff0c;还通过创新技术实现了自动化、高效化的全球引流。以下是该系统的主要优势及功能特点&#xff1a; 系统核心优势 1.全球真实环境模拟…

论文| Convolutional Neural Network-based Place Recognition - 2014

2014-Convolutional Neural Network-based Place Recognition

推荐!6个实用工具类微信小程序,提升效率的神器,工作生活中一定用得到!

亲爱的时间管理小能手们&#xff0c;你们是否经常感叹一天24小时不够用&#xff1f;是不是也经历过在杂乱无章的app海洋中寻找那一个刚好满足需求的小众工具&#xff1f;别急&#xff0c;今天我要给你揭秘六款实用到哭的小程序神器&#xff0c;它们就像你口袋里的多功能瑞士军刀…