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

MySQL数据库 #3

文章目录

  • 一、创建表的完整语法
  • 二、约束条件
        • 1.unsigned (无符号)
        • 2. zerofill (0填充)
        • 3. default (默认值)
        • 4. not null(非空)
        • 5. unique(唯一)
        • 6. primary key (主键)
        • 7.auto_incrment (自动增加1)
        • 整型中括号的作用
        • 清空表的两种方式
  • 三、补充一些其它的SQL语句
        • 1.数据准备
        • 2.查询关键字值where
            • 1.查询id大于等于3小于等于6的数据
            • 2.查询薪资是20000或者18000或者17000的数据
            • 3.查询员工姓名中包含o字母的员工姓名和薪资
            • 4.查询员工姓名是由四个字符组成的员工姓名与其薪资
            • 5.查询id小于3或者大于6的数据
            • 7.查询岗位描述为空的员工名与岗位名 针对null不能用等号,只能用is
        • 3. 查询关键字之group by分组
            • 聚合函数
            • 1.按部门分组
            • 2.获取每个部门的最高工资
            • 3.分组函数补充
            • 4.关键字之having过滤
            • 5.关键字之distince去重
            • 6.关键字之order by排序
            • 7.关键字之limit分页
            • 8.关键字之regexp正则

一、创建表的完整语法

create table t1(id int,name varchar(32),age int,gneder varchar(5)
);create table 库名.表名(字段名1 数据类型 约束条件 约束条件 约束条件 约束条件,字段名2 数据类型 约束条件 约束条件 约束条件 约束条件,字段名3 数据类型 约束条件 约束条件 约束条件 约束条件,字段名4 数据类型 约束条件 约束条件 约束条件 约束条件,字段名5 数据类型 约束条件 约束条件 约束条件 约束条件,字段名6 数据类型 约束条件 约束条件 约束条件 约束条件
);insert into 库名.t1 values('1', 2, 3, 4, 5, 6);
  1. 字段名和数据类型必须写的,不能省略
  2. 约束条件是可选的,可有可无,而且可有有多个
  3. 表结构中最后一个字段不能有逗号

二、约束条件

约束条件其实就是在数据类型的基础之上在做约束

1.unsigned (无符号)
create table t2(id int unsigned);  这是给字段去符号的

如果添加的数是带符号的就会报错

insert into t2 values(-1);
# ERROR 1264 (22003): Out of range value for column 'id' at row 1
2. zerofill (0填充)
create table t4 (id int(10) zerofill);  位数不够的时候用0填充,只能和int一起使用'''
mysql> insert into t4 values(5);
Query OK, 1 row affected (0.01 sec)mysql> select * from t4;
+------------+
| id         |
+------------+
| 0000000005 |
+------------+
1 row in set (0.00 sec)
'''
3. default (默认值)
mysql> create table t5(id int, name varchar(32) default'jack');  更改了Default的默认值,不更改默认就是NULL+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(32) | YES  |     | jack    |       |
+-------+-------------+------+-----+---------+-------+
4. not null(非空)
mysql> create table t6(id int, name varchar(32) not null);
在name后面添加了约束语非空后,name必须要填写数据否则就报错mysql> desc t6;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(32) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+insert into t6 values(1);
# ERROR 1136 (21S01): Column count doesn't match value count at row 1insert into t6 values(1,'jack');select * from t6;
+------+------+
| id   | name |
+------+------+
|    1 | jack |
+------+------+
5. unique(唯一)

1.单唯一

create table t7(id int, name varchar(32) unique);
添加了单唯一后name就不能再重复添加,否则报错

2.多唯一

create table t8 (id int,name varchar(32),unique(id, name));
以上两个都不能重复
6. primary key (主键)

主键单从约束条件上来看,它相当于是非空且唯一 unique not null

id unique not null ---------> id primary key

create table t8 (id int primary key);
create table t8 (id int unique not null);

InnoDB存储引擎规定每一张表都要有一个主键,但是,我之前创建的表都没有指定主键, 表是怎么创建成功的?

是因为InnoDB存储引擎内部有一个隐藏的主键,这个主键我们看不到,它也不能够加快查询速度,仅仅是为了帮助我们把表创建成功. 所以,以后我们创建表的时候都主动的创建一个主键,我们自己创建的主键能够加快查询速度,因为是一个索引.

一般情况下,主键应该创建哪个字段? 大多都给id字段加了,所以,每一张表都要有一个id字段,并且一张表中不只是有一个主键,可以有多个主键,但是,大多数情况下,都只有一个

create table t9(id int primary key, name varchar(32));
insert into t9 values(1,'jack'),(2,'jak1');
添加了主键后id不能相同且非空
7.auto_incrment (自动增加1)

一般情况下都配和主键使用

create table t11(id int primary key auto_increment, name varchar(32));insert into t11(name) values('tank'),('jarry');
插入数据,在表名后面加上需要添加数据的那一个字段,如果有多个字段就需要添加多个。+----+-------+
| id | name  |
+----+-------+
|  1 | jack  |
|  2 | jack  |
|  3 | jack  |
|  4 | kevin |
|  5 | tank  |
|  6 | jarry |
+----+-------+
整型中括号的作用
create table t123(id int(5)); 括号里的数字不代表范围
create table t123(id int(5) zerofill); 括号里的数字不代表范围
清空表的两种方式
1. delete from t; # 不会重置id值
2. truncate t9;   # 清空表、重置id值
3. 
truncate:建议使用truncate,使用这个,万一你清空错了,还有机会恢复mysql它有很多个日志文件,binlog日志-----》可以恢复数据,记录了你所有的SQL语句

三、补充一些其它的SQL语句

语法:
1. 修改表名  ALTER TABLE 表名 RENAME 新表名;
2. 增加字段ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…],ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…]  FIRST;ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;                       
3. 删除字段ALTER TABLE 表名 DROP 字段名;
4. 修改字段  # modify只能改字段数据类型完整约束,不能改字段名,但是change可以!ALTER TABLE 表名 MODIFY  字段名 数据类型 [完整性约束条件…];ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];"""除了以上的SQL语句,还有很多其他的,如果遇到了不会写,就直接搜索引擎"""
1.数据准备
# 数据准备
create table emp(id int primary key auto_increment,name varchar(20) not null,sex enum('male','female') not null default 'male', #大部分是男的age smallint(3) unsigned not null default 28,hire_date date not null,post varchar(50),post_comment varchar(100),salary double(15,2),office int, #一个部门一个屋子depart_id int
);insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values
('tom','male',78,'20150302','teacher',1000000.31,401,1),#以下是教学部
('kevin','male',81,'20130305','teacher',8300,401,1),
('tony','male',73,'20140701','teacher',3500,401,1),
('owen','male',28,'20121101','teacher',2100,401,1),
('jack','female',18,'20110211','teacher',9000,401,1),
('jenny','male',18,'19000301','teacher',30000,401,1),
('sank','male',48,'20101111','teacher',10000,401,1),
('哈哈','female',48,'20150311','sale',3000.13,402,2),#以下是销售部门
('呵呵','female',38,'20101101','sale',2000.35,402,2),
('西西','female',18,'20110312','sale',1000.37,402,2),
('乐乐','female',18,'20160513','sale',3000.29,402,2),
('拉拉','female',28,'20170127','sale',4000.33,402,2),
('僧龙','male',28,'20160311','operation',10000.13,403,3), #以下是运营部门
('程咬金','male',18,'19970312','operation',20000,403,3),
('程咬银','female',18,'20130311','operation',19000,403,3),
('程咬铜','male',18,'20150411','operation',18000,403,3),
('程咬铁','female',18,'20140512','operation',17000,403,3);

创建完之后得到这样的一张表

在这里插入图片描述

2.查询关键字值where

where是筛选的条件

"""模糊查询:没有明确的筛选条件关键字:like关键符号:%:匹配任意个数任意字符_:匹配单个个数任意字符
show variables like '%mode%';
"""like筛选功能 """
模糊查询:没有明确的筛选条件关键字:like关键符号:%:匹配任意个数任意字符_:匹配单个个数任意字符
show variables like '%mode%se';
"""
1.查询id大于等于3小于等于6的数据
mysql> select * from emp where id >=3 and id <= 6;
+----+-------+--------+-----+------------+---------+--------------+----------+--------+-----------+
| id | name  | sex    | age | hire_date  | post    | post_comment | salary   | office | depart_id |
+----+-------+--------+-----+------------+---------+--------------+----------+--------+-----------+
|  3 | tony  | male   |  73 | 2014-07-01 | teacher | NULL         |  3500.00 |    401 |         1 |
|  4 | owen  | male   |  28 | 2012-11-01 | teacher | NULL         |  2100.00 |    401 |         1 |
|  5 | jack  | female |  18 | 2011-02-11 | teacher | NULL         |  9000.00 |    401 |         1 |
|  6 | jenny | male   |  18 | 1900-03-01 | teacher | NULL         | 30000.00 |    401 |         1 |
+----+-------+--------+-----+------------+---------+--------------+----------+--------+-----------+
2.查询薪资是20000或者18000或者17000的数据
select * from emp where salary=20000 or salary=18000 or salary=17000;
select * from emp where salary in (20000,18000,17000); # 简写+----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
| id | name      | sex    | age | hire_date  | post      | post_comment | salary   | office | depart_id |
+----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
| 14 | 程咬金    | male   |  18 | 1997-03-12 | operation | NULL         | 20000.00 |    403 |         3 |
| 16 | 程咬铜    | male   |  18 | 2015-04-11 | operation | NULL         | 18000.00 |    403 |         3 |
| 17 | 程咬铁    | female |  18 | 2014-05-12 | operation | NULL         | 17000.00 |    403 |         3 |
+----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
3.查询员工姓名中包含o字母的员工姓名和薪资

在你刚开始接触mysql查询的时候,建议你按照查询的优先级顺序拼写出你的sql语句

"""
先是查哪张表 from emp
再是根据什么条件去查 where name like ‘%o%’
再是对查询出来的数据筛选展示部分 select name,salary
"""mysql> select name,salary from emp where name like '%o%';
+------+------------+
| name | salary     |
+------+------------+
| tom  | 1000000.31 |
| tony |    3500.00 |
| owen |    2100.00 |
+------+------------+
4.查询员工姓名是由四个字符组成的员工姓名与其薪资
mysql> select name,salary from emp where name like '____';
+------+----------+
| name | salary   |
+------+----------+
| tony |  3500.00 |
| owen |  2100.00 |
| jack |  9000.00 |
| sank | 10000.00 |
+------+----------+
4 rows in set (0.00 sec)mysql> select name,salary from emp where char_length(name) = 4;
+------+----------+
| name | salary   |
+------+----------+
| tony |  3500.00 |
| owen |  2100.00 |
| jack |  9000.00 |
| sank | 10000.00 |
+------+----------+
5.查询id小于3或者大于6的数据
select *  from emp where id not between 3 and 6;
+----+-----------+--------+-----+------------+-----------+--------------+------------+--------+-----------+
| id | name      | sex    | age | hire_date  | post      | post_comment | salary     | office | depart_id |
+----+-----------+--------+-----+------------+-----------+--------------+------------+--------+-----------+
|  1 | tom       | male   |  78 | 2015-03-02 | teacher   | NULL         | 1000000.31 |    401 |         1 |
|  2 | kevin     | male   |  81 | 2013-03-05 | teacher   | NULL         |    8300.00 |    401 |         1 |
|  7 | sank      | male   |  48 | 2010-11-11 | teacher   | NULL         |   10000.00 |    401 |         1 |
|  8 | 哈哈      | female |  48 | 2015-03-11 | sale      | NULL         |    3000.13 |    402 |         2 |
|  9 | 呵呵      | female |  38 | 2010-11-01 | sale      | NULL         |    2000.35 |    402 |         2 |
| 10 | 西西      | female |  18 | 2011-03-12 | sale      | NULL         |    1000.37 |    402 |         2 |
| 11 | 乐乐      | female |  18 | 2016-05-13 | sale      | NULL         |    3000.29 |    402 |         2 |
| 12 | 拉拉      | female |  28 | 2017-01-27 | sale      | NULL         |    4000.33 |    402 |         2 |
| 13 | 僧龙      | male   |  28 | 2016-03-11 | operation | NULL         |   10000.13 |    403 |         3 |
| 14 | 程咬金    | male   |  18 | 1997-03-12 | operation | NULL         |   20000.00 |    403 |         3 |
| 15 | 程咬银    | female |  18 | 2013-03-11 | operation | NULL         |   19000.00 |    403 |         3 |
| 16 | 程咬铜    | male   |  18 | 2015-04-11 | operation | NULL         |   18000.00 |    403 |         3 |
| 17 | 程咬铁    | female |  18 | 2014-05-12 | operation | NULL         |   17000.00 |    403 |         3 |
+----+-----------+--------+-----+------------+-----------+--------------+------------+--------+-----------+
7.查询岗位描述为空的员工名与岗位名 针对null不能用等号,只能用is
select name,post from emp where post_comment is null;
+-----------+-----------+
| name      | post      |
+-----------+-----------+
| tom       | teacher   |
| kevin     | teacher   |
| tony      | teacher   |
| owen      | teacher   |
| jack      | teacher   |
| jenny     | teacher   |
| sank      | teacher   |
| 哈哈      | sale      |
| 呵呵      | sale      |
| 西西      | sale      |
| 乐乐      | sale      |
| 拉拉      | sale      |
| 僧龙      | operation |
| 程咬金    | operation |
| 程咬银    | operation |
| 程咬铜    | operation |
| 程咬铁    | operation |
+-----------+-----------+
3. 查询关键字之group by分组

分组:按照某个指定的条件将单个单个的个体分成一个个的整体
比如:按照男女分组,按照年龄分组
单纯的分组时没有意义的

在MySQL中分组之后,只能够获得分组的依据! 按照哪个字段分组就只能获取这个字段的值,别的字段不能拿到

分组一般配合聚合函数使用:sum max min avg count 分组的关键字:group by
# 数据分组应用场景:每个部门的平均薪资,男女比例等# 1.按部门分组
1. 分组之后默认可以获取所有的字段信息
2. 分组之后,展示的数据都是每个组的第一条数据

分组之后默认只能够直接过去到分组的依据 其他数据都不能直接获取

针对5.6需要自己设置sql_mode
set global sql_mode = ‘only_full_group_by,STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH’;

聚合函数

聚合函数主要就是配合分组一起使用
max min sum count avg

1.按部门分组
select * from emp group by post;  # 分组后取出的是每个组的第一条数据
select id,name,sex from emp group by post;  # 验证
"""
设置sql_mode为only_full_group_by,意味着以后但凡分组,只能取到分组的依据,
不应该在去取组里面的单个元素的值,那样的话分组就没有意义了,因为不分组就是对单个元素信息的随意获取
"""
set global sql_mode="strict_trans_tables,only_full_group_by";
#重新链接客户端
select * from emp group by post;  # 报错
select id,name,sex from emp group by post;  # 报错
select post from emp group by post;  # 获取部门信息
#强调:只要分组了,就不能够再“直接”查找到单个数据信息了,只能获取到组名
2.获取每个部门的最高工资
# 以组为单位统计组内数据>>>聚合查询(聚集到一起合成为一个结果)
# 每个部门的最高工资
select post,max(salary) from emp group by post;
补充:在显示的时候还可以给字段取别名
select post as '部门',max(salary) as '最高工资' from emp group by post;
as也可以省略 但是不推荐省 因为寓意不明确
# 每个部门的最低工资
select post,min(salary) from emp group by post;
# 每个部门的平均工资
select post,avg(salary) from emp group by post;
# 每个部门的工资总和
select post,sum(salary) from emp group by post;
# 每个部门的人数
select post,count(id) from emp group by post;
统计的时候只要是非空字段 效果都是一致的 
这里显示age,salary,id最后演示特殊情况post_comment
3.分组函数补充
# group_concat  分组之后使用
如果真的需要获取分组以外的数据字段 可以使用group_concat()
# 每个部门的员工姓名
select post,group_concat(name) from emp group by post;select post,group_concat(name,'|',sex) from emp group by post;select post,group_concat(name,'|',sex, '|', gender) from emp group by post;select post,group_concat(distinct name) from emp group by post;select post,group_concat(distinct name separator '%') from emp group by post;
# concat  不分组使用
select concat(name,sex) from emp;
select concat(name,'|',sex) from emp;# concat_ws()
select post,concat_ws('|', name, age, gender) from emp group by post;
4.关键字之having过滤
where与having都是筛选功能 但是有区别where在分组之前对数据进行筛选having在分组之后对数据进行筛选1.统计各部门年龄在30岁以上的员工平均薪资,并且保留平均薪资大于10000的部门.# 先筛选出年龄在30岁以上的
select * from emp where age > 30;# 在进行分组,按照部门分组
select avg(salary) as avg_salary from emp where age > 30 group by post;# 保留平均薪资大于10000的部门
select avg(salary) as avg_salary from emp where age > 30 group by post having avg(salary) > 10000;
5.关键字之distince去重
distinct:去重
"""带主键的数据去重有没有意义? 没有,主键本身就是唯一的"""select distinct id,age from emp;
6.关键字之order by排序
select * from emp order by salary; #默认升序排
select * from emp order by salary desc; #降序排#先按照age降序排,在年轻相同的情况下再按照薪资升序排
select * from emp order by age desc,salary;'''多字段排序,如果想让后面的字段排序生效,前提:前面的排序字段必须一样'''# 统计各部门年龄在20岁以上的员工平均工资,并且保留平均工资大于1000的部门,然后对平均工资进行排序#  20岁以上的员工
select * from emp where age > 20;
# 各部门的平均薪资
select avg(salary) from emp where age > 20 group by post having avg(salary) > 1000;
# 
select avg(salary) from emp where age > 20 group by post having avg(salary) > 1000 order by avg(salary) desc;
7.关键字之limit分页
# 限制展示条数
# 限制展示条数
select * from emp limit 3;
# 查询工资最高的人的详细信息
select * from emp order by salary desc limit 1;# 分页显示
select * from emp limit 0,5;  # 第一个参数表示起始位置,第二个参数表示的是条数,不是索引位置
select * from emp limit 5,5;
8.关键字之regexp正则
select * from emp where name regexp '^j.*(n|y)$';

相关文章:

MySQL数据库 #3

文章目录 一、创建表的完整语法二、约束条件1.unsigned &#xff08;无符号&#xff09;2. zerofill &#xff08;0填充&#xff09;3. default &#xff08;默认值&#xff09;4. not null&#xff08;非空&#xff09;5. unique&#xff08;唯一&#xff09;6. primary key &…...

XQ350441.0、XQ350641.0、XQ350441.1、XQ350641.1、XQ350441.2、XQ350641.2三位五通电磁气动阀

XQ230440、XQ230640、XQ230840、XQ231040、XQ231540二位三通气动电磁阀&#xff1b;XQ250440、XQ250640、XQ250840、XQ251040、XQ251540二位五通电磁气动阀&#xff1b;XQ240440二位四通电磁气动阀&#xff1b;XQ230441、XQ230641、XQ230841、XQ231041、XQ231541二位三通电磁气…...

降本增效神器?Share Creators 智能数字资产管理系统真香!

降本增效似乎是一个持续又永久的话题。尤其在今年&#xff0c; 显得格外的重要~ 在各行各业都受到了疫情所带来巨大冲击的背景下&#xff0c;降本增效对很多企业来说不再是锦上添花&#xff0c;而可能是一条唯一的出路。 随着市场的收缩和竞争的加剧&#xff0c;在更“卷”的…...

2023年中国汽车差速器需求量、竞争现状及行业市场规模分析[图]

差速器是汽车驱动系统的主要部件&#xff0c;它的作用就是在向两边半轴传递动力的同时&#xff0c;允许两边半轴以不同的转速旋转&#xff0c;满足两边车轮尽可能以纯滚动的形式作不等距行驶&#xff0c;减少轮胎与地面的摩擦。汽车差速器是驱动车轮差速转弯或复杂路面强力通过…...

【ceph】ceph集群的节点机器重启,导致磁盘的lvm消失,如何恢复呢~~满满的都是干货

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…...

竞赛选题 深度学习人脸表情识别算法 - opencv python 机器视觉

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习人脸表情识别系…...

异步为什么会造成 HTTP 队首阻塞?

一、http 协议的队首阻塞 队首阻塞,队首的事情没有处理完的时候&#xff0c;后面的都要等着。 1.1 HTTP1.0 的队首阻塞 对于同一个 tcp 连接&#xff0c;所有的 http1.0 请求放入队列中&#xff0c;只有前一个请求的响应收到了&#xff0c;然后才能发送下一个请求。http1.0 的…...

使用hibernate,报出ORA-00933_ SQL 命令未正确结束

这里分享一个很容易出错的原因&#xff0c;一旦涉及到切换不同的数据源&#xff0c;就需要修改配置文件&#xff0c;有时候就会忘记了修改方言&#xff0c;而jpa是需要设置方言的。 比如我这里就是因为从mysql切换为了使用oracle&#xff0c;忘记了设置对应的方言&#xff0c;才…...

易点易动设备管理系统:提升企业备件管理和维修效率的智能解决方案

在当今竞争激烈的商业环境中&#xff0c;大型生产制造企业面临着日益复杂的设备管理挑战。为了提高生产效率和降低成本&#xff0c;企业需要一种高效的设备管理系统。易点易动设备管理系统是一款智能化的解决方案&#xff0c;旨在帮助企业提升备件管理和维修效率。本文将详细介…...

新上线游戏产品需不需要防御?

游戏运营免不了遭受恶意DDoS和CC攻击&#xff0c;且攻击常达百G以上&#xff0c;攻击流量过大&#xff0c;超过一般服务器的基础防护能力&#xff0c;不少企业面对大流量攻击显得束手无策&#xff0c;只能选择被迫停机&#xff0c;其次游戏行业利润高&#xff0c;很容易被黑客盯…...

Linux中的开发工具(yum,vim,gcc/g++,gdb,Makefile,git)

文章目录 1. Linux软件包管理器——yumyum 语法yum 常用命令安装 yum 仓库源 2. Linux编辑器——vimvim 的五种常用模式模式切换vim 基本操作命令模式命令集&#xff08;1&#xff09;光标命令&#xff08;2&#xff09;复制粘贴命令&#xff08;3&#xff09;撤销与重做&#…...

什么是自动证书管理环境(ACME)

组织的网站需要 24x7 全天候可用&#xff0c;以建立信任并提供信息&#xff0c;如果网站因证书过期而停机&#xff0c;那么很难恢复失去的客户信任、收入和品牌声誉&#xff0c;手动管理证书基础结构会使组织面临中断、中间人 &#xff08;MITM&#xff09; 攻击等的严重风险。…...

探索光模块的MSA多源协议

在当今高度互联的世界中&#xff0c;光模块作为网络设备的重要部分&#xff0c;其性能和质量直接影响到整个网络系统的运行。其中光模块由于其灵活性和高效性&#xff0c;已经成为数据中心和云计算领域的主要选择。本文易天光通信将深入探讨光模块的MSA协议&#xff0c;揭示其重…...

《算法通关村——双指针妙用》

《算法通关村——双指针妙用》 删除元素 描述 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。要求&#xff1a;不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并原地修改输入数组…...

postgresql|数据库迁移|ora2pg工具的web界面介绍

前言&#xff1a; ora2pg是一个比较强大的数据库迁移工具&#xff0c;那根据名字来说&#xff0c;也可以看出来&#xff0c;这个工具主要是用来配置去O化&#xff0c;将在运行的oracle数据库迁移到postgresql数据库内的 当然了&#xff0c;我们使用此工具主要还是用命令行&am…...

【zookeeper】zk的ZAB原子广播协议

zk的ZAB原子广播协议来源于paxos算法[1]。paxos算法是一种基于消息传递的消息一致性算法&#xff0c;其特点是在可靠的通信环境下&#xff0c;可以保证消息的最终一致性。paxos要求每台server都持有自己的一个事务id的记录&#xff0c;这个事务id会每通过一个提议就自增加一&am…...

【问题思考总结】为什么分布函数右连续要左闭右开

问题 这个问题困扰我很久了&#xff0c;虽然感觉没什么用&#xff0c;但是还是想着搞清楚一点。 思考 Q1&#xff1a;什么是右连续&#xff1f; A1&#xff1a;F&#xff08;x0&#xff09;F&#xff08;x0&#xff09;&#xff0c;即函数在一点的右极限等于该点的函数值。 …...

解决 edge 浏览器开发者工具出不来的问题

文章目录 猜测原因问题现象尝试过程最终解决办法C盘爆满解决经过&#xff08;拆东墙补西墙&#xff09; 猜测原因 windows 系统更新导致电脑管家C盘迁移导致&#xff08;我C盘爆满了&#xff0c;每天提醒看着膈应&#xff0c;想着清理一下&#xff09; 问题现象 按F12 和 右键…...

嵌入式算法——傅里叶变换算法

文章引注 https://mp.weixin.qq.com/s/5VIpNWci9YLY3m4gcYd6-w 摘要 傅里叶变换的核心在于&#xff0c;“任何连续周期信号可以由一组适当的正弦曲线组合而成”&#xff0c;在这个基础上对信号的中特定频率的正弦波进行分解或者重组&#xff0c;基于频率方面分析波形。 1、傅…...

让数据“动”起来:Python动态图表制作详解

在读技术博客的过程中&#xff0c;我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的&#xff1f;难度大吗&#xff1f;这篇文章就介绍了 Python 中一种简单的动态图表制作方法。 数据暴增的年代&#xff0c;数据科学家、分析师在被要求对数据有…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

向量几何的二元性:叉乘模长与内积投影的深层联系

在数学与物理的空间世界中&#xff0c;向量运算构成了理解几何结构的基石。叉乘&#xff08;外积&#xff09;与点积&#xff08;内积&#xff09;作为向量代数的两大支柱&#xff0c;表面上呈现出截然不同的几何意义与代数形式&#xff0c;却在深层次上揭示了向量间相互作用的…...