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、因为该装配体里面存在过多的零部件层级的自定义外观(这些外观可能互相之前有了干扰࿰…...
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更新项后,…...
八股面试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 学生姓名: 学生学号: 指导教师: 导师…...
大数据新视界 --大数据大厂之数据脱敏技术在大数据中的应用与挑战
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
