数据导出

我们使用系统自带的导出工具sys_dump进行导出

命令详解

sys_dump -h localhost -p 54321 -U system -d slw -n slw -f "D:\slw_full.sql" -O -x --inserts -c --column-inserts -v --encoding=UTF8

参数详解:

参数

说明

-h localhost

数据库主机地址(根据实际情况修改)

-p 54321

Kingbase 默认端口(确认你的端口)

-U system

登录用户名(如 system 或其他管理员用户)

-d slw

要导出的数据库名

-n slw

只导出指定模式(schema)slw

-f "D:\..."

输出的 SQL 文件路径

-O

不导出 OWNER TO 语句(避免恢复时权限问题)

-x

不导出 权限(GRANTS)和 (可选,建议加上避免依赖)

--inserts

使用 INSERT INTO ... VALUES 方式导出数据(可读性强,兼容性好)

-c

在导出时添加 DROP TABLE IF EXISTS 等语句(便于重复导入)

-C

在导出文件开头添加 CREATE DATABASE 语句

--column-inserts

每个 INSERT 都写列名,更安全但文件更大

-b

导出大对象(如 bytea 类型字段)

-v

显示详细信息

--encoding=UTF8

指定输出文件编码为 UTF-8(支持中文、特殊字符)

数据导入

启动 ksql 并连接数据库

# 1. 连接
ksql -h localhost -p 54321 -U system -d slw

# 2. 查看表
\dt slw.*

# 3. 查看结构
\d slw.sys_user

# 4. 执行查询
SELECT * FROM slw.sys_user LIMIT 5;

# 5. 执行脚本
\i 'D:\sql\init.sql'

# 6. 退出
\q

一些常用命令

这些命令以 \ 开头,不需要分号结尾

命令

说明

\l\list

列出所有数据库

\c dbname\connect dbname

切换数据库

\dt

列出当前模式下所有表

\dt schema.*

列出指定模式下的表(如 \dt slw.*

\d tablename

查看表结构(字段、类型、约束)

\d+ tablename

查看表详细信息(含注释、存储等)

\dn

列出所有模式(schema)

\du

列出所有用户

\x

切换列显示模式(竖向/横向)

\timing

开启/关闭 SQL 执行时间统计

\?

查看所有元命令帮助

\h

查看 SQL 语法帮助(如 \h CREATE TABLE

\q

退出 ksql