高斯数据库gaussDB(DWS),全网首篇对标MySQL命令集合文章 ...

打印 上一主题 下一主题

主题 674|帖子 674|积分 2022

文章目录



创建高斯数据库 gaussDB(DWS)

在正式开始前需要提前创建一下 VPC,位置入口如下所示。

在打开的页面配置如下信息,然后创建即可。

其中首要进行的修改是 基本名称子网名称
创建完毕之后的结果如下所示:

接下来就可以配置高斯数据库 DWS 了,功能入口地址为 大数据->数据仓库服务 GaussDB(DWS)

这里按照华为云提示输入即可,请注意购买一个公网 IP,否则后续实践不好操作。
虚拟私有云选择前文配置内容即可。

创建之后需要等 10 分钟所有的初始化实践,然后出现 可用 状态后,表示创建成功。

连接 gaussDB(DWS)

首先下载链接工具,下载完毕在 Download 目录对文件进行解压与链接操作。

  1. unzip dws_client_8.1.x_redhat_x64.zip
  2. source gsql_env.sh
复制代码
去 DWS 详情页拿到外网 IP,接下来就可以使用下述命令行进行连接。
  1. gsql -d gaussdb -h <DWS的公网IP> -U dbadmin -p 8000 -r -W <用户dbadmin密码>;
复制代码
使用公网 IP 和密码登录之后,进入到 DWS 操作界面。

其中与 gaussdb=> 对应的还有一个 gaussdb->,表示为换行,一般当你的命令没有结尾时,即未出现分号 (;),会出现该输入状态。
连接到 DWS 之后,就可以进行命令学习了。
GaussDB (DWS) 命令学习

首先使用万能命令 help,得到下图所示内容。

其中出现了很多关键信息
  1. You are using gsql, the command-line interface to gaussdb.
  2. Type:  \copyright for distribution terms
  3.        \h for help with SQL commands
  4.        \? for help with gsql commands
  5.        \g or terminate with semicolon to execute query
  6.        \q to quit
复制代码
使用 \h 得到 SQL 命令,具体如下,省略了部分结果,其中涉及的内容与 MySQL 关键字基本一致,例如 Alter,Create,Drop 等内容。
  1. ABORT            CREATE TEXT SEARCH CONFIGURATION
  2.   ALTER APP WORKLOAD GROUP          CREATE TEXT SEARCH DICTIONARY
  3.   ALTER APP WORKLOAD GROUP MAPPING  CREATE TRIGGER
  4.   ALTER DATA SOURCE                 CREATE TYPE
  5.   ALTER DATABASE                    CREATE USER
  6.   ALTER DEFAULT PRIVILEGES          CREATE VIEW
  7.   ALTER DIRECTORY                   CREATE WORKLOAD GROUP
  8. ...skipping 1 line
  9.   ALTER SESSION                     DROP NODE GROUP
  10.   ALTER SYNONYM                     DROP OWNED
  11.   ALTER SYSTEM KILL SESSION         DROP PROCEDURE
  12.   ALTER TABLE                       DROP REDACTION POLICY
  13.   ALTER TABLE PARTITION             DROP RESOURCE POOL
  14. ...skipping 1 line
  15.   CREATE TABLE                      TRUNCATE
  16.   CREATE TABLE AS                   UPDATE
  17.   CREATE TABLE PARTITION            VACUUM
  18.   CREATE TABLESPACE                 VALUES
复制代码
使用 \? 得到的是 gsql 命令,这些是需要我们仔细学习的内容。
\copyright 获取的是版权信息,得到内容如下所示:
  1. GaussDB Database Management System
  2. Copyright (c) Huawei Technologies Co., Ltd. 2018. All rights reserved.`
复制代码
首先记住 \q 是退出,但是如果一口气把所有命令都记住是不可能的,因为编程属于熟能生巧的技术工种,所以死记硬背效果不大。
我们先看一下基本 gsql 命令。
\l: 列出所有数据库


\c 数据库名 :切换数据库

使用 \c 可以切换数据库,例如下述命令:
  1. \c postgres
复制代码
使用之后会要求再次输入密码:
  1. assword for user dbadmin:
  2. SSL connection (protocol: TLSv1.3, cipher: TLS_AES_128_GCM_SHA256, bits: 128)
  3. You are now connected to database "postgres" as user "dbadmin".
复制代码
切换成功之后,会发现输入状态提示位置已经切换到新的数据库中。
  1. postgres=> \d
复制代码
此时我们可以用 \d 查看当前数据库下的表

如果该数据库下没有表,则提示下述无关系。
  1. No relations found.
复制代码
创建一个表

为了后续测试,我们需要创建一个数据表,使用命令与 MySQL 一致,具体如下:
  1. CREATE TABLE customer_t1
  2. (
  3.     c_customer_sk             integer,
  4.     c_customer_id             char(5),
  5.     c_first_name              char(6),
  6.     c_last_name               char(8)
  7. )
  8. with (orientation = column,compression=middle)
  9. distribute by hash (c_last_name);
复制代码
代码复制之后的结果如下所示,注意 => 和 ->:

然后回车运行建表脚本,得到下述内容,表示表创建完毕。
  1. CREATE TABLE
复制代码
此时再使用 \d 就能得到刚刚建立的数据表了。

   表的字段名:c_customer_sk 、c_customer_id、c_first_name 和 c_last_name 是,integer、char(5)、char(6)和 char(8)是这四字段名称的类型。
  表创建完毕,就可以对数据进行管理了,常见的操作是插入,更新,删除。
维护数据

插入数据
  1. INSERT INTO customer_t1(c_customer_sk, c_customer_id, c_first_name) VALUES (5566, 'hello', '橡皮擦');
复制代码
插入上述数据,由于 橡皮擦 超过了数据长度,所以出现下述异常。
  1. ERROR:  value too long for type character(6)
  2. CONTEXT:  referenced column: c_first_name
复制代码
修改之后,插入成功:
  1. INSERT INTO customer_t1(c_customer_sk, c_customer_id, c_first_name) VALUES (5566, 'hello', '???');
复制代码
提示信息:
  1. INSERT 0 1
复制代码
此时可以用 \d+ 命令查看表的属性
  1. \d+ customer_t1;
复制代码
得到的结果如下所示:

查询命令
  1. select * from customer_t1;
复制代码

其余的查询语句参考 MySQL 的 SELECT 语法即可。
更新与删除表数据
更新与删除语句与 MySQL 一致,可以互相参考学习。
创建和管理 schema

在 GaussDB DWS 中有一个新概念的出现,叫做 Schema ,即模式。
通过管理 schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的 schema 下而不引起冲突。
有一些注意事项,抄录自官网手册:


  • 数据库集群包含一个或多个已命名数据库。用户和用户组在整个集群范围内是共享的,但是其数据并不共享。任何与服务器连接的用户都只能访问连接请求里声明的那个数据库。
  • 一个数据库可以包含一个或多个已命名的 schema,schema 又包含表及其他数据库对象,包括数据类型、函数、操作符等。同一对象名可以在不同的 schema 中使用而不会引起冲突。例如,schema1 和 schema2 都可以包含一个名为 mytable 的表。
使用 \dn 可以查看所有 schema:

使用 SHOW search_path;,可以显示当前使用的 schema,效果如下:

模式相关命令
查看数据库当前模式
  1. select current_schema;
复制代码

设置当前数据库模式
  1. set current_schema=my_schema;
复制代码
创建 schema 并指定 owner
  1. create schema my_schema authorization dlpuser;
复制代码
  关于 schema 更多命令,可以在实战用继续学习。
  其余命令

使用 show server_encoding; 可以查看数据库编码。

查看数据库用户
  1. select * from pg_user;
复制代码

查看当前数据库拥有的表
  1. select * from pg_tables;
复制代码

总结

本篇博客从 DWS 初始化入手,为大家重点介绍了最常用的 Gaussdb 命令,其中 SQL 部分参考 MySQL 知识点即可,gsql 可以着重学习一下,当然 DWS 还有更多的技能栈,例如 分区索引视图序列定时任务,我们下篇博客见~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表