opengauss概述-基础知识篇-备考华为高斯

news2024/11/18 15:43:22

目录

🧨考前准备:

🎡数据库操作语言

✨OLTP和OLAP

🎯常用函数

 🧲字符处理函数

关于 left 和 right    

 特别重点的字符串函数

🧲数字操作函数

关于 ceil 和 floor

 🧲时间和日期处理函数

🧲几何函数


🧨考前准备:

🧨🧨🧨🧨高斯预约考试必备🧨🧨🧨🧨

注册华为ID的网址:https://e.huawei.com/cn/talent/portal/#/)

双证件:身份证+第二证件(军官证,驾照,信用卡,在校学生证,社保卡,有效期工作证)

🎡数据库操作语言

数据库操作语言
DDL(Data Definition Language)数据定义语言
DML(Data Manipulation Language)数据操作语言
DQL(Data Query Language)数据查询语言
DTL(Data Transaction Language)数据控制语言

原图

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=4173096c07ce11ef9109ebf0f0121b46 

✨OLTP和OLAP

原图 

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=12a56234049e11ef94adf9ef8352e1d6 

联机事务处理OLTP

OLTP是传统的关系型数据库的主要应用,事务性非常高的系统,一般都是高可用的在线系统,

小的事务以及小的查询为主,主要是基本的日常的事务处理,例如 银行交易。

OLTP 系统强调数据库内存效率,评估其系统的时候,一 般看其每秒执行的Transaction以及

Execute SQL的数量。 强调内存各种指标的命令率,强调绑定变量,强调并发 操作

联机分析处理OLAP

OLAP是数据仓库系统的主要应用,支持复杂的分析操作, 侧重决策支持,并且提供直观易懂的查

询结果。。

OLAP系统则强调数据分析,考核的标准往往是磁盘子系统的吞吐量(带宽),强调SQL执行时

长,强调磁盘 I/O,强调分区等。

🎯常用函数

常用函数
                          预置脱敏函数
                          字符串处理函数
                          数字操作函数
                        时间日期操作函数
                        类型转换函数
                         几何函数

预置脱敏函数(隐私数据保护)
动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地 在保留原始数据的前提下解决非授权用户对敏感信息的访问问题。
当管理员指定待脱敏对象和定制数据脱敏策略后,用户所查询的数据库资源如果关联到对应的脱敏策略时,则会根据用户身份和脱敏策略进行数据脱敏,从而限制非授权用户对隐私数据的访问。

   * creditcardmasking:对后四位之前的数字进行脱敏 
   * email:邮箱相关
   * full:全部
   * shuffle:洗牌 
   * maskall:全部脱敏 
*/

脱敏函数名示例
creditcardmasking'4880-9898-4545-2525' 将会被脱敏为'xxxx-xxxx-xxxx-2525',该函数仅对后4位之前的数字进行脱敏
basicemailmasking'abcd@gmail.com' 将会被脱敏为'xxxx@gmail.com'出现第一个'@'之 前的文本进行脱敏
fullemailmasking'abcd@gmail.com' 将会被脱敏为'xxxx@xxxxx.com',对出现最后一 个'.'之前的文本  (除'@'符外)进行脱敏
alldigitsmasking

'alex123alex' 将会被脱敏为'alex000alex',

仅对文本中的数字进行脱敏

shufflemasking序排列的方式实现,属于弱脱敏函数,语义较强的字符串不建议使用该函数脱敏
randommaskin

'hello word' 将会被脱敏为  'ad5f5ghdf5',

将文本按字符随机脱敏

maskall

'4880-9898-4545-2525'

将会被脱敏为'xxxxxxxxxxxxxxxxxxx'

 🧲字符处理函数

/**
   * char_length:获取字符串中的字符个数 
   * lengthb:获取指定字符串的字节数
   * rawcat:字符串拼接函数 
   * reverse:返回颠倒的字符串
   * left(str text, n int):返回字符串的前n个字符 
   * right(str text, n int):返回字符串的后n个字符 
*/
字符串常用处理函数
字符处理函数功能示例
char_length(string)字符串中的字符个数char_length('hello') 
//5
length(text/bpchar)获取指定字符串的字节数

lengthb('hello')  

//5

left(str text,n int)返回字符串的前n个字符。当n是负数时, 返回除最后|n|个字 符以外的所有字符。

left('abcde', 2)

// ab

right(str text,n int)返回字符串中的后n个字符。当n是负值 时,返回除前|n|个字 符以外的所有字符。right('abcde',  2) 
//de
lpad(string  text, 
length int [,  fill text])
通过填充字符fill(缺省时为空白),把 string填充为length长度。 如果string已经比length长则将其尾部断。lpad('hi', 5,  'xyza') 
//xyzhi
rpad(string  text, 
length int [,  fill text]
通过填充字符fill(缺省时为空白),把 string填充为length长度。 如果string已经比length长则将其尾部断。rpad('hi',  5,  'xy') 
hixyx
notlike(x  bytea 
name  text,  y  bytea text)
比较x和y是否不一致notlike(1,2) // t 
notlike(1,1) // f
rawcat(raw,raw)字符串拼接函数rawcat('ab','cd') 
//abcd
reverse(str)返回跌倒的字符串reverse('abcde') 
//edcba
关于 left right    

left 正数  如图所示left2

 left 负数

 right 正数

right 负数

 

 

 特别重点的字符串函数

instr(string1,string2,int1,int2)

查询对应原字符串匹配字符串的对应的索引值

overlay(string1 placing string2 FROM int1 [for int2])

将原字符串中需匹配替换字符串替换成对应字符串

substring(string [FROM int1] [for int2])

将原字符根据索引和字符条目个数截取相应字符串
replace(string text, FROM text, to text)将原字符串里出现(FROM text)所有字符串替换成(to text)字符串

原图

亿图图示icon-default.png?t=N7T8https://www.edrawmax.cn/online/share.html?code=dca0930209c511ef84030bfa047a2703

🧲数字操作函数

/**
   * ceil(x):不小于参数的最小整数,ceil(-42.8)  结果为    -42 
   * floor(x):不大于参数的最大整数,ceil(-42.8)  结果为    -43 
*/

数字操作函数
数字操作函数功能示例
ceil(x)不小于参数的最小的整数

ceil(-42.8)

// -42

floor(x)不大于参数的最大整数

floor(-42.8)

//-43

log(x)以10为为底的对数

log(100.0)

//2.0000000000000000

div(y numeric , x numeric)y除以x的商的整数部分

div(9,4)

//2

trunc(x)截断(去整数部分)

trunc(42.8)

//42

cbort(dp)立方根

cbrt(27.0)

//3

mod(x,y)x/y的余数(模) 如果x是0,则返回0

mod(9,4)

//1

power(a double precision,

b double precision)

a的b次幂

power(9.0,3.0) 

// 729.0000000000000000

关于 ceil floor

时间日期操作函数

时间和日期操作符 + 

postgres=# SELECT date '2021-5-28' + integer '7' AS RESULT;  
result
-----
2021-06-04 00:00:00

时间和日期操作符 -

postgres=# SELECT date '2021-05-01' - date '2021-04-28' AS RESULT; 
result
----- 
3 days

 🧲时间和日期处理函数

时间和日期函数
时间和日期函数功能示例
age(timestamp, timestamp)将两个参数相减,并以年、月、日作 
为返回值。 若相减值为负,则函数 
返回亦为负,入参可以 都带
timezone或都不带timezone。

age(timestamp  '2020-05-04', timestamp 
'2000-01-01') 

//20年5月3日

age(timestamp)当前时间和参数相减,入参可以带或 
者不带  timezone。

age(timestamp '2000-01-01') 

假设现在是2024-5-4日

//24 年 5月 3日

current_date当前日期

current_date

//2024-05- 04

date_part(text, 
timestamp)
获取日期/时间值中子域的值,例如年或者小时  的值

date_part('hour', 
timestamp  '2000-05-04 20:38:40') 

//20

trunc(timestamp)默认按天截取trunc(timestamp
'2024-05-04  20:38:40') 
//2024-05-04 00:00:00
sysdate当前日期及时间

sysdate 

//2024-05-04-12:34:89

justify_days(interval)将时间间隔以月(30天为一月)为单 
位。

justify_days(interval 
'35 days')  

//1 mon  5 days

pg_sleep(seconds)服务器线程延迟时间,单位为秒pg_sleep(10
last_day(d)用于计算时间点d当月最后一天时间

last_day(to_date('2024- 
05-01',  'YYYY-MM-DD')) 

//2024-05-04  00:00:00

类型转换函数

/**
   * cast(x as y): 将    x 转换为    y 指定的类型
   * hextoraw(string):十六进制转二进制
   * rawtohex(string):二进制转十六进制
   * convert_to_nocase(text, text):转换编码
   * numtoday(numeric): 将数字类型的值转为指定格式的时间戳 
*/

 

类型转换函数功能示例
cast(x as y)类型转换函数,将x转换成y指定的类型cast('22-oct-1997' as timestamp) 
//1997-10-22 00:00:00
hextoraw(String)将一个十六进制的字符串转换成二进制

hextoraw('7D')

//7D

numtoday(numeric)将数字类型的值转换为指定 
格式的时间戳

numtoday(2)

//2 days

pg_systimestamp()获取系统时间戳

pg_systimestamp()

//2024-05-04 
11:21:28.317367+08

rawtohex(string)将二进制构成的字符串转换成十六进制的字符串rawtohex('1234567') 
//31323334353637
to_bigint(varchar)将字符类型转换为bigint类 型。to_bigint('123364545554455') 
//123364545554455
to_timestamp(text, 
text)
将字符串类型的值转换为指 
定格式的时间戳。

to_timestamp('05 Dec 2000', 'DD 
Mon YYYY')

//2000-12-05 00:00:00

convert_to_nocase(text, 
text)
将字符串转换为指定的编码类型。convert_to_nocase('12345', 'GBK') 
// \x3132333435

🧲几何函数

 

/**
   * area: 面积
   * center:中心
   * height:高度
   * width:宽度
   * path:路径
   * radius:半径
   * circle:圆
   * polygon:多边形
   * point:顶点
*/

 几何函数

几何函数功能示例
area(object)计算图形面积

area(box'((0,0),(1,1))')

//1

cener(object)计算图形的中心

center(box'((0,0),(1,2))')

//(0.5,1)

diameter(circle)计算圆的直径

diameter(circle'((0,0),(2,0))')

//4

height(box)矩形的竖直高度

height(box'((0,0),(1,1))') 

//1

isclose(path)图形是否为闭合路径

isclose(path'((0,0),(1,1)),(2,0))')

//t

isopen(path)图形是否为开放路径

isopen(path'[(0,0),(1,1)),(2,0)]')

//t

length(object)计算图形长度

length(path'((-1,0)),(2,0))')

//3

npoints(path)计算路径的顶点数

npoints(path'((0,0)),(1,1),(2,0))')

//3

npoints(polygon)

计算多边形的顶点数

npoints(polygon'((0,0)),(1,1)')

//2

pclose(parh)把路径装转换成闭合路径

pclose(path'[(0,0),(1,1)),(2,0)]')

//((0,0),(1,1),(2,0))

popen(path)把路径装转换成开放路径

popen(path'((0,0),(1,1)),(2,0))')

//[(0,0),(1,1),(2,0)]

radius(circle)计算圆的半径

radius(circle'((0,0),(2,0))')

//2

width(box)计算矩形的水平尺寸

width(box'((0,0),(1,1))')

//1

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

karpathy Let‘s build GPT

1 introduction 按照karpathy的教程,一步步的完成transformer的构建,并在这个过程中,加深对transformer设计的理解。 karpathy推荐在进行网络设计的过程中,同时利用jupyter notebook进行快速测试和python进行主要的网络的构建。 …

安卓 app icon大小 安卓app界面尺寸大小

移动应用的界面设计画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现? 本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索,来分享移动应用界面设计中的…

《Fundamentals of Power Electronics》——基础交流建模方法

PWM整流器小信号交流模型建模的主要步骤为: (a)利用小纹波近似的动态版本,建立与电感和电容波形的低频平均值有关的方程; (b)平均方程的扰动和线性化; (c)交流等效电路模型的建立。 以下图buck-boost电路为例进行分析。 首先测…

分类规则挖掘(一)

目录 一、分类问题概述(一)分类规则挖掘(二)分类规则评估(三)分类规则应用 二、k-最近邻分类法 一、分类问题概述 动物分类:设有动物学家陪小朋友林中散步,若有动物突然从小朋友身边…

电路板/硬件---器件

电阻 电阻作用 电阻在电路中扮演着重要的角色,其作用包括: 限制电流:电阻通过阻碍电子流动的自由而限制电流。这是电阻最基本的功能之一。根据欧姆定律,电流与电阻成正比,电阻越大,通过电阻的电流就越小。…

【机器视觉】C# .NET 8 部署yolov9 onnx对象检测

这段代码展示了一个使用YOLOv9进行对象检测的简单测试框架。代码主体以及其功能分为以下几个关键部分: 创建测试图片数组 _testImages,它包含了图片文件名和对应的标签。使用 buildTests 方法来从给定的文件名中加载图片并调整尺寸,准备测试数…

Linux搭建sqlilabs靶场

提前准备: 文章中所使用到的Linux系统:Ubantu20.4sqlilabs靶场下载地址:GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. 一. 安装phpstudy phpstudy安装命令:wget -O install.sh h…

【链表-双向链表】

链表-双向链表 1.链表的分类1.1 分类依据1.2 常用类型 2.双向链表的2.1 双向链表的结构2.2 双向链表的操作2.2.1 **初始化**2.2.2 **尾插**2.2.3 **头插**2.2.4 **尾删**2.2.5 **头删**2.2.6 在pos位置之后插入数据2.2.7 删除pos节点2.2.8 查找2.2.9 销毁 1.链表的分类 1.1 分…

Java如何获取当前日期和时间?

Java如何获取当前日期和时间? 本文将为您介绍 Java 中关于日期和时间获取的方法,以及介绍 Java 8 中获取日期和时间的全新API。 1、 System.currentTimeMillis() 获取标准时间可以使用 System.currentTimeMillis() 方法来获取,此方法优势是…

Qt与MySQL连接

QT连接Mysql数据库(详细成功版)-CSD N博客 我的MySQL是64位的,所以我的Qt的套件也需要是64位的 遇到的问题: (available drivers中已经有QMYSQL QMYSQL3,还是not loaded) QSqlDatabase: QMYS…

专项技能训练五《云计算网络技术与应用》实训7-1:安装mininet

文章目录 mininet安装1. 按6-1教程安装opendaylight控制器。2. 按6-2教程安装RYU控制器。3. 按5-1教程安装openvswitch虚拟交换机并开启服务。4. 将老师所给mininet安装包试用winSCP传送至电脑端。5. 安装net-tools。6. 安装mininet7. 安装完成后,使用命令建立拓扑&…

Jenkins集成Kubernetes 部署springboot项目

文章目录 准备部署的yml文件Harbor私服配置测试使用效果Jenkins远程调用参考文章 准备部署的yml文件 apiVersion: apps/v1 kind: Deployment metadata:namespace: testname: pipelinelabels:app: pipeline spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metada…

腾讯云IM即时通信引入(React Web端组件式)

开发环境要求 React ≥ v18.0 (17.x 版本不支持) TypeScript node(12.13.0 ≤ node 版本 ≤ 17.0.0, 推荐使用 Node.js 官方 LTS 版本 16.17.0) npm(版本请与 node 版本匹配) chat-uikit-react 集成 …

软件工程习题答案2024最新版

习题一答案 一、选择题 软件的主要特性是(A B C)。 A) **无形 **B) 高成本 C) **包括程序和文档 ** D) 可独立构成计算机系统 软件工程三要素是(B)。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 包含风险分析的软件工程模型是(A)…

算法设计与分析——期末1h

目录 第一章 算法的定义 算法的三要素 算法的基本性质 算法的时间复杂度数量级: 第二章 兔子繁殖问题(递推法) 猴子吃桃问题(递推法) 穿越沙漠问题(递推法(倒推)) 百钱百…

Linux基础之yum和vim

目录 一、软件包管理器yum 1.1 软件包的概念 1.2 软件包的查看 1.3 软件包的安装和删除 二、Linux编辑器之vim 2.1 vim的基本概念 2.2 正常模式(命令模式) 2.3 底行模式 2.4 输入模式 2.5 替换模式 2.6 视图模式 2.7 总结 一、软件包管理器yu…

基于springboot+vue+Mysql的幼儿园管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

【Flask 系统教程 5】视图进阶

类视图 在 Flask 中,除了使用函数视图外,你还可以使用类视图来处理请求。类视图提供了一种更为结构化和面向对象的方式来编写视图函数,使得代码组织更清晰,并且提供了更多的灵活性和可扩展性。 创建类视图 要创建一个类视图&am…

Reactor模型详解

目录 1.概述 2.Single Reactor 3.muduo库的Multiple Reactors模型如下 1.概述 维基百科对Reactor模型的解释 The reactor design pattern is an event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs.…

办公数据分析利器:Excel与Power Query透视功能

数据分析利器:Excel与Power Query透视功能 Excel透视表和Power Query透视功能是强大的数据分析工具,它们使用户能够从大量数据中提取有意义的信息和趋势,可用于汇总、分析和可视化大量数据。 本文通过示例演示Power Query透视功能的一个小技…