openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核源自PostgreSQL,深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。同时openGauss也是一个开源的数据库平台,鼓励社区贡献、合作。
openGauss 数据库特征
1.用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库。
2.openGauss 默认包含两个模板数据库 template0、template1,以及一个默认的用户数据库 postgres。
3.用户创建数据库时实际上就是通过拷贝模板数据库(默认template1)来创建新的数据库,同时要避免使用客户端或其他手段连接及操作两个模板数据库。
4.openGauss 允许创建的数据库总数目上限为 128 个。数据库系统中会有多个数据库,但是客户端程序一次只能连接一个数据库。也不能在不同的数据库之间互相查询。
使用 gsql 本地连接数据库
gsql 是 openGauss 提供的在命令行下运行的数据库连接工具。平台连接数据库语句:
gsql -d postgres -U gaussdb -W‘passwd‘;
其中 -d 参数代表数据库,-U 参数代表用户名,-W 参数代表密码;
连接成功后和 mySQL 一样会有提示语句。(退出用 \q)
openGauss 常用数据库操作语句:
切换数据库:
\c test
上述语句代表从当前数据库切换到test数据库。
查看数据库列表:
\l
查看表列表及表信息:
\d
创建数据库:
创建一个新的数据库。缺省情况下新数据库将通过复制标准系统数据库 template0来创建,且仅支持使用 template0 来创建。另外需要注意的是,在创建数据库过程中,若出现类似“could not initialize database directory”的错误提示,可能是由于文件系统上数据目录的权限不足或磁盘满等原因引起。
语法格式:
CREATE DATABASE database_name
[ [ WITH ] { [ OWNER [=] user_name ] |
[ TEMPLATE [=] template ] |
[ ENCODING [=] encoding ] |
[ LC_COLLATE [=] lc_collate ] |
[ LC_CTYPE [=] lc_ctype ] |
[ DBCOMPATIBILITY [=] compatibilty_type ] |
[ TABLESPACE [=] tablespace_name ] |
[ CONNECTION LIMIT [=] connlimit ]}[...] ];
上述建表语句中,OWNER 参数可用于指定表的所属用户,TEMPLATE 参数可用于指定模板数据库,ENCODING 参数可用于编码格式,TABLESPACE 参数可用于指定表空间。
创建数据库示例:
--创建一个GBK编码的数据库music(本地环境的编码格式必须也为GBK)。
postgres=> CREATE DATABASE music ENCODING ‘GBK‘ template = template0;
--创建数据库music2,并指定所有者为jim。
postgres=> CREATE DATABASE music2 OWNER jim;
--用模板template0创建数据库music3,并指定所有者为jim。
postgres=> CREATE DATABASE music3 OWNER jim TEMPLATE template0;
修改数据库示例:
--设置music数据库的连接数为10。
postgres=# ALTER DATABASE music CONNECTION LIMIT= 10;
--将music名称改为music4。
postgres=# ALTER DATABASE music RENAME TO music4;
--将数据库music2的所属者改为tom。
postgres=# ALTER DATABASE music2 OWNER TO tom;
--设置music3的表空间为PG_DEFAULT。
postgres=# ALTER DATABASE music3 SET TABLESPACE PG_DEFAULT;
--关闭在数据库music3上缺省的索引扫描。
postgres=# ALTER DATABASE music3 SET enable_indexscan TO off;
--重置enable_indexscan参数。
postgres=# ALTER DATABASE music3 RESET enable_indexscan;
删除数据库:
--删除数据库。
postgres=# DROP DATABASE music2;
openGauss 常用表操作语句:
创建
表是建立在数据库中的,在不同的数据库中可以存放相同的表。甚至可以通过使用模式在同一个数据库中创建相同名称的表。
建表语句示例:
CREATE TABLE tb1
(
c_sk integer,
c_id char(5),
c_name char(6),
c_sex char(8)
);
上述建表语句中, c_sk 、c_id、c_name 和 c_sex 代表表的字段名,integer、char(5)、char(6) 和 char(8) 分别是这四字段名称的数据类型。
插入
示例:
INSERT INTO tb1(c_sk, c_id, c_name,c_sex) VALUES (3769, ‘a‘, ‘Grace‘,‘women‘);
INSERT INTO tb1 VALUES (3769, ‘a‘, ‘Grace‘,‘women‘);
INSERT INTO tb1 (c_sk, c_name) VALUES (3769, ‘Grace‘);
INSERT INTO tb1(c_sk, c_id, c_name,c_sex) VALUES (3769, ‘a‘, ‘Grace‘,DEFAULT);
INSERT INTO tb1 DEFAULT VALUES;
INSERT INTO tb1(c_sk, c_id, c_name,c_sex) VALUES (3769, ‘a‘, ‘Grace‘,‘women‘),(3777, ‘b‘, ‘bob‘,‘women‘);
更新
提供 表的名称;要更新的字段名;字段的新值;要更新的行
示例:
UPDATE mytb SET c__sk = 1234 WHERE c_sk = 5678;
UPDATE mytb SET c__sk = c_sk+8;
UPDATE mytb SET c__sk = 1234,c_name=‘agrin‘ WHERE c_sk = 5678;
删除
示例:
DELETE FROM mytb WHERE c_sk = 1234;
DELETE FROM mytb;
TRUNCATE TABLE mytb;
删除表
DROP TABLE mydb;
原文:https://www.cnblogs.com/agrinJPG/p/13775618.html