前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >磐维数据库的基本语法与使用

磐维数据库的基本语法与使用

原创
作者头像
炒香菇的书呆子
发布于 2024-12-28 15:59:14
发布于 2024-12-28 15:59:14
99001
代码可运行
举报
运行总次数:1
代码可运行

磐维数据库(PanWeiDB),作为中国移动信息技术中心基于中国本土开源数据库打造的自研数据库产品,其内核能力基于华为openGauss开源软件,并进一步提升了系统稳定性。

磐维数据库简介

磐维数据库(PanWeiDB)是中国移动信息技术中心首个面向ICT基础设施的自研数据库产品。其产品内核能力基于华为openGauss开源软件,并进一步提升了系统稳定性。磐维数据库2.0,具有高性能、高可靠、高安全、高兼容等特点,能够为集中式、分布式、云原生、一体机等多种应用场景提供强大支撑。

磐维数据库的安装与连接

安装磐维数据库

磐维数据库的安装过程较为复杂,涉及到创建用户组和用户、配置内核参数、配置NTP服务保证时间同步、配置互信、创建安装目录、上传数据库安装文件并解压、编辑分布式安装配置的yml文件等多个步骤。

连接磐维数据库

磐维数据库可以通过命令行客户端工具(gsql)连接,也可以通过图形客户端工具(如DBeaver)连接。以下是通过gsql连接磐维数据库的示例:

代码语言:shell
AI代码解释
复制
gsql -d hr -p 15400 -U cmdbuser -r

通过上述命令,我们可以以操作系统用户panweidb登录数据库主节点,并连接到数据库。

磐维数据库的基本语法

用户查询模式

在JDBC中,可以设置currentSchema参数来指定查询模式:

代码语言:java
AI代码解释
复制
jdbc:panweidb://ip:port/database_name?currentSchema=schema_name

更好的方式是在数据库服务端,对业务db或者user进行永久性设置,参考命令如下:

代码语言:sql
AI代码解释
复制
alter database my_db set search_path = my_schema_name;
alter user my_user set search_path = my_schema_name;
alter user my_user in database my_db set search_path to my_schema_name;

客户端编码

如果客户端编码与数据库服务端编码不一致,可以显式设置客户端编码。

查询表数据

使用gsql查询表数据的基本语法如下:

代码语言:sql
AI代码解释
复制
SELECT * FROM table_name;

常用运维管理SQL命令

以下是一些常用的运维管理SQL命令:

  • 查看集群状态:gs_om -t status --detail
  • 启动数据库集群gs_om -t start
  • 停止数据库集群:gs_om -t stop
  • 重启数据库集群:gs_om -t restart
  • 查询磐维数据库版本:SELECT pw_version();
  • 查询opengauss版本:SELECT opengauss_version();
  • 查询PG版本:SELECT version();

磐维数据库的upsert语法

磐维数据库支持upsert功能,允许DML语句插入一行数据或者在现存行的基础上更新数据行。以下是两种风格的upsert语法:

Oracle风格的upsert语法

代码语言:sql
AI代码解释
复制
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE column2 = EXCLUDED.column2;

PG风格的upsert语法

代码语言:sql
AI代码解释
复制
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON CONFLICT(column1) DO UPDATE SET column2 = EXCLUDED.column2;

使用示例

以下是PG风格的upsert使用示例:

代码语言:sql
AI代码解释
复制
CREATE TABLE test_upsert (id INT PRIMARY KEY, code VARCHAR UNIQUE, info VARCHAR);
INSERT INTO test_upsert (id, code, info) VALUES (1, 'code1', 'info');

-- 再次插入id为1的数据时使用upsert语句
INSERT INTO test_upsert (id, code, info) VALUES (1, 'code1', 'info extra1')
ON CONFLICT(id) DO UPDATE SET info = EXCLUDED.info;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
openGauss学习笔记- - -初始与使用技巧
openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构;支持单机和一主多备部署方式,同时支持备机可读、双机高可用等特性。
用户10216580
2022/12/06
4620
openGauss学习笔记- - -初始与使用技巧
openGaussDB 初体验(下)
由于上篇文章较长,故分开写,点击可看上文 openGauss DB 初体验(上)看完后进入到如下接着来正式安装 openGauss。
JiekeXu之路
2020/08/06
2.4K0
openGaussDB 初体验(下)
openGauss 6.0.0-LTS企业版在openEuler-20.03-LTS下的安装
下载地址:https://opengauss.org/zh/download/archive/
授客
2025/05/07
1920
SQL语言的基本语法和数据类型(一)
SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。在本文中,我们将介绍SQL语言的基本语法和数据类型,包括SELECT语句、CREATE语句、数据类型等,并提供相应的示例。
玖叁叁
2023/04/11
5730
通过 Docker 实现国产数据库 OpenGauss 开发环境搭建
GS_PASSWORD:必须设置该参数。该参数值不能为空或者不定义。该参数设置了 openGauss 数据库的超级用户 omm 以及测试用户 gaussdb 的密码。openGauss 安装时默认会创建 omm 超级用户,该用户名暂时无法修改。测试用户 gaussdb 是在 entrypoint.sh 中自定义创建的用户。openGauss 镜像配置了本地信任机制,因此在容器内连接数据库无需密码,但是如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。openGauss 的密码有复杂度要求,需要:密码长度 8 个字符及以上,必须同时包含英文字母大小写,数字,以及特殊符号。
耕耘实录
2024/05/24
6290
MySQL常见DDL语法:掌握数据库定义语言的基础知识
作为最受欢迎和广泛使用的关系型数据库之一,MySQL提供了丰富的DDL(数据定义语言)语法,用于创建、修改和删除数据库、表和其他数据库对象。在本文中,我们将介绍MySQL中一些常见的DDL语法,帮助您掌握数据库定义语言的基础知识。以下是一些常用的 MySQL DDL(Data Definition Language)语句,用于定义和管理数据库对象(如表、索引、视图等):
修己xj
2023/08/25
2330
MySQL常见DDL语法:掌握数据库定义语言的基础知识
openGauss 2.1.0 闪回特性
openGauss 2.1.0于2021年9月30日发布,是openGauss的一个Preview版本,该版本生命周期仅为半年。该版本的新增功能如下:
数据和云
2021/10/15
1.5K0
python处理SQLite数据库
数据库非常重要,程序的数据增删改查需要数据库支持。python处理数据库非常简单。而且不同类型的数据库处理逻辑方式大同小异。本文以sqlite数据库为例,介绍一下python操作数据库的方法。
Crayon鑫
2023/10/10
4890
openGauss数据库闪回功能验证
openGauss闪回功能能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,恢复已提交的数据库修改前的数据,只需要秒级,而且恢复时间和数据库大小无关。适用于:
叶秋学长
2023/02/01
1K0
openGauss830版本中对于备份模块的增强与当前问题
会报出备机不支持备份,同时让你检查full_page_writes是否开启(full_page_writes是开启的)
数据库架构之美
2020/09/24
5930
【数据库设计和SQL基础语法】--SQL语言概述--SQL的基本结构和语法规则(二)
数据控制语言(DCL)是SQL的一个子集,用于控制数据库中的数据访问和权限。GRANT语句是DCL中的一种,用于向用户或角色授予特定的数据库操作权限。以下是GRANT语句的基本语法:
喵叔
2023/12/04
6320
SQLite数据库教程--Keep Learning系列
SQLite简介: SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。
王也518
2022/10/26
6250
SQLite数据库教程--Keep Learning系列
大数据-hive基本语法整理
用户11147438
2024/06/04
3020
软件测试|SQL常用语法,你都学会了吗?
SQL作为一门语言,和其他编程语言一样,都是需要遵循一些特定的规范和准则的,这也就是我们常说的语法(Syntax)。
霍格沃兹测试开发Muller老师
2023/05/07
3910
DB2数据库SQL语法参考手册
提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常
全栈程序员站长
2021/05/08
1.8K0
PostgreSQL语法、连接
博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。
Python攻城狮
2018/08/23
1.8K0
PostgreSQL语法、连接
Access数据库相关知识
比如,公园到访者的数据表,可能包含的实体有:公园信息(主键是公园编号),到访者的信息(主键是到访者编号),到访者居住地的信息(主键是居住地编号)一共有2个实体,即3张表。
Sidchen
2020/08/07
4.2K0
【数据库设计和SQL基础语法】--SQL语言概述--数据类型和约束
小数类型是一种数据类型,用于存储包含小数部分的数值。在数据库中,常见的小数类型包括:
喵叔
2023/12/05
6010
学习SQLite之路(二)
  下面就是真正关于数据库的一些知识了: 20160614更新  参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本语法: CREATE TABLE database_name.table_name(    column1 datatype  PRIMARY KEY(one or more columns),    column2 datatype,    column3 datatype, .....    col
xcywt
2018/01/11
2.2K0
学习SQLite之路(二)
麒麟V10部署openGauss
陳斯托洛夫斯記
2024/08/07
4130
相关推荐
openGauss学习笔记- - -初始与使用技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验