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

人大金仓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.xdnf.cn/news/14821.html

相关文章:

  • Python文件操作完全指南:从入门到精通
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • LightGBM:极速梯度提升机——结构化数据建模的终极武器
  • 柔性制造企业数字化系统建设方案(PPT)
  • LVS-NAT负载均衡群集实战:原理、部署与问题排查
  • 逆向入门(8)汇编篇-rol指令的学习
  • Boss:攻击
  • IoT/HCIP实验-5/基于NB-IoT的智慧农业实验(平台侧开发+端侧编码+基础调试分析)
  • 数据驱动的农产品供应链管理:让“菜篮子”更智慧、更高效
  • aspose.word在IIS后端DLL中高并发运行,线程安全隔离
  • 【Lua 基础学习】
  • 惯性导航——陀螺仪
  • Web层注解
  • 南北差异之——理解业务和理解产品
  • spring中的@Cacheable缓存
  • Python零基础入门到高手8.5节: 实现选择排序算法
  • 个人博客网站(halo)在云服务器的快速部署
  • 深入学习入门--(一)前备知识
  • 创客匠人联盟生态:重构家庭教育知识变现的底层逻辑
  • spring boot项目整合百度翻译
  • MySQL之SQL性能优化策略
  • Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
  • 15.OCR训练
  • 宝塔服务器调优工具 1.1(Opcache优化)
  • day041-web集群架构搭建
  • 轨迹降噪API及算法
  • SQL Server 查询数据库及数据文件大小
  • 利用folium实现全国高校分布地图显示
  • 【深度学习】-学习篇(一)
  • MySQL深分页性能瓶颈:问题分析与解决方案