引言
掌握了 ksql 对接本地 KingbaseES 数据库的基本操作之后,接下来要学习的是'数据库自身的运作'。数据库是数据存储的顶级容器,所有的表、视图等对象均依托数据库而存在。本文将会细致阐述怎样经由 ksql 命令行来完成本地数据库从'创建、查看、切换到删除'的全部操作,各个步骤均配有具体的实例以及需要注意的地方,从而保证初学者能够顺利实施。

一、前置条件:明确'在哪操作'——权限库与连接状态
创建或者管理数据库之前,要先明确两件事:其一,要连上正确的'权限库',不同模式所要求的不尽相同;其二,当前用户需具备足够的权限,创建数据库要有 CREATEDB 权限,这在文档里被一再提及,也是防止操作出现错误的重要因素。
1.1 确认连接到'权限库'
KingbaseES 支持不同兼容模式,不同模式下创建数据库的'权限库'要求不同,必须严格区分:
- 普通模式(默认):可连接任意已存在的数据库(如默认的
kingbase库),只要当前用户有创建数据库的权限即可; - SQLServer 兼容模式:必须连接
master库才能创建新数据库(这是兼容 SQLServer 架构的特殊要求)。若当前连接的是其他库,需先切换到master库,切换命令:
\c master
执行后若提示 You are now connected to database "master" as user "system".,表示切换成功。
1.2 确认当前用户权限(避免'权限不足'报错)
创建数据库时,用户应具有 CREATEDB 权限(系统默认管理员用户 system 拥有该权限,普通用户则要手动获取),可经由如下命令来查看当前用户的权限:
\du 用户名
示例(查看 system 用户权限):
\du system
执行之后在属性栏当中,如果存在'创建 DB',就表明具备创建数据库的权限;倘若不存在,则须要管理员(比如 system)运行下面的命令予以授予(以普通用户 user1 为例):
ALTER USER user1 CREATEDB;
在完成授权之后再度查看,确保'创建 DB'的权限得以落实。
二、创建本地数据库:两种核心方式(语句 / 工具)
KingbaseES 提供'SQL 语句'和'命令行工具'两种创建数据库的方式,前者灵活支持自定义配置(如编码、表空间),后者更简洁快速,可根据场景选择。
2.1 方式一:采用 CREATE DATABASE 语句来创建数据库(此方法较为推荐,比较灵活)
CREATE DATABASE 属于 SQL 标准语句,经由'选项'可以自定义数据库属性(譬如编码、默认表空间等),相关文档给出了基本语法及范例,下面是对这些内容的具体分析。
2.1.1 基础语法
CREATE DATABASE 数据库名 [ 选项];










