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

人大金仓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 <用户名> -d -W -f <SQL脚本文件路径># 示例
ksql -U root -d -W -f init_database.sql

1.3 常用元命令

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

1.4 删除数据库

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

2. 数据查询(SELECT)

基本查询

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

高级查询

-- 排序
SELECT * FROM 表名 ORDER BY 列名 DESC;-- 分组聚合
SELECT 部门, COUNT(*) FROM 员工表 GROUP BY 部门;-- 连接查询
SELECT a.*, b.名称 
FROM1 a JOIN2 b ON a.id = b.id;-- 子查询
SELECT * FROM1 WHERE id IN (SELECT id FROM2 WHERE 条件);

3. 数据插入(INSERT)

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

4. 数据更新(UPDATE)

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

5. 数据删除(DELETE)

-- 条件删除
DELETE FROM 表名 WHERE 条件;-- 清空表(可回滚)
DELETE FROM 表名;-- 快速清空表(不可回滚)
TRUNCATE TABLE 表名;

6. 表结构操作(DDL)

创建表

CREATE TABLE 表名 (id SERIAL PRIMARY KEY,姓名 VARCHAR(50) NOT NULL,年龄 INT CHECK(年龄>0),入职日期 DATE DEFAULT CURRENT_DATE
);

修改表

-- 添加列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型;-- 修改列类型
ALTER TABLE 表名 ALTER COLUMN 列名 TYPE 新类型;-- 删除列
ALTER TABLE 表名 DROP COLUMN 列名;

删除表

DROP TABLE IF EXISTS 表名;

7. 索引操作

-- 创建索引
CREATE INDEX 索引名 ON 表名 (列名);-- 创建唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名 (列名);-- 删除索引
DROP INDEX 索引名;

8. 事务控制

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

9. 常用函数

-- 字符串函数
SELECT CONCAT('Hello', ' ', 'Kingbase');
SELECT SUBSTRING('Kingbase' FROM 1 FOR 4);-- 日期函数
SELECT CURRENT_DATE;
SELECT EXTRACT(YEAR FROM CURRENT_DATE);-- 数学函数
SELECT ROUND(3.14159, 2);
SELECT RANDOM();  -- 0到1之间的随机数

10. 用户权限管理

-- 创建用户
CREATE USER 用户名 WITH PASSWORD '密码';-- 授权
GRANT ALL PRIVILEGES ON 表名 TO 用户名;-- 撤销权限
REVOKE ALL PRIVILEGES ON 表名 FROM 用户名;

注意事项

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

相关文章:

  • 【论文】云原生事件驱动架构在智能风控系统中的实践与思考
  • 小孙学变频学习笔记(八)变频器的输入电流(下)
  • RPC(Remote Procedure Call)技术解析
  • 计算机网络 网络层:控制平面(二)
  • WPF中Converter基础用法
  • 正则表达式,`[]`(字符类)和`|`(或操作符)
  • MFC制作动态波形图( ChartCtrl)
  • 【AI News | 20250626】每日AI进展
  • ​​Deepoc大模型在光电研发中的核心技术突破与应用​
  • 使用CSS泄露标签属性值 url路径遍历攻击 -- GPN CTF 2025 PAINting Dice
  • CSS 背景属性用于定义HTML元素的背景
  • 构思的股票交易模拟 3D 虚拟主题游戏《股海逐梦 3D》
  • c++17标准std::filesystem常用函数
  • HDFS(Hadoop分布式文件系统)总结
  • 面试破局:告别流水账,用“故事思维”重塑自我介绍
  • 【RESTful接口设计规范全解析】URL路径设计 + 动词名词区分 + 状态码 + 返回值结构 + 最佳实践 + 新手常见误区汇总
  • Word 中批量转换 LaTeX 公式为标准数学格式的终极方法(附宏设置教程)
  • 高弹性、高可靠!腾讯云 TDMQ RabbitMQ Serverless 版全新发布
  • DOA-BiLSTM+NSGAII+熵权TOPSIS,附气泡图!,梦境优化算法+深度学习+多目标优化+多属性决策!
  • Java底层原理:深入理解JVM性能调优与监控
  • Java设计模式->责任链模式的介绍
  • 什么是 MQTT?
  • Nordic nRF52832 寄存器级 UARTE 发送实现
  • Android-Layout Inspector使用手册
  • R语言机器学习算法实战系列(二十六)基于tidymodels的XGBoost二分类器全流程实战
  • ubuntu22.04系统kubeadm部署k8s高可用集群
  • 手机屏像素缺陷修复及相关液晶线路激光修复原理
  • 简单使用python
  • Milvus 资源调度系统的核心部分:「查询节点」「资源组」「数据库」
  • gitlab https链接转为ssh链接