人大金仓Kingbase数据库KSQL 常用命令指南

人大金仓Kingbase数据库KSQL 常用命令指南

1. 连接与基本操作

1.1 连接数据库

# 基础语法 ksql -U 用户名 -d 数据库名 -h 主机名 -p 端口号 # 示例 ksql -U system -d testdb -h 127.0.0.1 -p 54321

1.2 执行SQL脚本

# 基础语法 ksql -U <用户名>-W -f <SQL脚本文件路径># 示例 ksql -U root -W -f init_database.sql

1.3 常用元命令

\l -- 列出所有数据库 \c 数据库名 -- 切换数据库 \d -- 列出当前数据库所有表 \d 表名 -- 显示表结构 \q -- 退出KSQL

1.4 删除数据库

1.4.1 使用 SQL 命令删除数据库
-- 基本删除命令(需要切换到其他数据库后执行)DROPDATABASE[IFEXISTS] 数据库名称;-- 示例DROPDATABASEIFEXISTS test_db;
1.4.2 强制删除数据库(有连接时)
-- 先断开所有连接再删除SELECT pg_terminate_backend(pg_stat_activity.pid)FROM pg_stat_activity WHERE pg_stat_activity.datname ='数据库名称';DROPDATABASE 数据库名称;

2. 数据查询(SELECT)

基本查询

SELECT*FROM 表名;-- 查询所有数据SELECT 列1, 列2FROM 表名;-- 查询指定列SELECT*FROM 表名 WHERE 条件;-- 条件查询SELECT*FROM 表名 LIMIT10;-- 限制返回行数

高级查询

-- 排序SELECT*FROM 表名 ORDERBY 列名 DESC;-- 分组聚合SELECT 部门,COUNT(*)FROM 员工表 GROUPBY 部门;-- 连接查询SELECT a.*, b.名称 FROM 表1 a JOIN 表2 b ON a.id = b.id;-- 子查询SELECT*FROM 表1WHERE id IN(SELECT id FROM 表2WHERE 条件);

3. 数据插入(INSERT)

-- 插入单条数据INSERTINTO 表名 (列1, 列2)VALUES(值1, 值2);-- 插入多条数据INSERTINTO 表名 (列1, 列2)VALUES(值1, 值2),(值3, 值4),(值5, 值6);-- 从其他表插入数据INSERTINTO 目标表 (列1, 列2)SELECT 列A, 列B FROM 源表 WHERE 条件;

4. 数据更新(UPDATE)

-- 基本更新UPDATE 表名 SET 列1=值1, 列2=值2WHERE 条件;-- 使用表达式更新UPDATE 产品 SET 价格=价格*1.1WHERE 类别='电子产品';-- 关联更新UPDATE 表1SET 列1=表2.列A FROM 表2WHERE 表1.id=表2.id;

5. 数据删除(DELETE)

-- 条件删除DELETEFROM 表名 WHERE 条件;-- 清空表(可回滚)DELETEFROM 表名;-- 快速清空表(不可回滚)TRUNCATETABLE 表名;

6. 表结构操作(DDL)

创建表

CREATETABLE 表名 ( id SERIALPRIMARYKEY, 姓名 VARCHAR(50)NOTNULL, 年龄 INTCHECK(年龄>0), 入职日期 DATEDEFAULTCURRENT_DATE);

修改表

-- 添加列ALTERTABLE 表名 ADDCOLUMN 列名 数据类型;-- 修改列类型ALTERTABLE 表名 ALTERCOLUMN 列名 TYPE 新类型;-- 删除列ALTERTABLE 表名 DROPCOLUMN 列名;

删除表

DROPTABLEIFEXISTS 表名;

7. 索引操作

-- 创建索引CREATEINDEX 索引名 ON 表名 (列名);-- 创建唯一索引CREATEUNIQUEINDEX 索引名 ON 表名 (列名);-- 删除索引DROPINDEX 索引名;

8. 事务控制

BEGIN;-- 开始事务-- 执行SQL语句COMMIT;-- 提交事务-- 或ROLLBACK;-- 回滚事务

9. 常用函数

-- 字符串函数SELECT CONCAT('Hello',' ','Kingbase');SELECT SUBSTRING('Kingbase'FROM1FOR4);-- 日期函数SELECTCURRENT_DATE;SELECT EXTRACT(YEARFROMCURRENT_DATE);-- 数学函数SELECTROUND(3.14159,2);SELECT RANDOM();-- 0到1之间的随机数

10. 用户权限管理

-- 创建用户CREATEUSER 用户名 WITH PASSWORD '密码';-- 授权GRANTALLPRIVILEGESON 表名 TO 用户名;-- 撤销权限REVOKEALLPRIVILEGESON 表名 FROM 用户名;

注意事项

  1. KingbaseES 兼容 PostgreSQL 语法,部分特殊功能可能有差异
  2. 生产环境操作前建议先备份数据
  3. V7 和 V8 版本在部分语法上可能有区别
  4. 使用大写表名和列名时需要用双引号括起来

Read more

绿联云NAS配置webdav

绿联云NAS配置webdav

前言         zotero使用webdav服务时使用绿联自带的webdav服务只能使用http协议,并且只能在局域网内传输,故而尝试自行配置,以期实现公网文献同步。 注:非专业,自己在配置的时候也是根据前人的分享实现的,可能有很多不准确的地方,请见谅。 1. 大致思路         购买域名(腾讯云)→配置DDNS-go(docker)→获取SSL证书(乐此加密)→配置natfrp(docker) ①域名:固定域名,后续内网穿透时可以使用自定义域名; ②DDNS-go:自动更新域名解析到公网IP; ③SSL证书:https协议需要; ④natfrp:内网穿透需要,这里使用的是Sakura Frp。 2.参考文献 (31 封私信 / 80 条消息) 绿联 NAS 域名直连 DDNS-Go+IPv6 内网穿透并开启 HTTPS - 知乎https://zhuanlan.zhihu.com/p/

Rust微服务架构实战——gRPC通信、服务发现与容器编排

Rust微服务架构实战——gRPC通信、服务发现与容器编排

第12篇:Rust微服务架构实战——gRPC通信、服务发现与容器编排 一、学习目标与重点 1.1 学习目标 1. 理解微服务架构:深入学习微服务的核心概念、优缺点、架构模式,掌握微服务与单体架构的区别 2. 掌握gRPC通信:熟练使用Tonic(Rust的gRPC实现)定义.proto文件、生成服务端和客户端代码,实现同步/异步通信 3. 实现服务发现与负载均衡:使用Consul或etcd实现服务注册与发现,使用Ribbon或Nginx实现负载均衡 4. 容器编排与部署:学习Docker Swarm或Kubernetes的核心概念,使用Docker Compose或Kubernetes YAML文件部署微服务 5. 实战微服务开发:结合真实场景编写用户管理、订单管理、支付管理三个微服务,实现gRPC通信、服务发现、负载均衡 6. 监控与运维:使用Prometheus+Grafana监控微服务,使用ELK Stack收集和分析日志 1.

首个多院区异构多活容灾架构,浙人医创新开新篇

首个多院区异构多活容灾架构,浙人医创新开新篇

KingbaseES数据库:首个多院区异构多活容灾架构,浙人医创新开新篇 2025 年 10 月 23 日消息,浙江省人民医院(浙人医)作为省内卫健系统信创 “领头雁”,依托金仓数据库搭建异构多院区多活数据底座,成为国内首个 LIS 国产化异构数据多院区多活改造案例。浙人医拥有多院区及托管分院,此前面临核心系统依赖国外数据库、多院区数据互通难等问题,遂选择 LIS 系统为信创突破口,联合电科金仓实现四大技术创新,达成 RTO≤10min、RPO=0 的 6 级灾容标准,业务连续性达 99.99%。目前 4 大院区数据双向同步,数据调用效率提升 60%,富阳院区还实现全栈信创与业务系统云化部署,为医疗信创提供可复制样本。 作为浙江省卫健系统信创“领头雁”,浙江省人民医院(下称“浙人医”)从LIS系统切入,实现从单系统突破到全栈国产化的跨越式发展。依托金仓数据库搭建的异构多院区多活数据底座,

阿里云全品类 8 折券限时领,建站 / AI / 存储通用 立即领取