从这里开始
本节描述使用数据库的基本操作。通过此节您可以完成创建数据库、创建表及向表中插入数据和查询表中数据等操作。
前提条件
openGauss正常运行。
操作步骤
以操作系统用户omm登录数据库主节点。
若不确定数据库主节点部署在哪台服务器,请参考确认连接信息。
连接数据库。
gsql -d postgres -p 8000
当结果显示为如下信息,则表示连接成功。
gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=#
其中,postgres为openGauss安装完成后默认生成的数据库。初始可以连接到此数据库进行新数据库的创建。8000为数据库主节点的端口号,需根据openGauss的实际情况做替换,请参考确认连接信息获取。
引申信息:
- 使用数据库前,需先使用客户端程序或工具连接到数据库,然后就可以通过客户端程序或工具执行SQL来使用数据库了。
- gsql是本产品提供的命令行方式的数据库连接工具。更多的数据库连接办法可参考连接数据库。
创建数据库用户。
默认只有openGauss安装时创建的管理员用户可以访问初始数据库,您还可以创建其他数据库用户帐号。
postgres=# CREATE USER joe WITH PASSWORD "xxxxxxxxx";
当结果显示为如下信息,则表示创建成功。
CREATE ROLE
如上创建了一个用户名为joe,密码为xxxxxxxxx的用户。
**引申信息:**关于数据库用户的更多信息请参考管理用户及权限。
创建数据库。
postgres=# CREATE DATABASE db_tpcc OWNER joe;
当结果显示为如下信息,则表示创建成功。
CREATE DATABASE
db_tpcc数据库创建完成后,就可以按如下方法退出postgres数据库,使用新用户连接到db_tpcc数据库执行创建表等操作。您也可以选择继续在默认的postgres数据库下进行后续的体验。
postgres=# \q
gsql -d db_tpcc -p 8000 -U joe
Password for user joe:
gsql ((openGauss x.x.x build 50dc16a6) compiled at 2020-11-29 05:49:21 commit 1071 last mr 1373)
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成功。
CREATE SCHEMA
引申信息:
数据库默认创建在pg_default表空间下。若要指定表空间,可以使用如下语句:
postgres=# CREATE DATABASE db_tpcc WITH TABLESPACE = hr_local;
CREATE DATABASE
其中hr_local为表空间名称,关于如何创建表空间,请参考创建和管理表空间。
创建表。
创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。
db_tpcc=> CREATE TABLE mytable (firstcol int);
CREATE TABLE
向表中插入数据:
db_tpcc=> INSERT INTO mytable values (100);
当结果显示为如下信息,则表示插入数据成功。
INSERT 0 1
查看表中数据:
db_tpcc=> SELECT * from mytable;
firstcol
----------
100
(1 row)
引申信息:
默认情况下,新的数据库对象是创建在“$user”模式下的,例如刚刚新建的表。关于模式的更多信息请参考创建和管理schema。
关于创建表的更多信息请参见创建和管理表。
除了创建的表以外,数据库还包含很多系统表。这些系统表包含openGauss安装信息以及openGauss上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表。
openGauss支持行列混合存储,为各种复杂场景下的交互分析提供较高的查询性能,关于存储模型的选择,请参考规划存储模型。