KingbaseES(金仓数据库)新建数据库、创建表、添加字段全流程实战指南,涵盖 KES 数据库属性、sys_database 系统表查询、sys_database_size 磁盘空间监控;基于图形界面快速创建数据库、表及字段;SQL 语句详解:CREATE DATABASE
、createdb
、CREATE TABLE
、ALTER TABLE ADD COLUMN
;模板库(template0/template1)、编码(UTF8/GBK/GB18030)、表空间管理、权限配置、DDL 脚本生成;适用于 ksql/psql 客户端、命令行工具和可视化管理工具的数据库对象管理与数据定义语言(DDL)最佳实践。
如何在 KingbaseES(金仓数据库)中:
本文将从 KingbaseES 的基本概念与属性入手,详细介绍三种方式创建数据库,并演示如何通过图形界面与 SQL 语句完成表的创建和字段的添加。阅读完本文,您将掌握在 KingbaseES 中进行常见 DDL(数据定义语言)操作的全流程。
在 KingbaseES 中,数据库(Database)是多个数据库对象(表、索引、序列、视图等)的命名集合。一个实例(Instance)中可以包含多个数据库。每个数据库内的对象相互隔离,但可以通过系统表如 sys_database
和 sys_schema
查看和管理。
template0
、template1
,用于在创建新库时复制初始结构。-- 查看已有数据库列表
SELECT datname, datdba, encoding, datcollate, datctype
FROM sys_database;
-- 查看 test 库大小
SELECT sys_database_size('test');
在 KingbaseES 中,常见的创建数据库方式有三种:
CREATE DATABASE
createdb
CREATE DATABASE
语句。在向导中,可随时切换到 DDL 页,复制生成的 SQL,便于后续脚本化部署。
CREATE DATABASE
创建一个KES数据库使用 SQL 语句直接在客户端(如 ksql、psql)中执行:
-- 仅指定库名,默认属主为当前连接用户
CREATE DATABASE mydb;
-- 指定属主和编码
CREATE DATABASE mydb
WITH
OWNER = dbuser
ENCODING = 'UTF8'
TEMPLATE = template1
TABLESPACE = pg_default;
注意事项
system
。createdb
创建一个KES数据库createdb
是 KingbaseES 提供的命令行辅助工具,本质上会登录实例并执行 CREATE DATABASE
。
# 使用默认参数,以当前系统用户名创建同名数据库
$ createdb demo
# 指定端口、主机、属主等
$ createdb -h 127.0.0.1 -p 54321 -U system -O dbuser -T template1 demo
-h
:服务器地址-p
:端口号-U
:连接用户名-O
:新库属主-T
:指定模板库创建完数据库后,需要在其中定义表结构。KingbaseES 的表创建方式也有两种:图形界面与 SQL 语句。
mydb
。CREATE TABLE
DDL,点击确认完成。CREATE TABLE
新建一个表在 SQL 客户端中执行:
-- 示例:创建用户表
CREATE TABLE public.users (
id BIGSERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100),
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- 查看表结构
\d+ public.users;
BIGSERIAL
:自增主键VARCHAR(n)
:变长字符NOT NULL
:非空约束UNIQUE
:唯一约束DEFAULT
:默认值当业务需求变化时,可能需要在已有表中增加新字段。KingbaseES 支持在图形界面或通过 ALTER TABLE
完成。
mydb
,找到目标表 public.users
。ALTER TABLE
语句。ALTER TABLE
给表添加字段在 SQL 客户端中执行:
-- 为 users 表新增 last_login 字段
ALTER TABLE public.users
ADD COLUMN last_login TIMESTAMP WITHOUT TIME ZONE;
-- 带默认值且非空
ALTER TABLE public.users
ADD COLUMN status VARCHAR(20) NOT NULL DEFAULT 'active';
ADD COLUMN
:添加新列NOT NULL
、DEFAULT
、CHECK
等约束查看修改结果:
-- 再次查看表结构
\d+ public.users;
通过以上步骤,您已掌握 KingbaseES 中创建数据库、建表与扩展表结构的核心操作。建议在生产环境中,将这些 DDL 操作纳入版本控制,并在测试库演练后,再应用到线上数据库,以确保安全无误。祝您使用愉快!
通过本文的介绍,您已经全面掌握了在 KingbaseES(金仓数据库)中创建数据库、建表以及给表添加字段的三种主流方法:图形界面操作、SQL DDL 语句(CREATE DATABASE
/CREATE TABLE
/ALTER TABLE
)和命令行工具(createdb
)。在实际应用中,建议您:
掌握这些核心操作与最佳实践,将助您在 KingbaseES 中高效、可靠地管理数据库架构,提升开发与运维的自动化与可维护性。如需进一步深入,请查阅官方文档或探索更多高级特性,例如表分区、并行查询与逻辑复制。祝您数据库管理之旅顺利!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有