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

gaussdb 基础管理 数据库 表 用户 模式 权限 存储过程

数据库database

#创建数据库,指定字符集UTF8,缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。

CREATE DATABASE devdb ENCODING 'UTF8' template = template0;

CREATE DATABASE testdb;

标识符的命名需要遵守如下规范:

* 标识符需要为字母(a-z)、下划线(_)、数字(0-9)或美元符号($)。

* 标识符必须以字母(a-z)或下划线(_)开头。

ENCODING [ = ] 'encoding' 可选。指定数据库使用的字符编码

TEMPLATE [ = ] template可选。模板名。即从哪一个模板创建新数据库。GaussDB采用从模板数据库复制的方式来创建新的数据库。

#修改数据库搜索路径

ALTER DATABASE testdb SET search_path TO pa_catalog,public;

#查询搜索路径

show search_path;

#查询数据库

SELECT datname FROM pg_database;

\l

#切回切换回默认数据库postgres

\c postgres

#重命名数据库

ALTER DATABASE testdb RENAME TO testdb1

表table

#行存表

CREATE TABLE PART ( P_PARTKEY BIGINT NOT NULL, P_NAME VARCHAR(55) NOT NULL, P_MFGR CHAR(25) NOT NULL, P_BRAND CHAR(10) NOT NULL, P_TYPE VARCHAR(25) NOT NULL, P_SIZE BIGINT NOT NULL, P_CONTAINER CHAR(10) NOT NULL, P_RETAILPRICE DECIMAL(15,2) NOT NULL, P_COMMENT VARCHAR(23) NOT NULL ) WITH (ORIENTATION = ROW);

#列存表

CREATE TABLE PART1 ( P_PARTKEY BIGINT NOT NULL, P_NAME VARCHAR(55) NOT NULL, P_MFGR CHAR(25) NOT NULL, P_BRAND CHAR(10) NOT NULL, P_TYPE VARCHAR(25) NOT NULL, P_SIZE BIGINT NOT NULL, P_CONTAINER CHAR(10) NOT NULL, P_RETAILPRICE DECIMAL(15,2) NOT NULL, P_COMMENT VARCHAR(23) NOT NULL ) WITH (ORIENTATION = COLUMN);

#查看表信息

\d

#增加列

ALTER TABLE part ADD COLUMN p_col1 bigint;

#增加列默认值

ALTER TABLE part ALTER COLUMN p_col1 SET DEFAULT 1;

#删除列默认值

ALTER TABLE part ALTER COLUMN p_col1 drop DEFAULT ;

#修改列数据类型

ALTER TABLE part MODIFY p_col1 INT;

#修改列名称

ALTER TABLE part RENAME p_col1 to p_col;

#查看表结构

\d part

#添加约束

CREATE UNIQUE INDEX bmsql_oorder_idx1 ON bmsql_oorder USING btree (o_w_id, o_d_id, o_carrier_id, o_id);

#添加索引

create index bmsql_customer_idx1 on bmsql_customer (c_w_id, c_d_id, c_last, c_first);

#查看索引

\di bmsql_customer_idx1

用户user

#创建用户

CREATE USER hccdp SYSADMIN IDENTIFIED BY "NHY^7ujm";

CREATE USER jim PASSWORD 'Gaussdb@123';

CREATE USER dim CREATEDB PASSWORD 'Gaussdb@123';

#修改密码

ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'Gaussdb@123';

#添加权限

ALTER USER jim CREATEROLE;

#锁定用户 解锁用户

ALTER USER jim ACCOUNT LOCK;

ALTER USER jim ACCOUNT UNLOCK;

#删除用户

DROP USER jim? CASCADE;

#查看角色

\du jim

#查看用户列表

SELECT * FROM pg_user;

模式Schema

#创建模式 在数据库创建用户时,系统会自动帮助用户创建一个同名Schema

CREATE SCHEMA ds;

#更改模式名

ALTER SCHEMA ds RENAME TO ds_new;

#修改模式的所有者

ALTER SCHEMA ds_new OWNER TO jack;

#查看模式的所有者

SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE s.nspowner = u.usesysid;

#查看模式

\dn

权限

#sysadmin权限授权给他

CREATE USER joe PASSWORD 'Gaussdb@123';

ALTER USER joe with sysadmin;

#查看用户权限变化

\du

#撤回权限

ALTER USER joe with nosysadmin;

#使用schema权限

GRANT USAGE ON SCHEMA tpcds TO joe;

#表所有权限

GRANT ALL PRIVILEGES ON tpcds.reason TO joe;

#列的权限

GRANT select (r_reason_sk,r_reason_id,r_reason_desc),update (r_reason_desc) ON tpcds.reason TO joe;

#数据库连接权限 创建schema 且允许joe将此权限授权给其他用户

GRANT create,connect on database postgres TO joe WITH GRANT OPTION;

#创建角色

CREATE ROLE tpcds_manager PASSWORD 'Gaussdb@123';

#赋予权限给角色

GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager;

存储过程示例

#创建表 插入数据

CREATE TABLE employee (id varchar(100),name varchar(100),salary int);

CREATE TABLE ep_grade (id varchar(100),grade varchar(100),flag int);

Insert into employee values(1,'张三',5000);

Insert into employee values(2,'李四',5000);

Insert into employee values(3,'王五',5000);

Insert into employee values(4,'赵六',5000);

Insert into employee values(5,'太一',5000);

Insert into employee values(6,'太二',5000);

Insert into employee values(7,'太三',5000);

Insert into employee values(8,'太四',5000);

Insert into ep_grade values(1,'A',2022);

Insert into ep_grade values(2,'S',2021);

Insert into ep_grade values(3,'B',2021);

Insert into ep_grade values(4,'B',2021);

Insert into ep_grade values(5,'A',2021);

Insert into ep_grade values(6,'C',2022);

Insert into ep_grade values(7,'C',2021);

Insert into ep_grade values(8,'B',2022);     

#创建存储过程

CREATE OR REPLACE PROCEDURE proc_emp()

AS

DECLARE

   EP_ID VARCHAR(100);

   GRADE VARCHAR(10);

   SALARY INT;

CURSOR C1 IS select distinct id,grade FROM ep_grade where Flag = 2021;

BEGIN

   OPEN C1;

   LOOP

      FETCH C1 INTO EP_ID,GRADE;

      EXIT WHEN C1%NOTFOUND;

      Case GRADE

      when 'S'

         then  update employee set salary = salary+1000 where id=EP_ID ;

      when 'A'

         then update employee set salary = salary+500  where id=EP_ID ;

      when 'B'

          then update employee set salary = salary+100 where id=EP_ID;

      when 'C'

          then update employee set salary = salary-200 where id=EP_ID;

      END Case;

DBE_OUTPUT.PRINT_LINE('ID: '||EP_ID||', Grade: '||GRADE||', updated.');

END LOOP;

CLOSE C1;

END;

/

#调用存储过程

call proc_emp();

相关文章:

gaussdb 基础管理 数据库 表 用户 模式 权限 存储过程

数据库database #创建数据库,指定字符集UTF8,缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。 CREATE DATABASE devdb ENCODING UTF8 template template0; CREATE DATABASE testdb; 标识符的命名…...

i9-11900H+3070laptop+win10下的yolov5配置

参考博客:https://blog.csdn.net/qq_67105081/article/details/138232424 关键问题: 1、由之前装的CUDA11.6(有篇博客上可以换版本)CUDNN8.4.0Python3.9.13推后在指定的虚拟环境中装了Pytorch1.12.1(在AnnacondaPrompt下用pip命令…...

SpringBoot日常:封装redission starter组件

文章目录 逻辑实现POM.xmlRedissionConfigRedissionPropertiesRedissionUtilsspring.factories 功能测试application.yml配置POM.xmlTestController运行测试 本章内容主要介绍如何通过封装相关的redission连接配置和工具类,最终完成一个通用的redission starter。并…...

腾讯云技术深度解析:构建高效云原生应用与数据安全管理

腾讯云技术深度解析:构建高效云原生应用与数据安全管理 在当今快速发展的技术环境中,云计算已经成为企业数字化转型的关键驱动力。腾讯云作为中国领先的云服务提供商,凭借其卓越的技术和创新能力,为企业提供了高效、可扩展的云原…...

ACM与蓝桥杯竞赛指南 基本输入输出格式二

A B || 继续看第二个AB问题,A B || ,大家可以先自行读题,或者有经验直接看输入输出格式,发现依然是求AB,但它的输入数据为: 2 1 5 10 20 输出: 6 20 此题相比第一道而言,本…...

解决SolidWorks装配体无法更改透明度问题

这个问题是在零件上各个部件显示正常,且透明度可以更改,但是一到装配体上就出现问题都变成了灰色。更改透明度也不行。 解决方法: 1、因为该装配体里面存在过多的零部件层级的自定义外观(这些外观可能互相之前有了干扰&#xff0…...

2024_newstar_week1_crypto

baby_mod 题目 from Crypto.Util.number import * from enc import flagm bytes_to_long(flag) p getPrime(512) q getPrime(512) r getPrime(777) t getPrime(777) tmp getPrime(15) e 65537 n p*q print(f"c {pow(m,e,n)}") print(f"leak {p*r-q*…...

6.2 URDF集成Rviz基本流程

前面介绍过,URDF 不能单独使用,需要结合 Rviz 或 Gazebo,URDF 只是一个文件,需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型,当前,首先演示URDF与Rviz的集成使用,因为URDF与Rviz的集成较之于…...

双系统一体机电脑无法启动报错“Something has gone serously wrong: SBAT self-check failed: Security Policy Violation”

双系统一体机电脑无法启动 问题搜索解决办法解决开启时 F2 进入系统设置界面选择“疑难解答”选择“高级选项”选择“UEFI固件设置”进入“Start Menu”界面选择“Security”关闭相关选项 问题 在2024/8/14日Windows环境,系统更新了两个Windows更新项后&#xff0c…...

八股面试2(自用)

mysql存储引擎 存储引擎:定义数据的存储方式,以及数据读取的实现逻辑 在以前数据库5.5默认MyISAM引擎,之后默认InnoDB引擎 MyISAM引擎的数据和索引是分开存储的,InnoDb将索引和文件存储在同一个文件。 MyISAM不支持事务&#…...

Leetcode 347 Top K Frequent Elements

题意: 求前k个出现频率最高的元素 首先得到一个频率图这是肯定的,下一步要考虑建立一个堆,堆中保存着前k个频率最大的数字,这个怎么做,可以用customized cmp来做,把数字存进去完事儿。注意这里不用 保存所有…...

[Linux网络编程]03-TCP协议

一.TCP协议数据通信的过程 TCP数据报如下,数据报中的标志位双端通信的关键。 三次握手: 1.客户端向服务端发送SYN标志位,请求建立连接,同时发送空包 2.服务端向客户端回发ACK标志位(即确认标志位,任何一端发送数据后都需要另一端…...

Windows和Linux在客户端/服务端在安全攻防方面的区别

Windows和Linux在客户端/服务端的安全攻防上存在一些显著区别,主要体现在系统架构、权限管理、安全工具、更新机制以及社区支持等方面。 一、系统架构与设计差异 1. 内核架构 Windows:Windows是一个闭源的操作系统,由微软开发和维护&#…...

VUE 仿神州租车-开放平台

项目背景: 神州租车是一家提供汽车租赁服务的公司,其API开放平台为开发者提供了访问神州租车相关服务和数据的接口。用VUE技术来仿照其开发平台。 成果展示: 首页: API文档: 关于我们:...

计算机的错误计算(一百二十九)

摘要 用错数解释计算机的错误计算(一百二十七)中的计算错误的原因。 从(一百二十七)知, 有四种形式: 四个 分别有1位、8位、8位、0位错误数字。 下面用错数解释前面3个错误计算的由来。 (1&a…...

process.platform 作用

process.platform 可以获取当前运行 Node.js 进程的操作系统平台的信息。 一、平台特定的代码执行 1. 适应不同操作系统 不同的操作系统可能有不同的行为、文件路径格式、命令行参数等。通过检查process.platform的值,可以根据当前运行的平台执行特定的代码逻辑。…...

Java项目-基于springboot框架的企业客户信息反馈系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...

《深度学习》dlib 人脸应用实例 仿射变换 换脸术

目录 一、仿射变换 1、什么是仿射变换 2、原理 3、图像的仿射变换 1)图像的几何变换主要包括 2)图像的几何变换主要分为 1、刚性变换: 2、仿射变换 3、透视变换 3)常见仿射变换 二、案例实现 1、定义关键点索引 2、定…...

springboot044美容院管理系统(论文+源码)_kaic

本科毕业设计论文 题目:美容院管理系统设计与实现 系 别: XX系(全称) 专 业: 软件工程 班 级: 软件工程15201 学生姓名: 学生学号: 指导教师: 导师…...

大数据新视界 --大数据大厂之数据脱敏技术在大数据中的应用与挑战

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键&#xff…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

Vue ③-生命周期 || 脚手架

生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...