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

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

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';

相关文章:

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

1 kingbase服务 1.1 查看kingbase数据库服务进程 ps -ef|grep kingbase1.2 命令启动kingbase数据库服务 # /opt/Kingbase/ES/V8 为金仓安装目录 # /opt/Kingbase/ES/V8/data 为金仓数据目录 # sys_ctl是数据库服务器启停命令,通过-D选项来来指定数据库数据目录 #…...

赎金信00

题目链接 赎金信 题目描述 注意点 magazine中的每个字符只能在ransomNote中使用一次ransomNote和magazine由小写英文字母组成 解答思路 因为ransomNote和magazine由小写英文字母组成,所以使用大小为26的数组存储magazine中a~z对应出现的次数,ransom…...

如何运行github上的项目

为了讲明白这个过程,特意做了一个相当来说比较好读懂的原理图,希望和我一样初学的小伙伴也能很快上手哈😊 在Github中找到想要部署的项目,这里以BartoszJarocki/CV(线上简历📄)项目为例 先从头…...

机器学习-02-机器学习算法分类以及在各行各业的应用

总结 本系列是机器学习课程的第02篇,主要介绍机器学习算法分类以及在各行各业的应用 本门课程的目标 完成一个特定行业的算法应用全过程: 定义问题(Problem Definition) -> 数据收集(Data Collection) -> 数据分割(Data…...

Java项目学习

一、Java项目学习 1.1 瑞吉外卖(项目提供的资料没笔记) 视频资源:https://www.bilibili.com/video/BV13a411q753/?p1 本人git项目地址:https://gitee.com/xx-xuxin/reggie_take_out.git 瑞吉外卖Day01~Day06没讲的功能(全功能实现&#xf…...

npm run dev和npm run serve两个命令的区别

npm run dev和npm run serve两个命令的区别 前端开发过程中运行Vue项目的时候,有时候使用npm run serve命令可以启动项目,有时候却会报错;有时候使用npm run dev命令可以启动项目,有时候却也会报错。是什么原因造成这种情况呢&am…...

ui设计:利用即使设计设计出漂亮样式

目录 一、基本操作 二、具体介绍 6-1 填充图片 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出​编辑 一、基本操作 二、具体介绍 6-1 填充图片 选择其一图片填充 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出...

[unity]lua热更新——个人复习笔记【侵删/有不足之处欢迎斧正】

一、AssetBundle AB包是特定于平台的资产压缩包,类似于压缩文件 相对于RESOURCES下的资源,AB包更加灵活轻量化,用于减小包体大小和热更新 可以在unity2019环境中直接下载Asset Bundle Browser 可以在其中设置关联 AB包生成的文件 AB包文件…...

Springboot日常总结-@RestController和@Controller的区别

RestController和 Controlle是两种不同的控制器实现,它们的主要区别在于如何处理返回的数据和是否支持跳转到视图页面。 Controller 是一个基本的控制器注解,它允许你将一个类标记为一个Spring MVC控制器处理器。使用 Controller 的类中的方法可以直接返…...

MongoDB之客户端工具与核心概念及基本类型篇

MongoDB之客户端工具与核心概念及基本类型篇 文章目录 MongoDB之客户端工具与核心概念及基本类型篇1. MongoDB是什么?1. 关于MongoDB2. 相关客户端工具1. MongoDB Compass2. Studio 3T3. Navicat for MongoDB4. NoSQL Manager for MongoDB Professional 2.MongoDB相关概念2.1 …...

Essential C++ 编程基础

Essential C 前言1.1 如何撰写 C程序1.2 对象的定义与初始化1.3 撰写表达式1.4 条件语句和循环语句1.5 如何运用Array和Vector1.6 指针带来弹性1.7 文件的读写 前言 通过Essential C笔记的形式对C相关重点知识进行汇总,读者通读此系列文章就可以轻松的把该语言基础捡…...

07 Qt自绘组件:图片预览小组件ImageViewer

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起:自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起:自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件:令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…...

Groovy(第九节) Groovy 之单元测试

JUnit 利用 Java 对 Song 类进行单元测试 默认情况下 Groovy 编译的类属性是私有的,所以不能直接在 Java 中访问它们,必须像下面这样使用 setter: 编写这个测试用例余下的代码就是小菜一碟了。测试用例很好地演示了这样一点:用 Groovy 所做的一切都可以轻易地在 Java 程序…...

gprMax3.0随机介质建模

此处利用gprMax建立随机介质模型,采用matlab生成随机数组,保存为HDF5文件,此处为全代码,无需修改即可运行。在gprMax输入文件中使用#geometry_objects_read:读入自定义的随机模型 此文参考其他博主的自定义几何形状模块gprMax3.0建模时如何自定义目标的几何形状_#geomet…...

自动驾驶---行业发展及就业环境杂谈

进入21世纪以来,自动驾驶行业有着飞速的发展,自动驾驶技术(L2---L3)也逐渐落地量产到寻常百姓家。虽然最早期量产FSD的特斯拉有着深厚的技术积累,但是进入2010年以后,国内的公司也逐渐发展起来自己的自动驾…...

Matlab 矩阵基础

Matlab 基础 MATLAB 是“矩阵实验室matrix laboratory”的缩写。其他编程语言大多一次处理一个数字,MATLAB 主要用于处理整个矩阵和数组。 所有 MATLAB 变量都是多维数组,无论数据类型如何。矩阵是常用于线性代数的二维数组。 若要创建一个包含单行中…...

TikTok矩阵系统的功能展示:深入解析与源代码分享!

今天我来和大家说说TikTok矩阵系统,在当今数字化时代,社交媒体平台已成为人们获取信息、交流思想和娱乐放松的重要渠道,其中,TikTok作为一款全球知名的短视频社交平台,凭借其独特的创意内容和强大的算法推荐系统&#…...

Gradio Dataframe sort 问题

Gradio Dataframe sort 问题 1. 问题描述2. 解决办法(临时) 1. 问题描述 使用 Gradio Dataframe 显示表格数据时,默认每个列名右边会有个 sort icon,点击这个 sort icon 后,会按照该列进行升序或者降序排序。 问题点是,如果对表…...

【机器学习300问】24、模型评估的常见方法有哪些?

一、为什么要对模型进行评估? 对机器学习和神经网络的模型进行评估是至关重要的,原因如下: 得知模型的泛化能力: 模型评估的主要目的是了解模型在未见过的数据上的表现,即其泛化能力。这是因为模型的性能在训练数据上…...

ArcgisForJS如何将ArcGIS Server发布的点要素渲染为热力图?

文章目录 0.引言1.ArcGIS创建点要素2.ArcGIS Server发布点要素3.ArcgisForJS将ArcGIS创建的点要素渲染为热力图 0.引言 ArcGIS For JS 是一个强大的地理信息系统(GIS)工具,它允许开发者使用 JavaScript 语言来创建各种 GIS 应用。ArcGIS Ser…...

爬虫基础学习day2

# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四&#xff…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

GAN模式奔溃的探讨论文综述(一)

简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...