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

数据库新选择?KingbaseES在线体验详解

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

🎏:你只管努力,剩下的交给时间

🏠 :小破站

数据库新选择?KingbaseES在线体验详解

    • 前言
    • 详细内容
      • 1. KingbaseES简介
      • 2. 在线体验平台介绍
    • 在线体验
      • 进入页面
      • 第一步:选择验证
      • 第二步:模式创建
      • 第三步:创建表
      • 第四步:创建索引
      • 第五步:各种查询
      • 第六步:视图创建和管理
      • 第七步:函数创建与使用
      • 第八步:触发器的使用
    • 个人demo实现
      • 第1步:创建相关表
      • 第2步:插入测试数据
      • 第3步:创建索引
      • 第4步:复合查询(多表关联+条件+排序)
      • 第5步:创建视图,简化查询
      • 第6步:修改表数据
      • 第7步:删除表数据
      • 第8步:删除表
    • 总结

前言

在数据库的世界里,Oracle、MySQL、PostgreSQL等老牌选手早已占据主流地位。但随着国产软件的崛起,KingbaseES作为一款国产自主可控的通用融合数据库产品,逐渐走进了更多企业的视野。作为一个数据库爱好者,我决定亲自体验KingbaseES的在线版本,看看它到底有何独特魅力。没想到,这次体验不仅让我感受到了国产数据库的实力,也让我对未来国产数据库的发展充满期待。

详细内容

1. KingbaseES简介

  • 国产自主研发:KingbaseES由电科金仓自主研发,符合国家信息安全要求,支持国产化软硬件环境。
  • 兼容性强:兼容PostgreSQL,支持丰富的SQL标准和扩展,方便迁移和二次开发。
  • 高性能与高可用:支持分布式架构、读写分离、负载均衡,满足企业级应用需求。
  • 安全保障:内置多层安全机制,包括访问控制、审计、加密等。

2. 在线体验平台介绍

  • KingbaseES官网提供了在线体验平台,无需安装即可通过浏览器操作数据库,适合快速上手和功能试用。
  • 支持SQL语句执行、数据表管理、存储过程调用等基本功能。
  • 提供示例数据库和数据,方便用户直接进行查询和实验。

在线地址:https://bbs.kingbase.com.cn/index,如下图选择服务与支持中的体验中心即可体验
image-20250617162952759

在线体验

进入页面

当你进入 KingbaseES 在线体验平台首页时,会发现它无需本地安装数据库环境,直接通过网页即可在线编写和执行 SQL,快速体验国产数据库的核心功能。平台支持 Oracle、PostgreSQL、MySQL、SQL Server 等多种兼容模式,适合不同用户进行基础功能验证和学习,非常方便上手。

image-20250617163314770

第一步:选择验证

这里你可以选择自己想体验的数据库,然后会弹出服务器兼容验证,直接点击左边的复制,再点击执行即可出现如下画面;

image-20250617163438252

第二步:模式创建

模式又被称为schema,它是用于组织和命名数据库对象(如表、视图、函数等)的逻辑容器。 模式是数据库中组织和管理数据库对象的重要机制,它提供了一种逻辑上的命名空间,具备如下优点:

可以避免命名冲突,允许在同一数据库中的不同模式下创建同名对象。 便于权限管理和隔离,每个模式分配不同的访问权限,以此控制用户或角色对特定模式中对象的访问权限,提高数据库的安全性。

image-20250617163550485

涉及sql如下

# 创建数据库模式s1,s2
create schema s1;
create schema s2;
# 可以通过查看sys_namespace视图查看当前数据库的模式信息。
select * from sys_namespace where nspname in ('s1','s2');
# 在S1下创建test表。
create table s1.test(id int,name varchar(20) );
# 插入数据
insert into s1.test values ('1','kingbase');

第三步:创建表

这一步提供了详细的创建表结构,以及示例表,如订单表。当然还包括表结构的修改,以及数据的插入。

image-20250617164212857

涉及sql如下

创建表customers客户表
CREATE TABLE customers (C_ID INT AUTO_INCREMENT PRIMARY KEY,C_NAME VARCHAR(50) NOT NULL,C_ADDRESS TEXT NOT NULL,C_PHONE VARCHAR(15) NOT NULL
);

第四步:创建索引

创建索引可以显著提升数据库的查询和排序效率,但会占用一定空间并影响写入性能,因此应优先为常用查询、排序或关联字段建立索引,避免滥用。值得一提的是,KingbaseES 在线体验平台还支持通过网页在线创建和管理索引,让用户可以方便地体验和验证索引带来的性能提升。

image-20250617164819579

涉及sql如下

# 在customers表的c_name列上创建索引
create index indx_c_name on customers(c_name);
# 在itms分区表中的i_price列上创建本地索引
create index indx_i_price  on items (i_price) local;
# 在order表的o_id和o_date列上创建组合索引。
create index idx_o_i_d on orders (o_id, o_date);

第五步:各种查询

KingbaseES 在线体验平台不仅支持基础的 SQL 查询,还可以在线实现多种查询方式,包括简单条件查询、表与表之间的关联查询、分组统计查询以及嵌套的子查询操作。用户无需本地安装数据库环境,就能在网页上灵活编写和执行各类 SQL 语句,全面体验数据库的强大查询能力和丰富功能。

image-20250617165002278

涉及sql如下

# with子句
WITH customer_total_amount AS (SELECT c.C_NAME,SUM(o.O_TOTAL_PRICE) AS total_amountFROM customers cJOIN orders o ON c.C_ID = o.C_IDGROUP BY c.C_NAME
)
SELECT * 
FROM customer_total_amount
ORDER BY total_amount DESC
LIMIT 5;

第六步:视图创建和管理

在 KingbaseES 在线体验平台中,用户还可以通过网页方便地创建和管理视图。视图可以将复杂查询结果封装成虚拟表,简化后续的数据访问和分析。平台支持在线编写视图的创建语句,并能直接查看和调用已创建的视图,帮助用户更高效地组织和复用查询逻辑,提升数据处理的灵活性和便捷性。

image-20250617165148202

涉及sql如下:

# 销售统计视图
# 功能:按日期汇总订单金额和数量。
CREATE VIEW sales_summary AS
SELECT DATE(o.O_DATE) AS order_date,COUNT(o.O_ID) AS order_count,SUM(o.O_TOTAL_PRICE) AS total_sales
FROM orders o
GROUP BY DATE(o.O_DATE);

第七步:函数创建与使用

在 KingbaseES 在线体验平台中,用户还可以在线创建和调用自定义函数。通过编写 SQL 或 PL/SQL 语句,用户能够将常用的计算逻辑或业务规则封装为函数,方便在查询和数据处理过程中重复使用。平台支持函数的创建、查看和调用,极大提升了数据处理的灵活性和开发效率。

image-20250617165303770

涉及sql如下:

# 计算订单折扣金额
CREATE OR REPLACE FUNCTION calculate_discount_amount(_o_id INT)
RETURNS DECIMAL(8,2) AS $$
DECLARE total_price DECIMAL(8,2);
BEGIN-- 从 orders 表中获取订单的总价SELECT O_TOTAL_PRICE INTO total_price FROM orders WHERE O_ID = _o_id;-- 假设折扣率为 10%RETURN total_price * 0.10;
END$$
LANGUAGE plpgsql;

第八步:触发器的使用

在 KingbaseES 在线体验平台中,用户同样可以在线创建和管理触发器。通过触发器,用户可以在表的数据插入、更新或删除等操作发生时,自动执行自定义的逻辑,实现数据自动校验、日志记录等功能。平台支持触发器的编写、查看和调试,让数据库自动化处理能力更加灵活和强大。

image-20250617165402683

涉及sql如下:

# 插入触发器
# 功能:每当插入一条新订单时,触发器会从商品表中减去相应数量的商品库存。
\set SQLTERM /
CREATE TRIGGER update_stock_AFTER_INSERT 
AFTER INSERT ON orders
FOR EACH ROW
BEGINUPDATE items SET I_STOCK = I_STOCK - NEW.O_QUANTITY WHERE I_ID = NEW.I_ID;
END;
/

个人demo实现

这个 Demo 以“用户下单”为业务场景,带你体验 KingbaseES 数据库的表创建、数据插入、索引优化、复杂查询和视图功能。适合初学者快速上手数据库的核心操作。

第1步:创建相关表

目的:建立用户表和订单表,模拟一个简单的电商业务数据结构。

-- 创建用户表,存储用户基本信息
CREATE TABLE users (id SERIAL PRIMARY KEY,           -- 用户ID,自增主键username VARCHAR(50) NOT NULL,   -- 用户名age INT,                         -- 年龄city VARCHAR(50)                 -- 所在城市
);-- 创建订单表,存储用户下的订单
CREATE TABLE orders (id SERIAL PRIMARY KEY,           -- 订单ID,自增主键user_id INT,                     -- 下单用户IDproduct VARCHAR(100),            -- 商品名称amount DECIMAL(10,2),            -- 订单金额order_date DATE,                 -- 下单日期FOREIGN KEY (user_id) REFERENCES users(id)  -- 外键关联用户表
);

说明:

  • users 表保存用户信息,orders 表保存订单信息,通过 user_id 关联。

  • 这样设计便于后续做多表查询和数据分析。

image-20250617184008713

第2步:插入测试数据

目的:为后续查询和演示准备一些样例数据。

-- 插入用户数据
INSERT INTO users (username, age, city) VALUES
('Alice', 28, 'Beijing'),
('Bob', 35, 'Shanghai'),
('Carol', 22, 'Guangzhou');-- 插入订单数据
INSERT INTO orders (user_id, product, amount, order_date) VALUES
(1, 'Laptop', 5999.00, '2024-06-01'),
(1, 'Mouse', 99.00, '2024-06-02'),
(2, 'Phone', 3999.00, '2024-06-03'),
(3, 'Book', 49.00, '2024-06-04');

image-20250617184109446

第3步:创建索引

目的:为订单表的 user_id 字段创建索引,加速用户订单的查询。

-- 为 orders 表的 user_id 字段创建索引
CREATE INDEX idx_orders_user_id ON orders(user_id);

说明:

  • 有了索引,后续通过 user_id 查询订单会更快,体验索引带来的性能提升。

image-20250617184154592

第4步:复合查询(多表关联+条件+排序)

目的:体验 SQL 的多表关联、条件筛选和排序功能。

-- 查询所有来自北京的用户及其订单信息,按订单金额降序排列
SELECT u.username, u.city, o.product, o.amount, o.order_date
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE u.city = 'Beijing'
ORDER BY o.amount DESC;

说明:

  • 通过 JOIN 关联用户和订单表,筛选出北京用户的订单,并按金额从高到低排序。

  • 这一步可以体验 KingbaseES 对多表查询和排序的支持。

image-20250617184328666

第5步:创建视图,简化查询

目的:将常用的复杂查询封装成视图,方便后续直接调用。

image-20250617184506199

第6步:修改表数据

目的:体验如何更新表中的数据,比如修改用户的城市信息或订单金额。

-- 将用户名为 Alice 的城市改为 Shanghai
UPDATE users SET city = 'Shanghai' WHERE username = 'Alice';-- 将订单金额小于100的订单金额统一改为 88.00
UPDATE orders SET amount = 88.00 WHERE amount < 100;

image-20250617184805710

第7步:删除表数据

目的:体验如何删除表中的部分数据,比如删除某个用户或订单。

-- 先删除 Bob 的所有订单
DELETE FROM orders WHERE user_id = (SELECT id FROM users WHERE username = 'Bob');-- 再删除 Bob 用户
DELETE FROM users WHERE username = 'Bob';

说明:

  • DELETE 语句可以根据条件删除一行或多行数据,注意操作不可逆。

image-20250617185044090

第8步:删除表

目的:体验如何彻底删除表结构和数据。

-- 删除订单表
DROP TABLE orders;-- 删除用户表
DROP TABLE users;-- 删除视图
DROP VIEW user_order_view;

image-20250617185146255

总结

总的来说,KingbaseES 在线体验平台就像数据库界的“自助餐厅”,不但能让你随手点单(写 SQL),还能让你现场DIY各种“菜品”(索引、视图、函数、触发器),每一样都能即点即试、现学现用。体验一圈下来,既饱了眼福又涨了知识,操作简单还不用洗碗——这波在线体验,真是既轻松又有料!好了,今天的“云端数据库游乐场”就逛到这里,欢迎大家亲自上手体验一番!

相关文章:

  • 【产线烧录太慢】爱普特APT WDO2烧录器!高速MCU+Flash全协议 离线烧录
  • AI 双轮驱动:工具革新与编程进化如何重塑技术生态
  • 【开源工具】Windows屏幕控制大师:息屏+亮度调节+快捷键一体化解决方案
  • 金仓数据库在线体验平台:开启国产数据库云端探索之旅
  • Excel数据导出小记
  • Uniapp跨端兼容性全方位解决方案
  • Eureka、Nacos、Zookeeper 优雅上下线机制
  • 大模型安全关键技术研究
  • SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
  • Kafka分区机制深度解析:架构原理、负载均衡与性能优化
  • 开源三代示波器720p虚拟界面设计,手机,电脑和Pad均可访问,专用于8通道同步数据采集处理,可玩性高,基于STM32H7(2025-06-17)
  • 02 ( chrome 浏览器插件, 立马翻译), 搭建本地 api
  • 6-16阿里前端面试记录
  • Uniapp设备API全面指南:从位置获取到扫码功能的实现
  • 【Linux】UDP与TCP协议
  • pyqt QMenuBar
  • 【前端基础】摩天之建的艺术:html(上)
  • 【Pandas】pandas DataFrame swaplevel
  • uniapp 小程序 学习(二)
  • YOLOE详解【浅显易懂!】
  • 从零开始学网站建设/常州seo第一人
  • 石家庄网站建设接单/爱战网关键词挖掘查询工具
  • 网络运营主要做什么/seo网站推广服务
  • 湖南株洲静默/seo工资待遇 seo工资多少
  • 建站平台 discuz/seo关键字优化软件
  • 做淘宝美工需要知道的网站/网页seo优化