当前位置: 首页 > news >正文

人大金仓数据库常用命令、SQL

👨‍🎓博主简介

🏅CSDN博客专家
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 一、数据库的操作
    • 1.1 进入数据库
    • 1.2 创建数据库
    • 1.3 查看所有数据库
    • 1.4 切换到其他数据库
    • 1.5 查看当前数据库下的所有表
    • 1.6 查看表结构
    • 1.7 删除表
    • 1.8 删除库
    • 1.9 删除一个表中的字段
    • 1.10 退出数据库
  • 二、数据库的操作 - 模式
    • 2.1 查看模式
      • 2.1.1 查看所有模式
      • 2.1.2 用SQL查询所有模式(包含内部模式)
      • 2.1.3 查看当前使用的模式
      • 2.1.4 查看当前搜索路径(模式查找顺序)
      • 2.1.5 查看指定模式的表结构
    • 2.2 创建模式
      • 2.2.1 创建新的模式
      • 2.2.2 创建模式并指定所有者
      • 2.2.3 如果模式不存在则创建(防重复)
    • 2.3 切换/设置模式
      • 2.3.1 切换到指定模式(当前会话有效)
      • 2.3.2 设置多个搜索路径(按顺序查找)
      • 2.3.3 恢复默认搜索路径
      • 2.3.4 修改数据库的默认模式
      • 2.3.5 修改用户的默认模式
      • 2.3.6 重置搜索路径为默认值
    • 2.4 修改模式
      • 2.4.1 重命名模式
      • 2.4.2 修改模式的所有者
    • 2.5 删除模式
      • 2.5.1 删除模式(模式必须为空)
      • 2.5.2 删除模式及其所有对象(表、视图等)
      • 2.5.3 如果模式存在则删除
      • 2.5.4 默认行为,非空则报错
    • 2.6 权限管理
      • 2.6.1 授予模式的所有权限
      • 2.6.2 允许用户在该模式下创建对象
      • 2.6.3 允许用户使用该模式下的对象
      • 2.6.4 收回模式的所有权限
      • 2.6.5 收回创建权限
    • 2.7 在模式下操作表
      • 2.7.1 在指定模式下创建表
      • 2.7.2 查看指定模式下的所有表
      • 2.7.3 查看指定模式下某表的结构
      • 2.7.4 删除指定模式下的表
      • 2.7.5 查询指定模式下的表数据
  • 三、数据库的导入导出
    • 3.1 导出数据库
      • 3.1.1 常用导出命令
      • 3.1.2 通用连接参数
      • 3.1.3 输出控制参数(最常用)
      • 3.1.4 内容选择参数(核心)
      • 3.1.5 数据格式控制参数
      • 3.1.6 对象过滤参数
      • 3.1.7 清理与恢复相关参数
      • 3.1.8 其他实用参数
    • 3.2 数据库恢复命令
      • 3.2.1 常用恢复命令

一、数据库的操作

1.1 进入数据库

一般默认用户为:kingbase

ksql-h主机地址-p端口号-U用户名 ksql-U用户名

1.2 创建数据库

CREATE DATABASE 数据库名;

1.3 查看所有数据库

\l

1.4 切换到其他数据库

\c 库名

1.5 查看当前数据库下的所有表

\dt

1.6 查看表结构

\d 表名

1.7 删除表

DROPTABLE表名;

1.8 删除库

不能删除当前连接的数据库,会报错

DROPDATABASE数据库名;DROPDATABASEIFEXISTS数据库名;-- 防报错DROPDATABASE数据库名WITH(FORCE);-- 强制删除(终止所有连接后删除)

1.9 删除一个表中的字段

ALTERTABLE表名DROPCOLUMN字段名;ALTERTABLE表名DROPCOLUMNIFEXISTS字段名;-- 字段不存在时不报错ALTERTABLE表名DROPCOLUMN字段名CASCADE;-- 级联删除依赖对象(视图、外键等)

1.10 退出数据库

\q

二、数据库的操作 - 模式

2.1 查看模式

2.1.1 查看所有模式

# 列出所有模式\dn# 列出所有模式(含描述)\dn+

2.1.2 用SQL查询所有模式(包含内部模式)

SELECT*FROMsys_namespace;

2.1.3 查看当前使用的模式

SELECTcurrent_schema();

2.1.4 查看当前搜索路径(模式查找顺序)

SHOWsearch_path;

2.1.5 查看指定模式的表结构

\dt 模式名.*

2.2 创建模式

2.2.1 创建新的模式

CREATESCHEMA模式名;

2.2.2 创建模式并指定所有者

CREATESCHEMA模式名AUTHORIZATION用户名;

2.2.3 如果模式不存在则创建(防重复)

CREATESCHEMAIFNOTEXISTS模式名;

2.3 切换/设置模式

2.3.1 切换到指定模式(当前会话有效)

SETsearch_pathTO模式名;

2.3.2 设置多个搜索路径(按顺序查找)

SETsearch_pathTO模式1,模式2;

2.3.3 恢复默认搜索路径

SETsearch_pathTO"$user",public;

2.3.4 修改数据库的默认模式

ALTERDATABASE数据库名SETsearch_pathTO模式名;

2.3.5 修改用户的默认模式

ALTERUSER用户名SETsearch_pathTO模式名;

2.3.6 重置搜索路径为默认值

RESET search_path;

2.4 修改模式

2.4.1 重命名模式

ALTERSCHEMA模式名RENAMETO新模式名;

2.4.2 修改模式的所有者

ALTERSCHEMA模式名 OWNERTO新所有者;

2.5 删除模式

2.5.1 删除模式(模式必须为空)

DROPSCHEMA模式名;

2.5.2 删除模式及其所有对象(表、视图等)

DROPSCHEMA模式名CASCADE;

2.5.3 如果模式存在则删除

DROPSCHEMAIFEXISTS模式名;

2.5.4 默认行为,非空则报错

DROPSCHEMA模式名RESTRICT;

2.6 权限管理

2.6.1 授予模式的所有权限

GRANTALLONSCHEMA模式名TO用户名;

2.6.2 允许用户在该模式下创建对象

GRANTCREATEONSCHEMA模式名TO用户名;

2.6.3 允许用户使用该模式下的对象

GRANTUSAGEONSCHEMA模式名TO用户名;

2.6.4 收回模式的所有权限

REVOKEALLONSCHEMA模式名FROM用户名;

2.6.5 收回创建权限

REVOKECREATEONSCHEMA模式名FROM用户名;

2.7 在模式下操作表

2.7.1 在指定模式下创建表

CREATETABLE模式名.表名(...);

2.7.2 查看指定模式下的所有表

\dt 模式名.*

2.7.3 查看指定模式下某表的结构

\d 模式名.表名

2.7.4 删除指定模式下的表

DROPTABLE模式名.表名;

2.7.5 查询指定模式下的表数据

SELECT*FROM模式名.表名;

三、数据库的导入导出

3.1 导出数据库

sys_dump[参数]

3.1.1 常用导出命令

  • 导出数据库信息 - 包含创建表结构、插入数据、创建模式(注意:不包含创建数据库的sql
sys_dump-U用户名-d数据库名-f/路径/备份.sql
  • 导出指定数据库的表结构(不包含自动创建数据库sql及数据
sys_dump-U用户名-d数据库名-s-f/路径/备份.sql
  • 导出指定数据库需要自动创建库和表结构的sql(不包含数据
sys_dump-U用户名-d数据库名-s-C-f/路径/备份.sql
  • 导出指定数据库的自动创建库和表结构及数据
sys_dump-U用户名-d数据库名-C-f/路径/备份.sql
  • 导出指定模式的表结构
sys_dump-U用户名-d数据库名-n模式名-s-f/路径/备份.sql
  • 导出指定模式的表结构及数据
sys_dump-U用户名-d数据库名-n模式名-f/路径/备份.sql
  • 导出指定模式的表结构及数据,插入数据默认的COPY换为INSERT
sys_dump-U用户名-d数据库名-n模式名--inserts-f/路径/备份.sql sys_dump-U用户名-d数据库名-n模式名 --column-inserts-f/路径/备份.sql# --inserts、--column-inserts 两者区别在于前者导出的插入语句不带列名,例如:# --inserts:## INSERT INTO public.users VALUES (1, '张三', 25);# --column-inserts:## INSERT INTO public.users (id, name, age) VALUES (1, '张三', 25);
  • 不常用的导出命令
# 1. 导出指定表(含数据)sys_dump-U用户名-d数据库名-t模式名.表名1-t模式名.表名2-f/路径/备份.sql# 2. 导出指定表(只结构)sys_dump-U用户名-d数据库名-t模式名.表名-s-f/路径/备份.sql# 3. 导出带清理语句(恢复前先删除已存在的对象)sys_dump-U用户名-d数据库名-c--if-exists-f/路径/备份.sql# 4. 导出为自定义二进制格式(配合sys_restore使用,体积小)sys_dump-U用户名-d数据库名-Fc-Z6-f/路径/表结构备份.dmp# 5. 排除日志表的数据(只导结构)sys_dump-U用户名-d数据库名 --exclude-table-data=sys_oper_log-f/路径/备份.sql# 6. 导出一个模式,用INSERT格式,每1000行提交一次sys_dump-U用户名-d数据库名-nsso--inserts--rows-per-insert=1000-f/路径/备份.sql

3.1.2 通用连接参数

参数说明示例
-h, --host=HOST数据库服务器主机地址-h 127.0.0.1
-p, --port=PORT数据库端口号(默认54321)-p 54321
-U, --username=NAME连接用户名-U kingbase
-W, --password强制提示输入密码-W
-d, --dbname=DBNAME要连接的数据库名-d mould
--no-password不提示输入密码--no-password

3.1.3 输出控制参数(最常用)

参数说明示例
-f, --file=FILENAME指定输出文件路径-f ./backup.sql
`-F, --format=cdt
-v, --verbose显示详细执行信息-v
-Z, --compress=0-9压缩级别(0-9),仅适用于自定义格式-Z 6

3.1.4 内容选择参数(核心)

参数说明示例
-a, --data-only只导出数据,不导结构-a
-s, --schema-only只导出结构,不导数据-s
-n, --schema=SCHEMA只导出指定模式-n mould
-N, --exclude-schema=SCHEMA排除指定模式-N public
-t, --table=TABLE只导出指定表(可多个)-t public.users
-T, --exclude-table=TABLE排除指定表-T public.temp
--include-table-data=TABLE只导出指定表的数据--include-table-data=users
--exclude-table-data=TABLE排除指定表的数据--exclude-table-data=log
--include-tablespace包含表空间定义--include-tablespace
--no-tablespaces不导出表空间定义--no-tablespaces

3.1.5 数据格式控制参数

参数说明示例
--inserts数据用INSERT INTO代替COPY--inserts
--column-insertsINSERT显式带列名(兼容性最好)--column-inserts
--rows-per-insert=N每条INSERT插入 N 行数据(配合--inserts使用)--rows-per-insert=1000
--no-tablespaces不导出表空间分配信息--no-tablespaces
--no-acl不导出权限(GRANT/REVOKE)--no-acl
--no-owner不导出对象所有者信息--no-owner
--no-sync跳过文件同步(可提升速度)--no-sync

3.1.6 对象过滤参数

参数说明示例
-O, --no-owner不导出所有者信息-O
-x, --no-privileges不导出权限信息-x
--disable-triggers导出时禁用触发器(用于数据恢复)--disable-triggers
--enable-row-security启用行安全策略--enable-row-security
--exclude-table-data=TABLE排除特定表的数据--exclude-table-data=log
--exclude-schema=SCHEMA排除特定模式--exclude-schema=temp

3.1.7 清理与恢复相关参数

参数说明示例
-c, --clean导出前先执行DROP清理语句-c
-C, --create在导出文件中包含CREATE DATABASE语句-C
-r, --roles-only只导出角色(用户)信息-r
--if-exists配合-c使用,DROP时加IF EXISTS--if-exists

3.1.8 其他实用参数

参数说明示例
-E, --encoding=ENCODING指定导出文件的字符编码-E UTF8
--section=PRE/ DATA / POST只导出指定部分--section=DATA
--quote-all-identifiers所有标识符加双引号--quote-all-identifiers
--no-unlogged-table-data不导出未记录日志表的数据--no-unlogged-table-data
--serializable-deferrable使用可串行化事务,保证一致性快照--serializable-deferrable
--lock-wait-timeout=TIMEOUT等待表锁超时时间--lock-wait-timeout=60000
--use-set-session-authorizationSET SESSION AUTHORIZATION替代ALTER OWNER--use-set-session-authorization

3.2 数据库恢复命令

导出格式推荐恢复方式说明
纯文本.sql(默认)ksql -U kingbase -d 数据库名 -f 文件.sql最通用,可读性好
自定义格式.dmp-Fcsys_restore -U kingbase -d 数据库名 文件.dmp支持并行恢复、选择性恢复
Tar包.tar-Ftsys_restore -U kingbase -d 数据库名 -Ft 文件.tar适合归档
目录格式(-Fdsys_restore -U kingbase -d 数据库名 -Fd 目录/支持并行恢复

3.2.1 常用恢复命令

# 恢复纯文本SQLksql-Ukingbase-dmould-f./mould_backup.sql# 恢复自定义格式(可选择性恢复)sys_restore-Ukingbase-dmould ./mould.dmp# 恢复自定义格式,只恢复结构sys_restore-Ukingbase-dmould-s./mould.dmp# 恢复自定义格式,只恢复指定表sys_restore-Ukingbase-dmould-tusers./mould.dmp
  • 数据库中导入sql
# 需要先进入到库中\i/路径/备份.sql
http://www.jsqmd.com/news/1093832/

相关文章:

  • 如何免费解锁Wand专业版:终极指南告别订阅费
  • 2026最新智慧园区公司挑选攻略 帮你选出靠谱适配的合作服务商
  • 【企业AI网关】为企业打造可预算、可归集、可审计、稳运行的大模型治理网关
  • 双向依赖同步机制
  • Pinching-Antenna系统架构与OFDM多径效应优化
  • 3个步骤解锁浏览器画中画魔法:重新定义你的多任务工作流
  • 家庭防水验收标准:宝师傅分享验收要点
  • 2026年上海制服定制公司深度评测:五家企业实力解析与选型指南
  • 怎么用AI找供应商
  • 【计算机毕业设计】基于Springboot的小区物业管理系统
  • AIAgent
  • @ConditionalOnProperty 注解功能和使用场景说明完整示例演示
  • TI Fuel Tank MKII电池扩展板:为LaunchPad打造智能移动电源解决方案
  • 农机制动性能检测仪设计方案
  • k6性能测试实战指南:从入门到企业级应用
  • 当AI编程工具开始“挑网络”:Anthropic封禁第三方调用背后,开发者的网络出口为何成为关键变量
  • 构建自主可控的Web安全防线:ModSecurity与OWASP CRS集成实战指南
  • 从“被动响应”到“主动行动”的架构革命
  • BLE Link Layer【Bit Ordering】:为什么 b0 b1 b2 = 110 表示 3,而不是 6?
  • Claude 3.5 Sonnet技术解析:Tool Use与推理可视化实战
  • 计算机毕业设计之 基于深度学习的航空机票价格预测软件实现
  • 扬州清宸康养180道菜不重样?真相究竟是怎样,快来一探究竟!
  • minimax m3实际使用体验
  • 好用的会务软件怎么选?会助力智能会务系统打造一站式会议平台
  • 实力强的降英文AI工具工具
  • ModelEngine QA对生成技术:如何实现60%留用率的高质量训练数据
  • OpenMontage全链路AI视频生成实战:从流程编排到工程化落地
  • springCloud集成seata2.x
  • 12.DTS中增加GPIO信息
  • 视频台词停顿太多?一键自动去除空白间隙