人大金仓数据库Kingbase服务SQL基础操作手册

news/发布时间2024/9/20 8:01:04

1 kingbase服务

1.1 查看kingbase数据库服务进程

ps -ef|grep kingbase

1.2 命令启动kingbase数据库服务

# /opt/Kingbase/ES/V8 为金仓安装目录
# /opt/Kingbase/ES/V8/data 为金仓数据目录
# sys_ctl是数据库服务器启停命令,通过-D选项来来指定数据库数据目录
# 注意要切换成kingbase用户
/opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data start

1.3 命令停止kingbase数据库服务

# /opt/Kingbase/ES/V8 为金仓安装目录
# /opt/Kingbase/ES/V8/data 为金仓数据目录
# sys_ctl是数据库服务器启停命令,通过-D选项来来指定数据库数据目录
# 注意要切换成kingbase用户
/opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data stop

1.4 命令重启kingbase数据库服务

# /opt/Kingbase/ES/V8 为金仓安装目录
# /opt/Kingbase/ES/V8/data 为金仓数据目录
# sys_ctl是数据库服务器启停命令,通过-D选项来来指定数据库数据目录
# 注意要切换成kingbase用户
/opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data restart

1.5 查询licence有效期

select GET_LICENSE_VALIDDAYS();

1.6 修改字符编码

alter table 模式名称.表名称 CHARACTER SET utf8 COLLATE utf8_general_ci

1.7 查看语言

select * from sys_language

1.8 查看角色用户

select * from sys_user

1.9 查看会话进程

select * from sys_stat_activity

1.10 查看当前账号会话数

select count(*), usename from sys_stat_activity group by usename

1.11 查看系统所有表

SELECT * FROM sys_tables

1.12 查看表字段

select * from information_schema.columns 

1.13 查看索引

select * from sys_index 

2 数据库操作

2.1 查看所有数据库

select * from sys_database

2.2 查看表空间

select * from sys_tablespace

2.3 查看数据库大小

# 查看kingbase数据库的大小,单位字节
select sys_database_size('kingbase')
# 查看kingbase数据库的大小,格式化后单位兆
select sys_size_pretty(sys_database_size('kingbase'));

2.4 查看所有数据库大小

select sys_database.datname, sys_database_size(sys_database.datname) as size from sys_database order by size desc;

2.5 查看数据库模式大小

SELECT sys_size_pretty(sum(table_size)::bigint) as "disk space",sum(table_size)::bigint as "total size"
FROM (SELECT sys_catalog.sys_namespace.nspname as schema_name,sys_total_relation_size(sys_catalog.sys_class.oid) as table_sizeFROM  sys_catalog.sys_class JOIN sys_catalog.sys_namespace ON relnamespace = sys_catalog.sys_namespace.oidWHERE sys_catalog.sys_namespace.nspname = 'kingbase'
) t

2.6 查看数据库所有模式大小

SELECT schema_name, sys_size_pretty(sum(table_size)::bigint) as "disk space",sum(table_size)::bigint as "total size"
FROM (SELECT sys_catalog.sys_namespace.nspname as schema_name,sys_total_relation_size(sys_catalog.sys_class.oid) as table_sizeFROM  sys_catalog.sys_class JOIN sys_catalog.sys_namespace ON relnamespace = sys_catalog.sys_namespace.oidWHERE sys_catalog.sys_namespace.nspname NOT IN ('information_schema','src_restrict','anon','dbms_sql','xlog_record_read','pg_catalog','pg_bitmapindex','sys_catalog','sysaudit','sysmac','sys')
) t
GROUP BY schema_name

2.7 查看单表大小

select sys_size_pretty(sys_relation_size('kingbase.test_szie'));

2.8 查询模式下所有表大小

SELECT
table_name,
sys_size_pretty(table_size) AS table_size,
sys_size_pretty(indexes_size) AS indexes_size,
sys_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
sys_table_size(table_name) AS table_size,
sys_indexes_size(table_name) AS indexes_size,
sys_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.TABLES WHERE table_schema ='kingbase'
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes

2.9 查询数据库连接情况

select  * from pg_stat_activity

2.10 杀死空闲连接

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state='idle'

2.11 查询最大连接数

show max_connections

2.12 查询超级连接数

show superuser_reserved_connections

2.13 查看大小写情况

# V8R3查看,ON-敏感,OFF-不敏感 
show case_sensitive
# V8R6查看,ON-不敏感,OFF-敏感
show enable_ci

2.14 查询客户端、服务端编码

show server_encoding;
show client_encoding;

2.15 设置客户端、服务端编码

set client_encoding to 'GBK';
set server_encoding to 'UTF-8';

3 模式操作

3.1 模式创建

CREATE SCHEMA 模式名称

3.2 模式删除

DROP SCHEMA 模式名称

3.3 修改模式名称

alter schema 被修改模式名称 rename to 需要重命名模式名称

3.4 查询数据库下所有模式名称

SELECT DISTINCT TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES; 

3.5 查询数据库下所有模式数量

 SELECT COUNT(DISTINCT TABLE_SCHEMA) FROM INFORMATION_SCHEMA.TABLES;

3.6 查询指定模式下表名称

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA='PUBLIC';

3.7 查询指定模式下指定表字段类型、注释等信息

 SELECT  '表名称' AS table_name, col.COLUMN_NAME,CASE WHEN  col.UDT_NAME='VARCHAR' THEN  CONCAT(col.UDT_NAME,'(',col.character_maximum_length,')') ELSE col.UDT_NAME END AS UDTNAME,d.DESCRIPTION FROM information_schema.COLUMNS colJOIN SYS_CLASS c ON c.RELNAME = col.TABLE_NAMELEFT JOIN SYS_DESCRIPTION d ON d.OBJOID = c.OID AND d.OBJSUBID = col.ORDINAL_POSITIONLEFT JOIN sys_constraint s on c.OID = s.conrelid and col.ORDINAL_POSITION=ANY(conkey::int[])WHERE col.table_schema = '模式名称'AND col.TABLE_NAME = '表名称';

4 表操作

4.1 创建表

CREATE TABLE "sub_test"."t_table"(
id VARCHAR(32) NOT NULL,
remark VARCHAR(255),
length INT8,
front TEXT, 
status TINYINT,
range FLOAT8,
create_time TIMESTAMP, 
image_info JSON,
info JSON,
result JSON,
CONSTRAINT "t_table_PKEY" PRIMARY KEY ("id")
);
CREATE INDEX "createTime" ON "sub_test".t_table(create_time);
comment on column weather.remark is '备注';
comment on column weather.length is '长度';
comment on column weather.status is '状态';
comment on column weather.range is '范围';
comment on column weather.create_time is '创建时间';

4.2 创表–自增字段和主键

id设置为主键,同时类型指定为serial,创建之后,id即为自增。

CREATE TABLE "sub_test"."t_table"( id SERIAL NOT NULL,host_name VARCHAR(125),port VARCHAR(32),type TINYINT,launch_date TIMESTAMP,modify_time TIMESTAMP,create_time TIMESTAMP,CONSTRAINT "t_table_PKEY" PRIMARY KEY ("id")
);

4.3 将字段改为自增

# 将字段改为自增
ALTER TABLE sub_test."t_table"  ALTER column id set default nextval('sub_test.t_table_id_SEQ');
# 删除约束(主键就是一个约束)
ALTER TABLE sub_test."t_table" DROP CONSTRAINT t_table_constraint_1;# 添加主键
ALTER TABLE sub_test."t_table" ADD PRIMARY KEY(id);

4.4 修改字段类型

# 语法
alter table 模式名称.表名称 modify 修改字段 需要被修改字段类型
# 示例
alter table sub_test.tb_filegroup modify bbox varchar(32)

4.5 修改字段名称

# 语法
alter table 模式名称.表名称 rename 字段 to 修改字段
# 示例
alter table sub_test.tb_filegroup rename "bbox" to "b_box"
alter table sub_test.tb_filegroup rename COLUMN bbox to b_box

4.6 修改字段为 ----非空

# 语法
alter table 模式名称.表名称 alter 字段 set not null
# 示例
alter table sub_test.tb_filegroup alter data_level set not null;

4.7 修改非空字段为 ----空

# 语法
alter table 模式名称.表名称 alter 字段 drop not null
# 示例
示例:
alter table sub_test.tb_filegroup alter data_level drop not null;

4.8 添加字段

# 语法
alter table 模式名称.表名称 add 添加字段 字段类型
# 示例
alter table sub_test.tb_filegroup add COLUMN bbox varchar(255) default '10';

4.9 删除字段

# 语法
alter table 模式名称.表名称 drop 需要删除字段
# 示例
alter table sub_test.tb_filegroup drop bbox

4.10 添加字段注释

# 语法
comment on column 表名称.字段名称 is ‘注释内容’
# 示例
comment on column sub_test.tb_filegroup.bbox is '方位'

4.11 创建索引

# 语法
CREATE INDEX "索引名称" ON 模式名称.表名称 (字段名称)
# 示例
CREATE INDEX "metadataGroupId" ON "sub_test".tb_filegroup(metadataId);

5 创建数据库模式用户授权一体化操作

# 创建用户MYTEST
create user MYTEST password '123456';
# 创建MYTEST数据库
create database MYTEST;
# 赋予MYTEST用户操作数据库权限
GRANT connect on database MYTEST to MYTEST;
grant all privileges on all tables in schema public to MYTEST;
grant all privileges on all sequences in schema public to MYTEST;
grant all privileges on database MYTEST to MYTEST;
grant all privileges on schema public to MYTEST with grant option;
# 创建schema并指定用户MYTEST
CREATE SCHEMA IF NOT EXISTS MYTEST;
ALTER SCHEMA MYTEST OWNER TO MYTEST;
COMMENT ON SCHEMA MYTEST IS 'standard MYTEST schema';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/EItI/8966.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

c# .net8 香橙派orangepi + hc-04蓝牙 实例

这些使用c# .net8开发,硬件 香橙派 orangepi 3lts和 hc-04蓝牙 使用场景:可以通过这个功能,手机连接orangepi进行wifi等参数配置 硬件: 1、带USB口的linux开发板orangepi 2、USB 转TTL 中转接蓝牙(HC-04) 某宝上买…

《上海市交通领域科技创新发展行动计划》发布

《上海市交通领域科技创新发展行动计划》发布:构建北斗交通产业链 日前,上海市交通委、上海市科委联合印发《上海市交通领域科技创新发展行动计划》,提出至2026年末,基本建成符合上海科创中心和交通强市建设要求的交通领域科技创…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(5.详解List数据结构)

本文是深入理解 Redis 常用数据类型源码及底层实现系列的第5篇~前4篇可移步( ̄∇ ̄)/ 【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)-CSDN博客 【Redis】深入理解 Redis 常用数据类型源码及底…

【Leetcode每日一题】二分查找 - 寻找峰值(难度⭐⭐)(20)

1. 题目解析 Leetcode链接:162. 寻找峰值 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于找到题目中所说的峰值并返回他们的下标即可。 2. 算法原理 分析峰顶及其两旁数据的特点 峰顶数据特点:峰…

集合详解-迭代器遍历-增强for-List集合-List五种遍历方式-Set集合-排序规则Comparable-双列集合

Collection集合 数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 Collection 集合概述和使用 Collection…

TikTok云手机可以运营多少个账号

在社交媒体平台上,尤其是像TikTok这样的热门应用中,账号运营已经成为了许多人的日常工作。而利用云手机技术,一台手机能够同时运营多个TikTok账号,为用户带来了更大的便利和灵活性。本文将探讨 TikTok云手机能够运营多少个账号&am…

考研数据结构算法机试训练1

中南大学上机压轴题 测试数据: 3 500 0.6 100 0.8 200 0.7 100 输出 390首先要对输入的折扣进行排序,优先使用比率低的z进行支付。 然后用lowcost记录目前多少钱是打过折的。T-lowcost就是剩余没打折的。 每次循环用上一个人的折扣额度。若所有人折扣额…

无人机飞行控制系统技术,四旋翼无人机控制系统建模技术详解

物理建模是四旋翼无人机控制系统建模的基础,主要涉及到无人机的物理特性和运动学特性。物理建模的目的是将无人机的运动与输入信号(如控制电压)之间的关系进行数学描述。 四旋翼无人直升机是具有四个输入力和六个坐标输出的欠驱动动力学旋翼…

网络编程学习

思维导图 知识点回顾 1、什么是回调函数 作为其他函数参数的函数。 2、结构体与共用体的区别 结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大…

C++重点---STL简介

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、STL简介 STL(Standard Template Library)是C标准库中的一个重要组成部分,它提供了…

Vue 环境安装以及项目创建

环境安装 nodejs 安装 下载地址:https://nodejs.org/dist/v18.16.1/ 根据系统类型选择对应安装包,选择安装路径那个后一直下一步即可安装完成。 配置npm 代理镜像,设置为淘宝的镜像地址(后面按照依赖可以加速下载安装包) npm c…

FMM 笔记:FMM(colab上执行)【官方案例解读】

在colab上运行,所以如何在colab上安装fmm,可见FMM 笔记:在colab上执行FMM-CSDN博客 fmm见:论文笔记:Fast map matching, an algorithm integrating hidden Markov model with precomputation_ubodt(upper bounded ori…

tkinterFrame框架+标签框架LabelFrame+Toplevel窗口的使用

1.在tkinter中,Frame是一个容器小部件用于组织和管理其他小部件。它可以作为一个独立的可见区域,也可以作为其他小部件的父容器。 import tkinter as tk import tkinter.ttk as ttk import tkinter.messagebox as mbm tk.Tk() m.title("tkinter L…

Vue项目 快速上手(如何新建Vue项目,启动Vue项目,Vue的生命周期,Vue的常用指令)

目录 一.什么Vue框架 二.如何新建一个Vue项目 1.使用命令行新建Vue项目 2.使用图形化界面新建Vue项目 三.Vue项目的启动 启动Vue项目 1.通过VScode提供的图形化界面启动Vue项目 2.通过命令行的方式启动Vue项目 四.Vue项目的基础使用 常用指令 v-bind 和 v-model v…

Jenkins与服务器时间不一致

问题复现 今天在Jenkins上设置定时部署项目时,发现Jenkins显示的时间与Linux系统显示的时间不一致,这太难过了,必须保持颗粒度一致。 解决办法 ①查看当前服务器上的时区 因为是CentOS系统,直接通过以下命令即可查看时区&#xf…

vue中 input disable后无法触发点击事件

问题:input标签为disabled后,点击事项无效;当点击文字**“请选择”**时无法触发点击事件,其父标签的其余位置均可触发 解决:只需要在input标签中添加 style“pointer-events:none” 即可 pointer-events: none 作用是…

OpenCV实现目标追踪

目录 准备工作 语言: 软件包: 效果演示 代码解读 (1)导入OpenCV库 (2)使用 cv2.VideoCapture 打开指定路径的视频文件 (3)使用 vid.read() 读取视频的第一帧,ret…

RK3568 android11 调试陀螺仪模块 MPU-6500

一,MPU6500功能介绍 1.简介 MPU6500是一款由TDK生产的运动/惯性传感器,属于惯性测量设备(IMU)的一种。MPU6500集成了3轴加速度计、3轴陀螺仪和一个板载数字运动处理器(DMP),能够提供6轴的运动…

导入自定义包仍报错ModuleNotFoundError

第二个框中,已经导入了data_utils和net但仍然报错ModuleNotFoundError,解决方法是,像第一个框那样,添加路径。

CSS_实现三角形和聊天气泡框

如何用css画出一个三角形 1、第一步 写一个正常的盒子模型&#xff0c;先给个正方形的div&#xff0c;便于观察&#xff0c;给div设置宽高和背景颜色 <body><div class"box"></div> </body> <style>.box {width: 100px;height: 100px…
推荐文章