数据仓库服务 GaussDB(DWS)-从这里开始:数据库基本操作

时间:2023-11-01 16:18:44

数据库基本操作

  1. 创建数据库用户。

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

    1
    CREATE USER joe WITH PASSWORD 'password';

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

    1
    CREATE USER

    上面,创建了一个用户名为joe,密码用户自定义。

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

  2. 创建数据库。

    1
    CREATE DATABASE mytpcds;

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

  3. (可选)创建schema。

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

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

    1
     CREATE SCHEMA myschema;

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

    1
    CREATE SCHEMA

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

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

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

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

    1
    CREATE TABLE myschema.mytable (firstcol int);

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

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

    创建完mytpcds数据库后,就可以按如下方法退出gaussdb数据库。

    1
    \q

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

  4. 创建表。

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

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

      12
      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.

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

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

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

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

support.huaweicloud.com/qs-dws/dws_01_1016.html