​​金仓数据库KingbaseES V9R1C10安装教程 - Windows版详细指南​

文章目录

  • 一、前言
  • 二、软件下载
    • 2.1 下载安装包
    • 2.2 下载授权文件
  • 三. 安装KingbaseES数据库
    • 3.1 解压安装包
    • 3.2 运行安装程序
    • 3.3 安装步骤详解
      • 步骤1:欢迎界面
      • 步骤2:许可协议
      • 步骤3:添加授权文件
      • 步骤4:选择安装路径
      • 步骤5:选择安装类型
      • 步骤6:安装预览
      • 步骤7:安装进度
      • 步骤8:创建快捷方式
      • 步骤9:完成安装
  • 四、创建数据库实例
    • 4.1 启动管理工具
    • 4.2 实例配置
    • 4.3 完成创建
  • 五、KStudio开发管理工具使用
    • 5.1 工具介绍
    • 5.2 启动KStudio
    • 5.3 创建数据库连接
      • 方法1:通过菜单创建
      • 方法2:通过工具栏创建
      • 连接配置
    • 5.4 界面功能
    • 5.5 数据库对象管理
      • 创建数据库
      • 创建表
      • 数据浏览和编辑
  • 六、 SQL入门使用
    • 6.1 ksql命令行工具配置
    • 6.2 启动ksql命令行工具
      • 6.2.1 基本启动方式
      • 6.2.2 常用启动参数
      • 6.2.3 连接示例
    • 6.3 ksql基础操作
      • 6.3.1 连接和退出
      • 6.3.2 基本命令
        • 数据库相关命令
        • 表和模式相关命令
        • 用户和权限相关命令
    • 6.4 数据库和表操作
      • 6.4.1 创建数据库
      • 6.4.2 创建表
      • 6.4.3 查看表结构
      • 6.4.4 修改表结构
    • 6.5 数据操作
      • 6.5.1 插入数据
      • 6.5.2 查询数据
      • 6.5.3 连接查询
      • 6.5.4 更新数据
      • 6.5.5 删除数据
    • 6.6 高级查询示例
      • 6.6.1 子查询
      • 6.6.2 窗口函数
    • 6.7 ksql实用命令
      • 6.7.1 元命令
      • 6.7.2 文件操作
      • 6.7.3 环境设置
  • 七、结语


本教程详细介绍了国产数据库KingbaseES V9R1C10在Windows系统下的完整安装配置流程,包含授权文件获取、安装步骤图解、实例创建和KStudio开发工具使用指南。教程特别针对初学者设计了SQL入门操作章节,涵盖数据库创建、表管理、数据增删改查等基础操作,并提供了丰富的实用命令和高级查询示例。通过30分钟的学习,您将掌握KingbaseES的核心功能,包括ksql命令行工具配置、环境变量设置、数据库连接管理等关键技能。本教程适用于数据库管理员、开发人员和国产数据库迁移用户,是学习KingbaseES的必备指南。

一、前言

KingbaseES是北京人大金仓信息技术股份有限公司自主研发的企业级关系型数据库管理系统,具有高性能、高可用、高安全等特点。本教程将详细介绍KingbaseES V9R1C10版本在Windows环境下的完整安装过程,以及KStudio开发管理工具的使用方法和SQL入门操作,帮助初学者快速上手这款国产数据库。

二、软件下载

2.1 下载安装包

首先我们需要进入到电科金仓数据库的下载页面:点击跳转

选择V9R1C10版本,下载X64_Windows版本的安装包。

下载页面

2.2 下载授权文件

点击授权文件链接跳转到授权文件下载页面:

授权文件下载

授权文件说明
KingbaseES数据库授权文件分为开发版、标准版、专业版和企业版。根据版本定位不同,以数据库首次启动为首日开始计算:

  • 开发版:时长限制为365天
  • 标准版、专业版、企业版:时长限制为90天

根据需要选择相应的授权文件,这里选择开发版,点击开发版-365天进行下载。

选择授权版本

下载完成的授权文件以.dat为扩展名,在后续安装过程中需要使用。

授权文件

三. 安装KingbaseES数据库

3.1 解压安装包

下载的KingbaseES安装包是.iso格式的镜像文件,需要使用解压工具进行解压。

ISO文件

3.2 运行安装程序

解压后进入KingbaseES_V009R001C010B0004_Win64_install目录,右键点击setup.bat,选择"以管理员身份运行"。

运行安装程序

3.3 安装步骤详解

步骤1:欢迎界面

进入安装向导欢迎页面,点击【下一步】继续。

欢迎界面

步骤2:许可协议

仔细阅读许可协议,选中我接受《许可协议条款》,点击【下一步】。

许可协议

步骤3:添加授权文件

点击【浏览】按钮,选择之前下载的.dat授权文件,然后点击【下一步】。

添加授权文件

步骤4:选择安装路径

可以使用默认路径,也可以自定义安装路径。建议选择有足够空间的磁盘分区,点击【下一步】。

安装路径

步骤5:选择安装类型

推荐选择【完全安装】,这样可以获得完整的功能组件。

安装类型包含组件适用场景
完全安装数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具需要完整功能的开发或生产环境
服务器安装仅数据库服务器仅需数据库服务的轻量级部署
定制安装可自由选择各种组件需要特定功能组合的特殊需求场景

安装类型

步骤6:安装预览

确认安装信息无误后,点击【安装】开始安装过程。

安装预览

步骤7:安装进度

等待安装进度完成,这个过程可能需要几分钟时间。

安装进度

步骤8:创建快捷方式

选中【创建快捷方式】,选择【所有用户】,程序组选择【Default】,点击【下一步】。

快捷方式说明

  • 用户范围:选择"当前用户"仅对当前账户有效;选择"所有用户"对设备上所有用户可用
  • 程序组:可以自定义快捷方式的分组名称

创建快捷方式

步骤9:完成安装

选中【初始化数据库】选项,点击【完成】。

完成安装

四、创建数据库实例

4.1 启动管理工具

安装完成后会自动弹出金仓数据库管理工具,选择【单节点列表】,点击【创建新实例】。

数据库管理工具

4.2 实例配置

在创建实例界面中,需要配置以下参数:

  • 实例名称:自定义实例名称
  • 端口号:默认54321,可根据需要修改
  • 用户名和密码:设置数据库管理员账户
  • 兼容模式:根据需要选择兼容模式(如MySQL、Oracle、PostgreSQL等)

配置完成后点击【下一步】。

实例配置

4.3 完成创建

确认配置信息无误后,选择【创建后立即执行】和【创建后注册为系统服务】,点击【执行】。

执行创建

创建完成后,在单节点列表中可以看到新创建的实例,状态显示为"运行中"表示创建成功。

创建完成

五、KStudio开发管理工具使用

5.1 工具介绍

KingbaseES提供了多种客户端工具,存放在ClientTools的guitools目录下:C:\Kingbase\ES\V9\ClientTools\guitools

工具说明

  • DeployTools:集群部署工具,用于远程部署集群节点服务
  • KDts:数据库迁移工具,支持同异构数据源之间的数据迁移
  • KStudio:开发管理工具,提供图形化界面管理数据库

工具目录

5.2 启动KStudio

进入KStudio目录,双击KStudio.exe启动开发管理工具。

启动KStudio

5.3 创建数据库连接

方法1:通过菜单创建

单击菜单栏中的数据库新建连接

菜单连接

方法2:通过工具栏创建

点击工具栏中的连接图标。

连接配置

在连接配置对话框中填写以下信息:

  • 数据库版本:选择KingbaseES V9
  • 主机IP:localhost或127.0.0.1
  • 端口:54321(或创建实例时设置的端口)
  • 数据库:TEST(默认数据库)
  • 用户名:SYSTEM(或创建实例时设置的用户名)
  • 密码:创建实例时设置的密码
  • 连接名:自定义连接名称
  • 连接类型:选择合适的连接类型

配置完成后点击【测试连接】,连接成功后点击【完成】。

连接配置

5.4 界面功能

KStudio主界面主要包含以下几个区域,顶部功能区,左侧导航区,中部工作区,底部状态区

KStudio主界面

5.5 数据库对象管理

创建数据库

  1. 点击连接名称
  2. 右键数据库选择新建数据库
  3. 输入数据库名称和相关配置
  4. 点击【确定】完成创建

创建表

  1. 展开数据库节点,选择数据库
  2. 选择模式
  3. 右键表,点击新建表
  4. 在表设计器中定义字段、数据类型、约束等
  5. 点击【保存】完成表创建

数据浏览和编辑

  1. 右键点击表名
  2. 选择查询数据编辑数据
  3. 在数据网格中查看或修改数据
  4. 使用【提交】保存更改

六、 SQL入门使用

ksql 是 KingbaseES 数据库的命令行连接工具,支持本地和远程两种连接方式。
本地连接: ksql 连接到同一台计算机运行的 KingbaseES 数据库。
远程连接: ksql 通过网络访问另一台计算机运行的 KingbaseES 数据库。

6.1 ksql命令行工具配置

在使用ksql命令行工具之前,需要先配置环境变量以便系统能够找到ksql可执行文件。
在系统变量Path里面配置kingbase的bin目录

打开命令提示符,输入以下命令验证配置:
ksql --version
如果显示版本信息,说明环境变量配置成功。

6.2 启动ksql命令行工具

6.2.1 基本启动方式

# 使用默认参数连接
ksql# 指定连接参数
ksql -h localhost -p 54321 -d TEST -U SYSTEM# 使用完整参数格式
ksql --host=localhost --port=54321 --dbname=TEST --username=SYSTEM

6.2.2 常用启动参数

参数长格式说明
-h--host数据库服务器主机名或IP地址
-p--port数据库服务器端口号
-d--dbname要连接的数据库名
-U--username连接用户名
-W--password强制提示输入密码
-f--file执行指定的SQL文件
-c--command执行单个SQL命令后退出
-l--list列出所有可用数据库

6.2.3 连接示例

# 连接到本地数据库
ksql -h localhost -p 54321 -d TEST -U SYSTEM -W# 执行SQL文件
ksql -h localhost -p 54321 -d TEST -U SYSTEM -f script.sql# 执行单个命令
ksql -h localhost -p 54321 -d TEST -U SYSTEM -c "SELECT version();"

6.3 ksql基础操作

6.3.1 连接和退出

-- 连接成功后会显示提示符
TEST=#-- 退出ksql
\q
-- 或者
\quit
-- 或者使用Ctrl+C

6.3.2 基本命令

数据库相关命令
-- 查看当前数据库
SELECT current_database();-- 查看所有数据库
\l
-- 或者
\list-- 连接到其他数据库
\c database_name
-- 或者
\connect database_name-- 查看数据库版本
SELECT version();
表和模式相关命令
-- 查看当前模式下的所有表
\dt-- 查看所有模式下的表
\dt *.*-- 查看表结构
\d table_name-- 查看表的详细信息
\d+ table_name-- 查看所有模式
\dn-- 查看视图
\dv
用户和权限相关命令
-- 查看所有用户
\du-- 查看当前用户
SELECT current_user;-- 查看会话用户
SELECT session_user;

6.4 数据库和表操作

6.4.1 创建数据库

-- 创建数据库
CREATE DATABASE mydb;-- 创建数据库并指定所有者
CREATE DATABASE mydb OWNER SYSTEM;-- 创建数据库并指定编码
CREATE DATABASE mydb WITH OWNER = SYSTEMENCODING = 'UTF8'TABLESPACE = pg_default;-- 连接到新创建的数据库
\c mydb

6.4.2 创建表

-- 创建学生表
CREATE TABLE students (id SERIAL PRIMARY KEY,name VARCHAR(50) NOT NULL,age INTEGER CHECK (age > 0 AND age < 120),gender CHAR(1) CHECK (gender IN ('M', 'F')),email VARCHAR(100) UNIQUE,phone VARCHAR(20),create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 创建课程表
CREATE TABLE courses (course_id SERIAL PRIMARY KEY,course_name VARCHAR(100) NOT NULL,course_code VARCHAR(20) UNIQUE NOT NULL,credits INTEGER CHECK (credits > 0),teacher VARCHAR(50),description TEXT,create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 创建选课表(多对多关系)
CREATE TABLE enrollments (enrollment_id SERIAL PRIMARY KEY,student_id INTEGER NOT NULL,course_id INTEGER NOT NULL,grade DECIMAL(3,1) CHECK (grade >= 0 AND grade <= 100),enroll_date DATE DEFAULT CURRENT_DATE,status VARCHAR(20) DEFAULT 'ACTIVE',FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE,FOREIGN KEY (course_id) REFERENCES courses(course_id) ON DELETE CASCADE,UNIQUE(student_id, course_id)
);

6.4.3 查看表结构

-- 查看表结构
\d students-- 查看表的详细信息(包括索引、约束等)
\d+ students-- 查看表的创建语句
\d students

6.4.4 修改表结构

-- 添加列
ALTER TABLE students ADD COLUMN address TEXT;
ALTER TABLE students ADD COLUMN birth_date DATE;-- 修改列数据类型
ALTER TABLE students ALTER COLUMN name TYPE VARCHAR(100);-- 修改列默认值
ALTER TABLE students ALTER COLUMN update_time SET DEFAULT CURRENT_TIMESTAMP;-- 删除列
ALTER TABLE students DROP COLUMN phone;-- 重命名列
ALTER TABLE students RENAME COLUMN birth_date TO birthday;-- 添加约束
ALTER TABLE students ADD CONSTRAINT chk_email_format CHECK (email LIKE '%@%.%');-- 删除约束
ALTER TABLE students DROP CONSTRAINT chk_email_format;-- 创建索引
CREATE INDEX idx_students_name ON students(name);
CREATE INDEX idx_students_email ON students(email);

6.5 数据操作

6.5.1 插入数据

-- 插入单条记录
INSERT INTO students (name, age, gender, email) 
VALUES ('张三', 20, 'M', 'zhangsan@example.com');-- 插入多条记录
INSERT INTO students (name, age, gender, email, address) VALUES
('李四', 21, 'F', 'lisi@example.com', '北京市朝阳区'),
('王五', 19, 'M', 'wangwu@example.com', '上海市浦东新区'),
('赵六', 22, 'F', 'zhaoliu@example.com', '广州市天河区'),
('钱七', 20, 'M', 'qianqi@example.com', '深圳市南山区'),
('孙八', 23, 'F', 'sunba@example.com', '杭州市西湖区');-- 插入课程数据
INSERT INTO courses (course_name, course_code, credits, teacher, description) VALUES
('数据库原理', 'DB101', 3, '张教授', '关系数据库理论与实践'),
('Java程序设计', 'JAVA201', 4, '李教授', 'Java语言基础与面向对象编程'),
('数据结构', 'DS101', 3, '王教授', '线性表、树、图等数据结构'),
('操作系统', 'OS201', 4, '刘教授', '进程管理、内存管理、文件系统'),
('计算机网络', 'NET301', 3, '陈教授', 'TCP/IP协议栈与网络编程');-- 插入选课数据
INSERT INTO enrollments (student_id, course_id, grade) VALUES
(1, 1, 85.5),
(1, 2, 92.0),
(2, 1, 78.5),
(2, 3, 88.0),
(3, 2, 95.5),
(3, 4, 82.0),
(4, 1, 90.0),
(4, 5, 87.5),
(5, 3, 93.0),
(5, 4, 89.5);

6.5.2 查询数据

-- 基本查询
SELECT * FROM students;-- 指定列查询
SELECT name, age, email FROM students;-- 条件查询
SELECT name, age FROM students WHERE age > 20;
SELECT * FROM students WHERE gender = 'F' AND age >= 21;-- 模糊查询
SELECT * FROM students WHERE name LIKE '张%';
SELECT * FROM students WHERE email LIKE '%@example.com';-- 排序查询
SELECT * FROM students ORDER BY age DESC;
SELECT * FROM students ORDER BY age ASC, name DESC;-- 分页查询
SELECT * FROM students LIMIT 3;
SELECT * FROM students LIMIT 3 OFFSET 2;-- 去重查询
SELECT DISTINCT gender FROM students;
SELECT DISTINCT teacher FROM courses;-- 聚合查询
SELECT COUNT(*) as total_students FROM students;
SELECT gender, COUNT(*) as count, AVG(age) as avg_age 
FROM students 
GROUP BY gender;SELECT AVG(grade) as avg_grade, MAX(grade) as max_grade, MIN(grade) as min_grade
FROM enrollments;-- 分组过滤
SELECT course_id, COUNT(*) as student_count, AVG(grade) as avg_grade
FROM enrollments 
GROUP BY course_id
HAVING COUNT(*) > 1;

6.5.3 连接查询

-- 内连接查询
SELECT s.name, c.course_name, e.grade
FROM students s
INNER JOIN enrollments e ON s.id = e.student_id
INNER JOIN courses c ON e.course_id = c.course_id;-- 左连接查询(显示所有学生,包括未选课的)
SELECT s.name, c.course_name, e.grade
FROM students s
LEFT JOIN enrollments e ON s.id = e.student_id
LEFT JOIN courses c ON e.course_id = c.course_id;-- 右连接查询(显示所有课程,包括无人选的)
SELECT s.name, c.course_name, e.grade
FROM students s
RIGHT JOIN enrollments e ON s.id = e.student_id
RIGHT JOIN courses c ON e.course_id = c.course_id;-- 复杂连接查询
SELECT s.name as student_name,s.age,c.course_name,c.teacher,e.grade,CASE WHEN e.grade >= 90 THEN '优秀'WHEN e.grade >= 80 THEN '良好'WHEN e.grade >= 70 THEN '中等'WHEN e.grade >= 60 THEN '及格'ELSE '不及格'END as grade_level
FROM students s
JOIN enrollments e ON s.id = e.student_id
JOIN courses c ON e.course_id = c.course_id
ORDER BY e.grade DESC;

6.5.4 更新数据

-- 更新单条记录
UPDATE students SET age = 21 WHERE name = '张三';-- 更新多个字段
UPDATE students 
SET age = 23, email = 'zhangsan_new@example.com',update_time = CURRENT_TIMESTAMP
WHERE id = 1;-- 批量更新
UPDATE students SET age = age + 1 WHERE gender = 'M';-- 基于连接的更新
UPDATE enrollments 
SET grade = grade + 5 
WHERE student_id IN (SELECT id FROM students WHERE age < 21
) AND grade < 95;

6.5.5 删除数据

-- 删除指定记录
DELETE FROM enrollments WHERE grade < 60;-- 条件删除
DELETE FROM students WHERE age < 18;-- 基于子查询的删除
DELETE FROM enrollments 
WHERE student_id IN (SELECT id FROM students WHERE name = '张三'
);-- 清空表数据(保留表结构)
TRUNCATE TABLE enrollments;

6.6 高级查询示例

6.6.1 子查询

-- 单行子查询
SELECT name FROM students 
WHERE age = (SELECT MAX(age) FROM students);-- 多行子查询
SELECT name FROM students 
WHERE id IN (SELECT student_id FROM enrollments WHERE grade > 90);-- 相关子查询
SELECT s.name, s.age,(SELECT AVG(grade) FROM enrollments e WHERE e.student_id = s.id) as avg_grade
FROM students s;-- EXISTS子查询
SELECT name FROM students s
WHERE EXISTS (SELECT 1 FROM enrollments e WHERE e.student_id = s.id AND e.grade > 85
);

6.6.2 窗口函数

-- 排名函数
SELECT name, age, ROW_NUMBER() OVER (ORDER BY age DESC) as row_num,RANK() OVER (ORDER BY age DESC) as rank,DENSE_RANK() OVER (ORDER BY age DESC) as dense_rank
FROM students;-- 分组排名
SELECT s.name, c.course_name, e.grade,ROW_NUMBER() OVER (PARTITION BY e.course_id ORDER BY e.grade DESC) as rank_in_course
FROM students s
JOIN enrollments e ON s.id = e.student_id
JOIN courses c ON e.course_id = c.course_id;-- 累计函数
SELECT name, age,SUM(age) OVER (ORDER BY age) as cumulative_age,AVG(age) OVER (ORDER BY age ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as running_avg
FROM students;

6.7 ksql实用命令

6.7.1 元命令

-- 帮助命令
\?-- 时间统计
\timing on   -- 开启查询时间统计
\timing off  -- 关闭查询时间统计-- 输出格式
\x on        -- 开启扩展显示模式(垂直显示)
\x off       -- 关闭扩展显示模式-- 分页显示
\pset pager on   -- 开启分页
\pset pager off  -- 关闭分页-- 设置输出格式
\pset format aligned     -- 对齐格式
\pset format unaligned   -- 非对齐格式
\pset format csv         -- CSV格式

6.7.2 文件操作

-- 执行SQL文件
\i script.sql
\include script.sql-- 将查询结果输出到文件
\o output.txt
SELECT * FROM students;
\o  -- 关闭输出重定向-- 复制表数据到文件
\copy students TO 'students.csv' WITH CSV HEADER;-- 从文件导入数据
\copy students FROM 'students.csv' WITH CSV HEADER;

6.7.3 环境设置

-- 查看当前设置
\set-- 设置变量
\set AUTOCOMMIT off
\set ECHO_HIDDEN on-- 设置环境变量
\setenv LANG zh_CN.UTF-8-- 执行系统命令
\! dir          -- Windows下查看目录
\! ls -la       -- Linux下查看目录

七、结语

通过本教程,我们完成了KingbaseES V9R1C10数据库在Windows环境下的完整安装配置,学习了KStudio开发管理工具的基本使用方法,并掌握了SQL的入门操作。KingbaseES作为一款优秀的国产数据库,在功能特性和性能表现上都达到了企业级应用的要求。

希望本教程能够帮助您快速入门KingbaseES数据库,在国产数据库的学习和应用道路上迈出坚实的第一步。随着对数据库理解的不断深入,相信您能够充分发挥KingbaseES的强大功能,为企业的数字化转型贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于HTML5与Tailwind CSS的现代运势抽签系统技术解析

引言 浪浪山札记&#xff1a;献给所有在暗夜里倔强发光的普通人 一、系统概述 "每日运签"是一个基于现代Web技术构建的交互式运势抽取应用&#xff0c;结合了中国传统文化元素与现代UI设计理念。该系统采用HTML5、CSS3和JavaScript作为核心技术栈&#xff0c;并利用T…

面试题:如何用Flink实时计算QPS

Flink 实时计算 QPS 面试题题目&#xff1a; 假设某互联网应用日活用户 100 万&#xff0c;每天产生 1 亿条数据&#xff08;日志/事件&#xff09;&#xff0c;要求使用 Apache Flink 实现实时计算系统的 QPS&#xff08;Queries Per Second&#xff09;&#xff0c;并考虑以下…

快速部署一个鉴黄服务

1.安装依赖pip install opennsfw22.代码实现import opennsfw2 as n2# 将自动下载预训练模型 open_nsfw_weights.h5 到 C:\Users\Administrator\.opennsfw2\weights # pip install opennsfw2# 单张预测 image_path 1.jpg nsfw_probability n2.predict_image(image_path) print…

【软考中级网络工程师】知识点之入侵防御系统:筑牢网络安全防线

目录一、入侵防御系统基础概念1.1 定义与作用1.2 与其他安全设备的关系二、入侵防御系统工作原理剖析2.1 数据包捕获与预处理2.2 深度包检测&#xff08;DPI&#xff09;技术2.3 威胁特征匹配2.4 行为分析与机器学习辅助检测2.5 威胁处理与响应机制三、入侵防御系统功能全面解析…

多种适用于 MCU 固件的 OTA 升级方案

大家就当看个乐。 Bootloader A区方案 设计说明 ● 存储分区&#xff1a; ○ Bootloader区&#xff1a;存储引导加载程序&#xff0c;负责启动流程、固件验证和升级逻辑。 ○ A区&#xff1a;存储应用程序固件&#xff0c;运行时由Bootloader跳转到A区执行。 ● 升级流程&…

一种适用于 3D 低剂量和少视角心脏单光子发射计算机断层成像(SPECT)的可泛化扩散框架|文献速递-深度学习人工智能医疗图像

Title题目A generalizable diffusion framework for 3D low-dose and few-view cardiacSPECT imaging一种适用于 3D 低剂量和少视角心脏单光子发射计算机断层成像&#xff08;SPECT&#xff09;的可泛化扩散框架01文献速递介绍心血管疾病&#xff08;CVDs&#xff09;是全球范围…

解决“Win7共享文件夹其他电脑网络无法发现共享电脑名称”的问题

要让运行 Windows 7 的电脑被局域网中其他设备&#xff08;包括另一台电脑、手机、NAS 等&#xff09;“发现”&#xff0c;必须同时满足三个条件&#xff1a; 网络发现功能已启用&#xff1b;对应的后台服务已启动&#xff1b;防火墙规则放行。 下面给出最简、最稳妥的 3 步设…

深度学习——03 神经网络(4)-正则化方法价格分类案例

4 正则化 4.1 概述模型拟合的3种状态左边&#xff08;Underfitting 欠拟合&#xff09;&#xff1a;模型太简单&#xff0c;没抓住数据规律。比如用直线硬套弯曲的数据&#xff0c;预测效果差&#xff0c;训练误差和测试误差都大&#xff1b;中间&#xff08;Just right 拟合合…

【深入浅出STM32(1)】 GPIO 深度解析:引脚特性、工作模式、速度选型及上下拉电阻详解

GPIO 深度解析&#xff1a;引脚特性、工作模式、速度选型及上下拉电阻详解一、GPIO概述二、GPIO的工作模式1、简述&#xff08;1&#xff09;4种输入模式&#xff08;2&#xff09;4种输出模式&#xff08;3&#xff09;4种最大输出速度2、引脚速度&#xff08;1&#xff09;输…

C++中的`auto`与`std::any`:功能、区别与选择建议

引言 在C编程中&#xff0c;auto和std::any是两个功能强大但用途不同的工具。理解它们的区别和适用场景对于编写高效、可维护的代码至关重要。本文将详细介绍auto和std::any的基本概念、使用方法、适用场景以及它们之间的区别&#xff0c;并提供选择建议&#xff0c;帮助开发者…

如何把ubuntu 22.04下安装的mysql 8 的 数据目录迁移到另一个磁盘目录

在 Ubuntu 22.04 上迁移 MySQL 8 的数据目录到另一个磁盘&#xff0c;一般可以分为 停库 → 拷贝数据 → 修改配置 → 改权限 → 启动验证 这几个步骤。 我给你一个详细且可回滚的方案&#xff08;不会直接覆盖旧数据&#xff0c;确保安全&#xff09;。1. 检查 MySQL 数据目录…

高防CDN和高防IP的各自优势

高防 CDN 和高防 IP 都是网络安全防护的重要手段&#xff0c;二者基于不同的技术原理&#xff0c;在防护场景和优势上各有侧重。以下详细分析它们的各自优势&#xff1a;一、高防 CDN 的优势高防 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;…