更新时间:2023-10-23 GMT+08:00

从这里开始

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

前提条件

GaussDB正常运行。

操作步骤

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

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

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

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

    1
    CREATE ROLE
    

    如上创建了一个用户名为joe,密码为xxxxxxxxx的用户。

    如下命令为设置joe用户为系统管理员。

    openGauss=# GRANT ALL PRIVILEGES TO joe;

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

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

  3. 创建数据库。

    1
    openGauss=# CREATE DATABASE db_tpcc OWNER joe;
    

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

    1
    CREATE DATABASE
    

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

    openGauss=# \q
    gsql -d db_tpcc -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_tpcc=> 

    创建SCHEMA。

    db_tpcc=> CREATE SCHEMA joe AUTHORIZATION joe;

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

    1
    CREATE SCHEMA
    

    引申信息:

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

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

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

  4. 创建表。

    • 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。
      1
      db_tpcc=>  CREATE TABLE mytable (firstcol int);
      
      1
      CREATE TABLE
      
    • 向表中插入数据:
      1
      db_tpcc=> INSERT INTO mytable values (100);
      

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

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

    引申信息:

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

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