暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第2天 | 学习心得体会

原创 英特纳熊奈尔 2022-11-25
253

一、作业

1.gsql命令连到数据库omm:

su - omm
gsql -r
//or
gsql -d omm  -p 5432  -r

首先切换为超级用户omm,然后输入gsql -r进入数据库

2.查看数据库的版本、版权信息:

进入数据库之后,输入:

select version();
show server_version;
 \copyright

查看数据库的版本和版权信息:

然后我在虚拟机上部署了openEuler操作系统然后在虚拟机配置opengauss数据库,登进去测试:

输入

gs_om -t start

启动数据库服务

输入

gsql -d postgres -p 26000 -r

进入数据库:

然后同样输入

select version();
show server_version;

查看版本和版权信息:

可以看到我在虚拟机上配置的opengauss数据库是2.0.0版本的。

3.常见元命令使用:

首先登入数据库:

1、-- \l 显示openGauss数据库集簇中,目前有哪些数据库:

2、--\conninfo命令,元命令\conninfo的作用是在gsql中,显示会话的连接信息:

3、-- \c teach 是切换连接到teach数据库:

4、-- \du 显示数据库集簇中目前有哪些用户和角色:

5、--db 显示当前数据库集簇中目前有哪些表空间:

6、--\dn命令,元命令\dn的作用是显示当前数据库有哪些数据库模式:

7、--创建表:

CREATE TABLE customer_t
(  c_customer_sk             integer,   
 c_customer_id             char(5),    
 c_first_name              char(6),    
 c_last_name               char(8) 
) ;

显示成功创建表

8、--插入数据:

INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES (3769, 5, 'Grace','White');

显示成功插入一行数据

9、--\dt命令,命令\dt的作用是显示数据库中所有的表:

10、--\d TableName命令,元命令\d TableName的作用是查看某个表的信息:

11、--\di IndexName命令,查看索引信息,元命令\di IndexName的作用是查看某个索引的信息:

输入:

create index idx_customer_id on customer_t(c_customer_id);
\di

12、--\pset命令以不同的方法显示表:

输入:

\pset border 2
SELECT * FROM customer_t;

13、--\x打开扩展表格式模式:

4.使用两种方法,连到postgres数据库中:

第一种方法:

输入:

gsql -d postgres -p 26000 -r

注:如果给自己创建的数据库创建了用户,且这个用户有登录数据库的权限,那么就还需要用户名和密码

gsql -d 数据库名 -p 26000 -U 用户名 -W 密码  -r

例如我自己创建的teach数据库,创建了wkz这个用户,密码是:Kun875134041,此时登录teach数据库还可以执行以下代码:

gsql -d teach -p 26000 -U wkz -W Kun875134041 -r

第二种方法:

如果我进入了我的teach数据库中,那么就可以直接用\c postgres进入postgres数据库

5.测试gsql中的默认事务自动提交功能:

首先进入数据库,然后查看gsql中事务是否默认为自动提交

show AUTOCOMMIT;

查看到的autocommit是on状态

6.测试gsql中的事务手动提交功能

\set AUTOCOMMIT off
   --插入一些数据
INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES    
(6885, 1, 'Joes', 'Hunter'),    
(4321, 2, 'Lily','Carter'),    
(9527, 3, 'James', 'Cook'),
(9500, 4, 'Lucy', 'Baker');
  --查看表中数据
select * from customer_t;
--执行回滚
ROLLBACK;
    --检查是否回滚成功
SELECT * FROM customer_t;

7.了解gsql相关帮助:

利用\h查看相关帮助:

teach=> \h
Available help:
  ABORT                             CREATE TEXT SEARCH CONFIGURATION
  ALTER APP WORKLOAD GROUP          CREATE TEXT SEARCH DICTIONARY
  ALTER APP WORKLOAD GROUP MAPPING  CREATE TRIGGER
  ALTER AUDIT POLICY                CREATE TYPE
  ALTER DATA SOURCE                 CREATE USER
  ALTER DATABASE                    CREATE VIEW
  ALTER DEFAULT PRIVILEGES          CREATE WEAK PASSWORD DICTIONARY
  ALTER DIRECTORY                   CREATE WORKLOAD GROUP
  ALTER EXTENSION                   CURSOR
  ALTER FOREIGN TABLE               DEALLOCATE
  ALTER FOREIGN TABLE FOR HDFS      DECLARE
  ALTER FUNCTION                    DELETE
  ALTER GROUP                       DO
  ALTER INDEX                       DROP APP WORKLOAD GROUP
  ALTER LARGE OBJECT                DROP APP WORKLOAD GROUP MAPPING
  ALTER MASKING POLICY              DROP AUDIT POLICY
  ALTER NODE                        DROP CLIENT MASTER KEY
  ALTER NODE GROUP                  DROP COLUMN ENCRYPTION KEY
  ALTER RESOURCE LABEL              DROP DATA SOURCE
  ALTER RESOURCE POOL               DROP DATABASE
  ALTER ROLE                        DROP DIRECTORY
  ALTER ROW LEVEL SECURITY POLICY   DROP EXTENSION
  ALTER SCHEMA                      DROP FOREIGN TABLE
  ALTER SEQUENCE                    DROP FUNCTION
  ALTER SERVER                      DROP GROUP
  ALTER SESSION                     DROP INDEX
  ALTER SYNONYM                     DROP MASKING POLICY
  ALTER SYSTEM KILL SESSION         DROP MATERIALIZED VIEW
  ALTER SYSTEM SET                  DROP NODE
  ALTER TABLE                       DROP NODE GROUP
  ALTER TABLE PARTITION             DROP OWNED
  ALTER TABLESPACE                  DROP PROCEDURE
  ALTER TEXT SEARCH CONFIGURATION   DROP RESOURCE LABEL
  ALTER TEXT SEARCH DICTIONARY      DROP RESOURCE POOL
  ALTER TRIGGER                     DROP ROLE
  ALTER TYPE                        DROP ROW LEVEL SECURITY POLICY
  ALTER USER                        DROP SCHEMA
  ALTER VIEW                        DROP SEQUENCE
  ALTER WORKLOAD GROUP              DROP SERVER
  ANALYSE                           DROP SYNONYM
  ANALYZE                           DROP TABLE
  ANONYMOUS BLOCK                   DROP TABLESPACE
  BEGIN                             DROP TEXT SEARCH CONFIGURATION
  CALL                              DROP TEXT SEARCH DICTIONARY
  CHECKPOINT                        DROP TRIGGER
  CLEAN CONNECTION                  DROP TYPE
  CLOSE                             DROP USER
  CLUSTER                           DROP VIEW
  COMMENT                           DROP WEAK PASSWORD DICTIONARY
  COMMIT                            DROP WORKLOAD GROUP
  COMMIT PREPARED                   END
  COPY                              EXECUTE
  CREATE APP WORKLOAD GROUP         EXECUTE DIRECT
  CREATE APP WORKLOAD GROUP MAPPING EXPLAIN
  CREATE AUDIT POLICY               FETCH
  CREATE BARRIER                    GRANT
  CREATE CLIENT MASTER KEY          INSERT
  CREATE COLUMN ENCRYPTION KEY      LOCK
  CREATE DATA SOURCE                MERGE
  CREATE DATABASE                   MOVE
  CREATE DIRECTORY                  PREPARE
  CREATE EXTENSION                  PREPARE TRANSACTION
  CREATE FOREIGN TABLE              REASSIGN OWNED
  CREATE FUNCTION                   REFRESH MATERIALIZED VIEW
  CREATE GROUP                      REINDEX
  CREATE INDEX                      RESET
  CREATE MASKING POLICY             REVOKE
  CREATE MATERIALIZED VIEW          ROLLBACK
  CREATE NODE                       ROLLBACK PREPARED
  CREATE NODE GROUP                 SELECT
  CREATE PROCEDURE                  SELECT INTO
  CREATE RESOURCE LABEL             SET
  CREATE RESOURCE POOL              SET CONSTRAINTS
  CREATE ROLE                       SET ROLE
  CREATE ROW LEVEL SECURITY POLICY  SET SESSION AUTHORIZATION
  CREATE SCHEMA                     SET TRANSACTION
  CREATE SEQUENCE                   SHOW
  CREATE SERVER                     START TRANSACTION
  CREATE SYNONYM                    TRUNCATE
  CREATE TABLE                      UPDATE
  CREATE TABLE AS                   VACUUM
  CREATE TABLE PARTITION            VALUES
  CREATE TABLESPACE

二、心得体会

通过第二天的学习,已经学会了如何进入opengauss数据库和数据库之间的切换,也学会了一些元命令,也测试了gsql中的默认事务自动提交功能和手动提交功能,收获颇丰。

最后修改时间:2022-11-25 19:24:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论