文章目录

  • 一、前言
  • 二、软件下载
    • 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.pswp.cn/bicheng/93508.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93508.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93508.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文推荐|迁移学习+多模态特征融合

来gongzhonghao【图灵学术计算机论文辅导】&#xff0c;快速拿捏更多计算机SCI/CCF发文资讯&#xff5e;在Cvpr、NeurIPS、AAAI等顶会中&#xff0c;迁移学习多模态特征融合正以“降成本、提性能、省标注”的绝对优势成为最热赛道。面对超大模型全量微调天价算力、异构模态对齐…

接口芯片断电高阻态特性研究与应用分析

摘要&#xff1a; 本文以国科安芯推出的ASM1042 系列通讯接口芯片为例&#xff0c;深入探讨接口芯片断电高阻态特性&#xff0c;涵盖其定义、原理、应用及设计注意事项。通过对相关技术资料的梳理与分析&#xff0c;结合具体芯片实例&#xff0c;阐述高阻态在电路稳定性、设备兼…

数据结构初阶(17)排序算法——非比较排序(计数排序·动图演示)、排序算法总结

2.0 十大排序算法2.5 非比较排序 之前学习的排序算法都是比较排序——借助比较大小&#xff0c;来实现排序。非比较就是不借助比较大小&#xff0c;来实现排序。——小众的、局限的非比较排序大致有这些&#xff1a;计数排序、桶排序、基数排序。桶排序、基数排序在实践中意义不…

VisualStudio2022调试Unity C#代码步骤

一.VS安装Unity开发组件按下图所示安装Unity开发组件二.附加Unity调试程序2.1 先将Unity进入Play模式2.2 VS选择附加Unity调试程序菜单2.3 选择附加的实例三.加入断点测试Update方法中成功进入断点

Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录

Zabbix使用 1.下载 2.安装 2.1 程序安装 2.2 数据库初始化 2.3 前端配置 2.4 服务启动 3.Web登录 4.总结 安装说明: 本次安装为在线安装,使用数据库为PostgreSQL。 1.下载 由于是在线安装,这次不涉及离线安装包的下载,仅做参考用,点击跳转【下载页面】,下载说明: 版本…

爬机 验证服务器是否拒绝请求

当访问XX网站时返回 418 状态码时&#xff0c;说明服务器识别到了爬虫行为并拒绝了请求。这是网站的反爬机制在起作用&#xff0c;我们可以通过模拟浏览器行为来绕过基础反爬。import requestsurl https://cn.bing.com/# 模拟浏览器的完整请求头&#xff0c;包含更多浏览器标识…

GaussDB 数据库架构师修炼(十三)安全管理(3)-数据库审计

1 数据库审计作用数据库审计机制主要通过对SQL操作或其他操作记录审计日志的方式 &#xff0c;增强数据库系统对非法操作的追溯及举证能力 。高斯数据库提供两种审计特性 &#xff1a;传统审计 &#xff0c;统一审计。2 传统审计传统审计通过GUC参数配置需要对数据库的哪些操作…

C语言(11)—— 数组(超绝详细总结)

Hi&#xff01;冒险者&#x1f60e;&#xff0c;欢迎闯入 C 语言的奇幻异世界&#x1f30c;&#xff01; 我是 ankleless&#x1f9d1;‍&#x1f4bb;&#xff0c;和你一样的闯荡者&#xff5e; 这是我的冒险笔记打怪升级之路——C语言之路&#x1f4d6;&#xff0c;里面有踩过…

【AI生成+补充】高频 hql的面试问题 以及 具体sql

以下是高频HQL面试题及对应SQL示例&#xff0c;涵盖核心语法、优化技巧和典型场景&#xff0c;可直接用于面试准备&#xff1a; 一、基础操作与DDL 1. 创建分区表 & 动态插入分区 sql -- 创建外部分区表&#xff08;按日期分区&#xff09; CREATE EXTERNAL TABLE logs…

开源 Arkts 鸿蒙应用 开发(十七)通讯--http多文件下载

文章的目的为了记录使用Arkts 进行Harmony app 开发学习的经历。本职为嵌入式软件开发&#xff0c;公司安排开发app&#xff0c;临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 Arkts …

Cloudflare Tunnel 使用SAAS回源加速配置教程

在使用 Cloudflare Tunnel 时,通过“主域名+加速域名”的联动配置,既能隐藏内网 IP,又能优化访问速度。本文以实际部署场景为例(主域名 zhuyuming.dpdns.org、加速域名 jiasu.dpdns.org),带你一步步完成内网服务穿透(以 192.168.1.6:5555 网页服务为例),实操性强,可直…

C++实战

Ref deepwiki vuecruddllamma.cpp 目标 计划实现一个C项目&#xff0c;前端用vue&#xff0c;后端用C和llama.cpp。实现可以进行逻辑功能和AI推理。

dify 调用本地的 stable diffusion api生成图片的工作流搭建

Dify调用本地Stable Diffusion API的工作流搭建指南 核心架构 #mermaid-svg-ce029i4XFKrDzRgU {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ce029i4XFKrDzRgU .error-icon{fill:#552222;}#mermaid-svg-ce029i4XFK…

【Web后端】Django、flask及其场景——以构建系统原型为例

一、Django 和 Flask 简介 Django 是一个高级 Python Web 框架&#xff0c;提供了完整的“开箱即用”功能&#xff0c;包括 ORM、认证、管理后台等&#xff0c;便于快速开发安全且可维护的网站。Flask 是一个轻量级 Python Web 框架&#xff0c;核心功能比较简单&#xff0c;但…

飞算JavaAI:从智能调度到出行服务的全链路技术升级

免责声明&#xff1a;此文章所有内容都是实验测试数据 目录一、智慧交通核心场景的技术突破1.1 交通态势感知与智能预警系统1.2 公共交通智能调度系统1.3 一体化出行服务系统二、智慧交通系统效能升级实践2.1 交通数据中台构建结语&#xff1a;重新定义智慧交通技术边界一、智慧…

vscode的wsl环境,ESP32驱动0.96寸oled屏幕

注意大小写&#xff0c;wsl&#xff08;也就是linux环境&#xff09;严格区分大小写。有帮助记得订阅专栏点赞&#xff0c;当前不定期持续更新。 一、文件夹格式&#xff1a; project/ # 项目根目录 ├─ main/ # 主程序文件夹 │ ├─ mai…

CodeBuddy AI Coding 企业场景落地实践与思考

&#x1f449;目录1 引言2 诊断团队研发流程3 选择合适的 AI CODING 工具4 团队 AI 研发流程落地实践5 全面 CodeBuddy &#xff0c;深入 CodeBuddy6 诚邀共建在 AI 浪潮席卷全球的今天&#xff0c;AI CODING 已经不是企业研发团队的可选项&#xff0c;而是必选项。如果你是企业…

windows下hashcat使用gpu破解execl打开密码

需要的软件 1.hashcat &#xff1a;https://hashcat.net 2.john the ripper &#xff1a;https://www.openwall.com 获取execl加密文件的Hash PS G:\dl\john-1.9.0-jumbo-1-win64\john-1.9.0-jumbo-1-win64\run> python .\office2john.py .\test6.xlsx test6.xlsx:$office$*…

SpringCloud -- Nacos详细介绍

5. Nacos 5.1 Nacos介绍 Nacos 可以理解为微服务的“电话簿 遥控器”。它是阿里巴巴开源的一个核心工具&#xff0c;主要解决微服务架构中的两大问题&#xff1a; 5.1.1 服务注册与发现&#xff08;电话簿&#xff09; 服务注册&#xff1a;当某个微服务&#xff08;比如“订单…

【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)

​​​​​本篇带大家探究的是SPFA算法&#xff1b;从基本理解&#xff0c;画图分析展示&#xff0c;再到最后的代码实现&#xff0c;以及为何要这样实现代码&#xff0c;等一些细节问题做解释&#xff0c;相关题型应用&#xff0c;非常值得哟&#xff0c;尤其是刚入门的小白学…