文章标题:
突破局限!国产金仓数据库全面取代Oracle,迈向自主掌控之路
文章内容

🌟 嗨,我是Lethehong!🌟
🌍 立志在坚不欲说,成功在久不在速🌍
🚀 欢迎关注:👍点赞⬆️留言收藏 🚀
🍀欢迎使用:小智初学计算机
网页IT深度知识智能体🚀个人博客:Lethehong有一起互链的朋友可以私信我
✅GPT体验码 :https://gitee.com/lethehong/chatgpt-share
✅GPT体验码:私信博主~免费领取体验码
目录
写在前面
金仓究竟为何物?
可以将其视作一个超级能存储、记忆力超群且极为可靠的电子信息库,亦或是一个数字信息的管理者。它不存储生活中的柴米油盐,专门存储各类信息。其核心本领在于:记录精准、查找迅速、井然有序!
金仓能做些什么?可做之事众多!
-
管理企业事务: 若你经营着小店或小公司,客户是谁、购买了何种货品、仓库剩余数量、本月盈亏情况……这些令人头疼的账务,都可交由金仓处理。当你想查询“上礼拜蓝色杯子的销售数量”时,无需翻烂账本,只需敲击几下键盘,它便能迅速给出答案,又快又准。
-
支撑银行业务: 试想银行,每日大量的存取款、转账业务,流水如注!金仓在背后稳稳地逐笔记录,确保分毫不差。若它“罢工”,银行门口定会排起长队。
-
助力政府与医院管理: 在政府部门,你的户口本信息、各类档案、税务数据等,均由它存储管理。在医院里,你的电子病历、医生开具的处方、药房中阿莫西林的剩余数量等,它也能管理得井井有条。
-
优化网站体验: 你日常使用的诸多APP或网站,注册登录、添加购物车、下单付款等操作背后,很可能都有金仓在默默运行,保障你的操作流畅无阻。
-
充当“安全护盾”: 这是当下至关重要的一点!金仓是我国自主研发的。使用自家的产品存储重要信息(尤其是国家机密、公司核心数据),让人倍感安心!无需担忧某一天外国停止供应,亦无需顾虑版本限制或授权问题,自家的产品,知根知底,用着放心!
如何操作金仓
今日为大家简单体验金仓。
第一步: 登录后,将鼠标移至“服务与支持”,会自动出现相关选项,点击“体验中心”下的“KingbaseES在线体验平台”即可进入体验平台。

进入后,会看到如图所示页面,有体验平台兼容模式选项,可自行选择。接着点击“开始体验”按钮,进入体验环节。

页面十分友好,点击复制按钮,右侧输入框可直接填写内容,甚至无需手动粘贴,这一点令人颇为满意。
检查数据库版本及服务状态
在体验数据库功能前,先查看当前数据库兼容模式。
查看当前数据库兼容模式,使用如下语句:
show database_mode
点击执行按钮,即可直接展示结果,实现了解说+代码框+结果同步呈现,便于及时发现问题。

模式的创建与管理
模式又称schema,是用于组织和命名数据库对象(如表、视图、函数等)的逻辑容器。它是数据库中组织和管理数据库对象的重要机制,提供了逻辑上的命名空间,具有以下优点:可避免命名冲突,允许在同一数据库的不同模式下创建同名对象;便于权限管理与隔离,可为每个模式分配不同访问权限,从而控制用户或角色对特定模式中对象的访问权限,提升数据库安全性。
以下介绍模式的常见使用方式:
创建模式
CREATE SCHEMA用于在当前数据库中创建模式,创建模式时指定的模式名需与当前数据库中已有的模式名称不同。
示例: 创建两个数据库模式kes01和db02。
create schema kes01;
create schema db01;

查看模式列表
可通过查看sys_namespace视图来查看当前数据库的模式信息。
select * from sys_namespace where nspname in ('kes01','db01');

使用模式
若要在指定模式下创建对象或访问指定模式下的对象,需使用模式名限定的对象名,该名称包含模式名和对象名,两者用.号分隔。
示例:
在kes01下创建db_info表。
create table kes01.db_info(id int,name varchar(20) );

向表中插入数据。
insert into kes01.db_info values ('01','kingbase');

查询表中数据。
select * from kes01.db_info;

更改模式
kingbaseES支持使用alter schema语句更改模式的相关属性。
示例:
将schema db01重命名为db02。
alter schema db01 rename to db02;

查询新模式信息
select * from sys_namespace where nspname='db02';

删除模式
kingbaseES支持使用drop schema命令进行删除。
drop schema db02 cascade ;
drop schema kes01 cascade ;

表
表是KingbaseES数据库中最基本的操作对象。一个表描述了一个实体对象,记录了实体对象的重要信息。KingbaseES数据库表对象类型为关系表,由简单列组成,是最常见的表类型。
表的管理包括创建表、修改表和删除表等操作,以及普通表、分区表等的管理。
创建表
创建表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
);

创建分区表items商品表
CREATE TABLE items (
I_ID INT PRIMARY KEY,
I_NAME VARCHAR(100) NOT NULL,
I_PRICE DECIMAL(10,2) NOT NULL,
I_STOCK INT NOT NULL
)
PARTITION BY RANGE (I_PRICE)
(
PARTITION p_low VALUES LESS THAN (200),
PARTITION p_medium VALUES LESS THAN (500),
PARTITION p_high VALUES LESS THAN (1000),
PARTITION p_high_price VALUES LESS THAN (MAXVALUE)
);

创建orders订单表
CREATE TABLE orders (
O_ID INT ,
O_DATE DATE NOT NULL,
C_ID INT NOT NULL,
I_ID INT NOT NULL,
O_QUANTITY INT NOT NULL,
O_TOTAL_PRICE DECIMAL(10,2) NOT NULL,
FOREIGN KEY (C_ID) REFERENCES customers(C_ID),
FOREIGN KEY (I_ID) REFERENCES items(I_ID)
);

修改表结构
使用ALTER TABLE语句,给订单表添加主键。
ALTER TABLE orders ADD CONSTRAINT pk_orders PRIMARY KEY(O_ID);

使用ALTER TABLE语句,给订单表添加comment列。
alter table orders add column comment varchar(20);

插入示例数据
使用INSERT命令向表中插入数据。
示例
向customers表中插入数据。
INSERT INTO customers (C_NAME, C_ADDRESS, C_PHONE) VALUES
('Alice Smith', '123 Main St, City A', '123-456-7890'),
('Bob Johnson', '456 Oak Ave, City B', '234-567-8901'),
('Charlie Brown', '789 Pine Rd, City C', '345-678-9012'),
('Diana White', '321 Elm St, City D', '456-789-0123'),
('Edward Green', '654 Birch Dr, City E', '567-890-1234'),
('Frances Hill', '987 Maple Ln, City F', '678-901-2345'),
('George Wright', '432 Cedar Rd, City G', '789-012-3456'),
('Helen King', '135 Willow St, City H', '890-123-4567'),
('Ian Miller', '246 Oak Dr, City I', '901-234-5678'),
('Judy Davis', '368 Pine Ave, City J', '012-345-6789');

向items表中插入数据。
INSERT INTO items (I_ID, I_NAME, I_PRICE, I_STOCK) VALUES
('1','Laptop', 1299.99, 50),
('2','Phone', 699.99, 75),
('3','Tablet', 299.99, 30),
('4','Monitor', 199.99, 100),
('5','Keyboard', 79.99, 80),
('6','Mouse', 49.99, 100),
('7','Speaker', 129.99, 40),
('8','Headphones', 159.99, 60),
('9','Printer', 239.99, 30),
('10','Scanner', 179.99, 40);

向custimers表中插入数据。
INSERT INTO orders (O_ID, O_DATE, C_ID, I_ID, O_QUANTITY, O_TOTAL_PRICE) VALUES
('1','2023-10-01', 1, 1, 2, 2599.98),
('2','2023-10-02', 2, 2, 1, 699.99),
('3','2023-10-03', 3, 3, 3, 899.97),
('4','2023-10-04', 4, 4, 5, 999.95),
('5','2023-10-05', 5, 5, 4, 319.96),
('6','2023-10-06', 6, 6, 2, 99.98),
('7','2023-10-07', 7, 7, 1, 129.99),
('8','2023-10-08', 8, 8, 3, 479.97),
('9','2023-10-09', 9, 9, 1, 239.99),
('10','2023-10-10', 10, 10, 5, 899.95);

查看示例数据
查看customers客户表信息
select * from customers;

查看items商品表信息
select * from items;

查看orders订单表信息
select * from orders;

此处就介绍到这里,大家也可通过上述链接自行体验
金仓的独特优势
国产化、自主可控
金仓的一大优势在于——自主研发、可国产化替代。在当下强调数据安全、信息主权的大背景下,这尤为关键。许多传统依赖国外数据库的单位,都担忧“卡脖子”问题,而金仓正是解决该痛点的方案。
使用金仓,无需担忧断供,也不惧版本限制或授权困扰,是能够在国产系统上闭环运行的数据库产品。

强兼容性,迁移成本低
不少人起初担心更换数据库会很麻烦,系统不兼容。但金仓在此方面下足功夫,高度兼容主流数据库如 Oracle、PostgreSQL、MySQL。这意味着,原先编写的SQL、存储过程、表结构,迁移至金仓时,修改之处甚少,甚至可直接运行。
对于单位而言:
- 原有业务系统可平滑