暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

金仓数据库产品体验官|KSQL Developer:数据库的图形化全能利器

原创 shunwahⓂ️ 2025-11-15
312

国产数据库的“平替”时代已来,金仓数据库产品体验官|KSQL Developer:跨异构数据库的图形化全能利器

作者: ShunWah(顺华)
公众号: "顺华星辰运维栈"主理人。

持有认证: OceanBase OBCA/OBCP、MySQL OCP、OpenGauss、崖山 DBCA、亚信 AntDBCA、翰高 HDCA、GBase 8a | 8c | 8s、Galaxybase GBCA、Neo4j Graph Data Science Certification、NebulaGraph NGCI & NGCP、东方通 TongTech TCPE 等多项权威认证。
获奖经历: 崖山YashanDB YVP、浪潮KaiwuDB MVP、墨天轮 MVP,担任 OceanBase 社区版主及布道师。曾在OceanBase&墨天轮征文大赛、OpenGauss、TiDB、YashanDB、Kingbase、KWDB、Navicat Premium × 金仓数据库征文等赛事中多次斩获一、二、三等奖,原创技术文章常年被墨天轮、CSDN、ITPUB 等平台首页推荐。

  • CSDN_ID: shunwahma
  • 墨天轮_ID:shunwah
  • ITPUB_ID: shunwah
  • IFClub_ID:shunwah

制作故障排查图片 2.jpg

前言

在数字化转型的浪潮中,数据库作为企业核心系统的“心脏”,其重要性不言而喻。然而,长期以来,Oracle、MySQL、SQL Server 等国外数据库产品在企业级市场占据主导地位。随着信创战略的推进与数据安全意识的提升,国产数据库迎来了前所未有的发展机遇。

作为中国电子科技集团(CETC)旗下最早拥有自主知识产权的国产数据库企业,中电科金仓(Kingbase)深耕数据库领域二十余年,推出了以 KingbaseES 为核心的系列数据库产品,并构建了完整的生态体系。而今天我们要体验的,正是金仓为开发者量身打造的数据库开发与管理工具——KSQL Developer
曾几何时,我们像杂技演员一样在不同数据库客户端间反复横跳,Oracle、MySQL、SQLServer…每个都要单独安装、单独学习。直到遇见金仓KSQL Developer,才发现数据库管理本该如此简单优雅。这款工具不仅完美支持金仓数据库,更实现了四大主流数据库的统一管理,让跨数据库开发从奢望变成日常。作为深度体验者,我将带你解锁这款国产利器如何用图形化操作重塑我们的工作效率。

一、KSQL Developer简介:跨数据库的统一开发平台

KSQL Developer是面向应用开发者的数据库开发和管理工具,可快速查询、创建和管理不同类型的数据库。目前已支持KingbaseES、Oracle、MySQL、SQLServer四大主流数据库,实现了跨平台数据库管理的无缝切换。

通过直观的可视化界面,开发者可以轻松管理模式、表、视图、物化视图、函数、存储过程、触发器、程序包等多种数据库对象,大大提高了开发效率。

作为金仓数据库生态系统中的重要组成部分,KSQL Developer体现了一个成熟数据库产品应有的工具链完整性。

本次,我以“金仓数据库产品体验官”的身份,深度体验 KSQL Developer 的核心功能,聚焦其在异构数据库支持对象图形化管理两大方面的卓越表现,结合真实操作步骤与命令行示例,带你全面了解这款国产数据库开发工具的硬核实力。


二、 工具获取与环境准备

2.1 下载与安装

首先,访问金仓数据库官网(https://www.kingbase.com.cn/download.html#tool),我们进入“数据库配套工具”区域,下载 KSQL Developer V1R1C2 安装包。

image.png

提示:当前版本支持 Windows 与 Linux 平台,本文以 Windows 10 环境为例进行演示。

image.png

安装过程非常简单,双击安装包后按照向导提示完成即可。安装完成后,启动 KSQL Developer,界面简洁现代,左侧为连接管理区,右侧为主工作区,整体布局类似 Oracle SQL Developer 或 DBeaver,对开发者非常友好。

2.2 启动 setup 安装程序

image.png

2.3 进入安装界面

image.png

2.4 运行安装程序,选择安装语言;

按照安装向导提示,接受许可协议;
image.png

2.5 选择安装路径和组件,建议保留默认设置;

d:\Program Files\KSQL-Developer

image.png

2.6 点击"安装"按钮,等待安装完成;

image.png

安装完成
image.png

image.png

2.7 启动KSQL Developer,开始使用。

image.png


三、 核心特性一:异构数据库支持 —— 实现跨平台无缝切换

3.1 多数据库统一接入能力

KSQL Developer 最大的亮点之一,是其强大的异构数据库兼容性。它不仅原生支持金仓自家的 KingbaseES,还支持连接 Oracle、MySQL、SQL Server 等主流数据库。这意味着开发者可以在一个工具中完成对多种数据库的管理,无需频繁切换工具,极大提升开发效率。

image.png

支持的数据库类型包括:

  • KingbaseES(金仓企业级数据库)
  • Oracle(11g/12c/19c 等)
  • MySQL(5.7/8.0)
  • SQL Server(2012 及以上)

3.2 实操演示:连接 MySQL 与 KingbaseES

3.2.1 连接本地 MySQL 实例

  1. 在 KSQL Developer 主界面,点击“新建连接”。

image.png

  1. 类型选择 MySQL
  2. 填写连接信息:
    • 连接名:MySQL_Local
    • 主机名/IP:127.0.0.1
    • 端口:3306
    • 用户名:root
    • 密码:******
  3. 点击“测试连接”,提示“连接成功”后保存。
  4. 连接成功
    image.png

左侧导航树中展开 MySQL_Local,即可看到所有数据库(如 information_schema, mysql, test 等)。

image.png

执行查询验证:

-- 查看当前数据库版本 SELECT VERSION(); ![image.png](https://oss-emcsprod-public.modb.pro/image/editor/20251108-1987021217699274752_461941.png) -- 查询 test 库中的 users 表 ```language USE test_db; SELECT DATABASE(); SHOW TABLES;

image.png

✅ 输出结果正常,说明 KSQL Developer 对 MySQL 的 SQL 兼容性良好。


3.2.2 连接 TiDB 实例

  1. 新建连接,类型选择 Mysql

image.png

  1. 填写信息:
    • 连接名:TiDB
    • 主机:127.0.0.1
    • 端口:4000(默认端口)
    • 数据库:test
    • 用户名:root
    • 密码:******
  2. 测试连接并保存。

image.png

  1. 查看版本查看数据库版本
    使用 version() 函数查看当前数据库版本:
mysql> SELECT version();

image.png

查询数据库

SELECT DATABASE();

image.png

3.2.3 连接 OceanBase 实例

  1. 新建连接,类型选择 Mysql

image.png

  1. 填写信息:

    • 连接名:oceanbase
    • 主机:127.0.0.1
    • 端口:2881(默认端口)
    • 数据库:oceanbase
    • 用户名:root@sys
    • 密码:******
  2. 测试连接并保存。
    image.png

  3. 查看版本查看数据库版本
    使用 version() 函数查看当前数据库版本:

obclient> SELECT version();

image.png

查看所有数据库(库)
在 MySQL 模式下,使用 SHOW DATABASES 命令列出当前租户的所有数据库:

obclient> SHOW DATABASES;

image.png

使用 SHOW TABLES 命令查看当前数据库或指定数据库中的所有表:
查看指定数据库的表:

obclient> SHOW TABLES FROM oceanbase;

image.png

3.2.4 连接 KingbaseES 实例

  1. 新建连接,类型选择 KingbaseES

image.png

  1. 填写信息:
    • 连接名:KES_Local
    • 主机:127.0.0.1
    • 端口:54321(默认端口)
    • 数据库:TESTDB
    • 用户名:SYSTEM
    • 密码:******
  2. 测试连接并保存。

image.png

连接成功后,展开 KES_Local,可以看到默认的 SYSTEM 模式及系统表。

image.png

执行 KingbaseES 特有语法验证:

– 查询当前用户

SELECT USER FROM DUAL;

image.png

– 查看表空间

SELECT spcname, pg_size_pretty(pg_tablespace_size(oid)) 
FROM sys_tablespace;

image.png

– 创建测试表

CREATE TABLE emp (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    dept VARCHAR(30),
    salary NUMERIC(10,2),
    hire_date DATE DEFAULT CURRENT_DATE
);

image.png

– 插入数据

INSERT INTO emp (name, dept, salary) VALUES 
('张三', '研发部', 15000.00),
('李四', '销售部', 12000.00);

image.png

✅ 所有语句执行成功,证明 KSQL Developer 对 KingbaseES 的语法支持完整。


3.3 跨数据库查询与数据迁移初探

KSQL Developer 还支持通过 DBLINK数据导出/导入功能 实现跨数据库数据同步。

示例:将 MySQL 数据导入 KingbaseES

image.png

  1. MySQL_Local 连接中,右键 test.users 表 → “导出数据” → 选择 CSV 格式。

image.png

设置导出
image.png

选择输出路径

image.png

  1. KES_Local 中,右键 SYSTEM 模式 → “导入数据” → 选择刚才导出的 CSV 文件。
    image.png

选择文件
image.png

image.png

新建表
image.png

  1. 映射字段后执行导入。
    image.png

设置 Files to 数据库,csv

image.png

验证导入结果:

image.png

-- 在 KingbaseES 中查询 SELECT "id", "k", "c", "pad" FROM "public"."sbtest1";

image.png

✅ 数据成功迁移,字段类型自动映射,字符集处理良好。


四、 核心特性二:对象图形化管理 —— 零代码完成数据库运维

4.1 可视化对象管理全景

KSQL Developer 提供了对数据库对象的全生命周期图形化管理,涵盖:

  • 表(Table)
  • 视图(View)
  • 物化视图(Materialized View)
  • 存储过程(Procedure)
  • 函数(Function)
  • 触发器(Trigger)
  • 程序包(Package)
  • 角色(Role)
  • 表空间(Tablespace)
  • 索引(Index)

image.png

所有操作均可通过鼠标点击完成,极大降低学习成本,尤其适合 DBA 与初级开发者。


4.2 实操演示:图形化创建与管理表

4.2.1 图形化创建表

  1. KES_Local 连接中,展开 SYSTEM 模式 → 右键“表” → “新建表”。

image.png

  1. 弹出“新建表”对话框:
    • 表名:department
    • 添加字段:
      • dept_id:数据类型 INTEGER,主键,自增
      • dept_nameVARCHAR(50),非空
      • managerVARCHAR(30)
      • create_timeTIMESTAMP,默认值 NOW()

image.png

  1. 点击“确定”完成创建。
    image.png

系统自动生成的 SQL 语句:

CREATE TABLE SYSTEM.department ( dept_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, dept_name VARCHAR(50) NOT NULL, manager VARCHAR(30), create_time TIMESTAMP DEFAULT NOW() );

✅ 图形化操作背后是标准 SQL,透明可控。


4.2.2 图形化修改表结构

  1. 右键 department 表 → “编辑表”。
    image.png

  2. 在字段列表中点击“添加”,新增字段:

    • locationVARCHAR(100),默认值 '北京'
      image.png
  3. 点击“应用更改”。
    image.png

生成的 ALTER 语句:

ALTER TABLE "public"."department" ADD COLUMN "location" VARCHAR(100) DEFAULT '北京';

✅ 修改操作即时生效,无需手动写 ALTER 语句。


4.3 图形化管理存储过程与函数

4.3.1 创建存储过程

  1. 右键“存储过程” → “新建存储过程”。
    image.png

  2. 输入名称:proc_emp_salary_raise

  3. 编写 PL/SQL 代码:

CREATE OR REPLACE PROCEDURE proc_emp_salary_raise(
    p_dept VARCHAR,
    p_rate NUMERIC
)
AS
BEGIN
    UPDATE emp 
    SET salary = salary * (1 + p_rate) 
    WHERE dept = p_dept;
    
    COMMIT;
    RAISE INFO '部门 % 薪资已上调 %.2f%%', p_dept, p_rate*100;
END;

image.png

  1. 点击“编译”,提示“编译成功”。
    image.png

调用存储过程:

CALL proc_emp_salary_raise('研发部', 0.1);

image.png

✅ 执行后,研发部员工薪资上涨 10%,日志输出正常。


4.3.2 创建函数

  1. 右键“函数” → “新建函数”。
    image.png

  2. 名称:func_avg_salary_by_dept

  3. 返回类型:NUMERIC

  4. 代码:

CREATE OR REPLACE FUNCTION func_avg_salary_by_dept(p_dept VARCHAR)
RETURNS NUMERIC
AS
DECLARE
    v_avg_salary NUMERIC;
BEGIN
    SELECT AVG(salary) INTO v_avg_salary 
    FROM emp WHERE dept = p_dept;
    
    RETURN v_avg_salary;
END;

image.png

调用函数:
image.png

SELECT func_avg_salary_by_dept('研发部') AS avg_salary;

image.png

✅ 返回结果:16500.00,计算正确。


4.4 图形化管理权限与角色

4.4.1 创建角色并授权

image.png

  1. 安全性-右键“角色” → “新建角色”。
    image.png

  2. 名称:dev_role

  3. 勾选权限:

    • CREATEDB
    • RESOURCE
  4. 点击“确定”。

image.png

生成 SQL:

CREATE ROLE dev_role; GRANT CREATEDB, RESOURCE TO dev_role;

image.png

4.4.2 为用户分配角色

  1. 安全性-右键“用户” → “新建用户”。
    image.png

  2. 用户名:dev_user

  3. 密码:dev_user

  4. 在“角色”选项卡中,勾选 dev_role

  5. 点击“确定”。

image.png
验证权限:
image.png

-- 使用 dev_user 登录 CONNECT dev_user/Dev@123@127.0.0.1:54321/TESTDB; -- 尝试建表 CREATE TABLE test_table (id INT); -- ✅ 成功,因 RESOURCE 角色已授权

五、高级功能体验:物化视图与触发器

5.1 图形化创建物化视图

物化视图在数据仓库与报表系统中至关重要。
image.png

  1. 右键“物化视图” → “新建物化视图”。
  2. 名称:mv_emp_summary
  3. 查询语句:
SELECT dept, COUNT(*) AS emp_count, AVG(salary) AS avg_salary FROM emp GROUP BY dept;

image.png

  1. 点击“确定”。

刷新物化视图:

REFRESH MATERIALIZED VIEW mv_emp_summary;

image.png

✅ 数据同步成功,支持定时刷新策略配置。

验证物化视图创建成功:
– 查看物化视图

SELECT * FROM mv_emp_summary;

image.png

5.2 图形化创建触发器

image.png

  1. 右键 基于emp 表 → “新建触发器”。
  2. 名称:trg_emp_audit
  3. 事件:AFTER INSERT OR UPDATE
  4. 代码:
CREATE OR REPLACE TRIGGER trg_emp_audit
AFTER INSERT OR UPDATE ON emp
FOR EACH ROW
BEGIN
    INSERT INTO emp_audit (emp_id, action, change_time)
    VALUES (NEW.id, TG_OP, NOW());
END;

image.png

✅ 触发器创建成功,后续对 emp 表的增改操作将自动记录到审计表。
image.png


总结:为何选择 KSQL Developer?

通过本次深度体验,KSQL Developer 展现出以下几个核心优势:

  1. 真正的异构支持:一工具管理 KingbaseES、Oracle、MySQL、TiDB、OceanBase等,打破数据库壁垒。
  2. 极致的图形化体验:从建表、写过程到权限分配,全程可视化操作,降低运维门槛。
  3. 国产化信创首选:作为金仓生态的重要一环,完美适配 KingbaseES,助力 Oracle/MySQL 平滑迁移。
  4. 高效开发利器:SQL 自动补全、语法高亮、执行计划分析等功能齐全,提升开发效率。
  5. 社区与生态完善:参与“金仓产品体验官”活动,可获得官方技术支持与认证资源。

KSQL Developer 不仅仅是一个工具,更是国产数据库走向成熟与开放的象征。它让开发者无需再为不同数据库的语法差异而烦恼,让 DBA 能更专注于数据价值的挖掘。

作者注
——本文所有操作及测试均基于 CentOS 系统部署的 KingbaseES v9R1C10 企业版完成,核心围绕 “KSQL Developer” 特性展开工具实操适配验证等关键环节。建议实际应用时参考金仓数据库官方文档及对应 KSQL Developer工具适配指南。请注意,KingbaseES与KSQL Developer版本处于持续迭代中,部分语法或功能可能随更新发生变化,请以 KingbaseES 金仓数据库官方文档最新内容为准。

——以上仅为个人思考与建议,不代表行业普遍观点。以上所有操作均需在具备足够权限的环境下执行,涉及生产环境时请提前做好备份与测试。文中案例与思路仅供参考,若与实际情况巧合,纯属无意。期待与各位从业者共同探讨更多可能!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论