文档首页 > > 开发指南> 数据库使用入门> 从这里开始

从这里开始

分享
更新时间: 2019/07/22 GMT+08:00

本章讲解使用数据库的常用步骤。

本章中的操作是假设您已完成了“前置条件”中的创建DWS集群,及建立SQL查询工具与集群间的连接。

通过本小节您可以快速完成创建数据库、创建表及向表中插入数据和查询表中数据。本章的子节更详细地讲解数据库使用的一些常用步骤。

数据库基本操作

  1. 创建数据库用户。

    默认只有创建集群时生成的管理员用户可以访问初始数据库。要向其他用户授予访问权限,必须创建新的用户帐户。

    CREATE USER joe WITH PASSWORD "Bigdata@123";

    当结果显示为如下信息,则表示创建成功。

    CREATE ROLE

    上面,创建了一个用户名为joe,密码为Bigdata@123的用户。

    新创建的用户帐户默认具有所有数据库的登录权限和创建表、视图、索引等的权限及对这些自己所建对象的操作权限。更多信息请参见用户

  2. 创建数据库。

    CREATE DATABASE mytpcds;
    CREATE DATABASE

    创建完db_tpcds数据库后,就可以按如下方法退出postgres数据库,使用新用户连接到此数据库执行接下来的创建表等操作。当然,也可以选择继续在默认的postgres数据库下做后续的体验。

    \q
    gsql -d db_tpcds -p 8000 -U joe -W Bigdata@123
    gsql ((GaussDB Kernel V300R002C00 build 50dc16a6) compiled at 2019-01-29 05:49:21 commit 1071 last mr 1373)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
     
    mytpcds=> 

    有关数据库管理的更多操作指导,请参考创建和管理数据库

  3. (可选)创建schema。

    schema又称作模式。通过schema,允许多个用户使用同一数据库而不相互干扰。

    执行如下命令来创建一个schema。

     CREATE SCHEMA myschema;

    当结果显示如下信息,则表示成功创建一个名为myschema的schema。

    CREATE SCHEMA

    schema创建成功后,就可以在该schema下创建对象了。但是,请确保在创建对象前使用如下两种方式之一将对象创建到对应的schema下。

    先将数据库的search_path设成对应schema,然后再创建对象。

    SET SEARCH_PATH TO myschema;
    CREATE TABLE mytable (firstcol int);

    在创建对象时指定由“模式名称+对象名称”组成的完整对象名称,中间由符号“.”隔开。例如:

    CREATE TABLE myschema.mytable (firstcol int);

    如果在创建对象时不指定schema,则会将对象创建在当前的schema下。查询当前schema的办法为:

     show search_path;
      search_path
    ----------------
     "$user",public
    (1 row)

    有关schema的更多信息请参考创建和管理schema

  4. 创建表。

    • 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。
      mytpcds=>  CREATE TABLE mytable (firstcol int);

      未使用“DISTRIBUTE BY”指定分布列时,系统默认会使用第一个符合分布列数据类型要求的列为分布列,且给出提示。系统返回信息以“CREATE TABLE”结束,表示创建表成功。

      NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'firstcol' as the distribution column by default.
      HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
      CREATE TABLE

      PG_TABLES系统表包含集群中所有表的有关信息。通过SELECT 命令可以在此系统表中查看表的属性。

      SELECT * FROM PG_TABLES WHERE TABLENAME = 'mytable';
    • 向表中插入数据。
      mytpcds=> INSERT INTO mytable values (100);
      INSERT 0 1

      INSERT 命令可向数据库表插入各个行。要进行标准的批量加载,请参阅关于OBS并行导入

    • 查看表中数据。
      mytpcds=> SELECT * from mytable;
       firstcol 
      ----------
            100
      (1 row)
    说明:
    • 默认情况下,新的数据库对象是创建在“public”模式下的,例如刚刚新建的表。关于模式的更多信息请参考创建和管理schema
    • 关于创建表的更多信息请参见创建表
    • 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以及DWS上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表
    • DWS支持行列混合存储,为各种复杂场景下的交互分析提供更好的查询性能,关于存储模型的选择,请参考规划存储模型

加载示例数据

本手册中大部分示例均使用在postgres数据库中创建TPC-DS示例表。如果希望通过您的SQL查询工具按照示例操作,请先创建TPC-DS示例表,然后为示例表加载示例数据。

OBS桶中提供了示例数据,该存储桶向所有经过身份验证的云用户提供了读取权限。

有关创建表和加载示例数据的步骤,请参考加载示例数据

释放资源

如果为完成本节的练习部署了集群,那么应在完成练习后删除该集群,以便停止对您的云账户产生费用。

要删除集群,请按照《数据仓库服务管理指南》删除集群章节中的步骤操作。

如果要保留集群但清除db_tpcds数据库,请运行如下命令:

DROP DATABASE mytpcds;

如果要保留集群和数据库,只清空数据库中的表,请运行如下命令:

DROP TABLE mytable;

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区