更新时间:2024-10-14 GMT+08:00

从这里开始

本节描述使用数据库的基本操作。通过此节您可以完成创建数据库、创建表及向表中插入数据和查询表中数据等操作。

前提条件

GaussDB集群正常运行。

操作步骤

  1. 参考连接数据库,连接数据库。
  2. 创建数据库用户。

    默认只有集群安装时创建的管理员用户可以访问初始数据库,您还可以创建其他数据库用户账号。

    1
    openGauss=# CREATE USER joe WITH PASSWORD "xxxxxxxxx";
    

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

    1
    CREATE ROLE
    

    如上创建了一个用户名为joe,密码为xxxxxxxxxx的用户。如下命令为设置joe用户为系统管理员。

    openGauss=# GRANT ALL PRIVILEGES TO joe;

    使用GRANT命令进行相关权限设置,具体操作请参考GRANT

    引申信息:关于数据库用户的更多信息请参考管理用户及权限

  3. 创建数据库。

    1
    openGauss=# CREATE DATABASE db_tpcds;
    

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

    1
    CREATE DATABASE
    

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

    openGauss=# \q
    gsql -d db_tpcds -p 8000 -U joe
    Password for user joe:
    gsql((GaussDB Kernel VxxxRxxxCxx build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
     
    db_tpcds=> 

    引申信息:

    数据库默认创建在pg_default表空间下。若要指定表空间,可以使用如下语句:

    1
    2
    openGauss=# CREATE DATABASE db_tpcds WITH TABLESPACE = hr_local;
    CREATE DATABASE
    

    其中hr_local为表空间名称,关于如何创建表空间,请参考创建和管理表空间

  4. 创建表。

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

      未使用“DISTRIBUTE BY”指定分布列时,系统默认会指定第一列为哈希分布列,且给出提示。系统返回信息以“CREATE TABLE”结束,表示创建表成功。

      1
      2
      3
      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
      
    • 向表中插入数据:
      1
      db_tpcds=> INSERT INTO mytable values (100);
      

      当结果显示为如下信息,则表示插入数据成功。

      1
      INSERT 0 1
      
    • 查看表中数据:
      1
      2
      3
      4
      5
      db_tpcds=> SELECT * from mytable;
       firstcol 
      ----------
            100
      (1 row)
      

    引申信息:

    • 默认情况下,新的数据库对象是创建在“$user”模式下的,例如刚刚新建的表。关于模式的更多信息请参考创建和管理schema
    • 关于创建表的更多信息请参见创建和管理表
    • 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以及GaussDB上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表

      GaussDB支持行列混合存储,为各种复杂场景下的交互分析提供极致查询性能,关于存储模型的选择,请参考规划存储模型