openGauss21天打卡第2天,知命不惧,日日自新!!!
课后作业:
1.gsql命令连到数据库omm
root@modb:~# su - omm
omm@modb:~$ gsql -r
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:00 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
omm=# \q
omm@modb:~$ gsql -d omm -p 5432 -r
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:00 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
omm=#

2.查看数据库的版本、版权信息
共三种方法
前提:需要进入数据库
进入数据库命令:gsql -r 或者 gsql -d mm -p 8000 -r
-d :数据库
-p :端口号
- 第一种查看方法,比较详细
omm=# select version();

- 第二种查看方法,只需要查看数据库版本号
omm=# show server_version;

- 第三种查看方法,看不到详细的版本号
omm=# \copyright

3.常见元命令使用
3.1 \l 查看数据库
元命令\l的作用是显示openGauss数据库集簇中,目前有哪些数据库。

3.2 \conninfo 显示会话连接
–\conninfo命令,元命令\conninfo的作用是在gsql中,显示会话的连接信息。

3.3 \c postgres 切换数据库
–\c[onnect] [DBNAME]命令,元命令\ c[onnect] [DBNAME]的作用是在gsql中,切换连接的数据库postgres。

3.4 \du&&\dg 查看用户和角色
–\du命令和\dg命令,元命令\dg命令与元命令\du命令的作用类似,都是显示openGauss数据库集簇中,目前有哪些用户和角色。

3.5 \db 查看表空间
元命令\db的作用是显示openGauss数据库集簇中,目前有哪些表空间。

3.6 \dn 查看数据库模式
元命令\dn的作用是显示当前数据库有哪些数据库模式。

创造前置条件:
–创建表
CREATE TABLE customer_t
( c_customer_sk integer,
c_customer_id char(5),
c_first_name char(6),
c_last_name char(8)
) ;
–插入数据
INSERT INTO customer_t (c_customer_sk, c_customer_id, c_first_name,c_last_name) VALUES (3769, 5, 'Grace','White');

3.7 \dt 查看表
元命令\dt的作用是显示数据库中所有的表。

3.8\d customer_t 看某个表的信息
元命令\d TableName的作用是查看某个表的信息。

3.9 \di 某个索引的信息
\di IndexName命令,查看索引信息,元命令\di IndexName的作用是查看某个索引的信息。
create index idx_customer_id on customer_t(c_customer_id);

3.10 \pset border 2可以用\pset命令以不同的方法显示表:
openGauss=# \pset border 2
Border style is 2.
openGauss=# SELECT * FROM customer_t

3.11 \x 打开扩展表格式模式。

4.使用两种方法,连到postgres数据库中
- gsql -d postgres -p 5432 -r 直接连接
- \c postgres 切换数据库

5.测试gsql中的默认事务自动提交功能
omm=# show AUTOCOMMIT;
+-[ RECORD 1 ]----+
| autocommit | on |
+------------+----+

2、测试sql中的默认事务自动提交功能
omm=# create table customer_new as select * from customer_t;
INSERT 0 1
omm=# \q
omm@modb:~$ gsql -d omm -p 5432 -r
重新登录后看到之前创建的表customer_new:
gsql -d postgres -p 5432 -r
\dt
omm=# \dt
List of relations
Schema | Name | Type | Owner | Storage
--------+--------------+-------+-------+----------------------------------
public | customer_new | table | omm | {orientation=row,compression=no}
public | customer_t | table | omm | {orientation=row,compression=no}
(2 rows)
6.测试gsql中的事务手动提交功能
- 测试gsql手动提交
Opengauss默认执行完一条语句后,立即提交。可以关闭自动提交功能:
注意:此处设置ATUOCOMMIT必须用大写!
第一步:关闭自动提交功能
\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');
第三步:查看数据
openGauss=# select * from customer_t;

第四步:执行回滚
ROLLBACK;

第五步: 再次查看数据,检查是否回滚成功

回滚成功。
7.gsql相关帮助
- gsql --help
连接数据库时,可以使用此命令获取帮助信息。忘记参数的时候可以使用此命令查看连接参数
\l 显示数据库中数据库信息
\du 同\dg 显示数据库中所有用户和角色
\db 显示数据库中所有表空间信息
\dn 显示数据库中所有schema信息
\d 显示当前数据库下相关数据库对象信息(包含表、视图、物化视图、序列、外部表、stream\ contview)
\d tablename 查看某个表的详细信息
\dt 显示当前数据库中所有的表
\dt+ 以扩展方式显示当前数据库所有表信息,比起\dt 多了最后一列描述信息
\di 查看当前数据库中索引信息
\di indexname 查看当前数据库某个索引的信息
\dv 查看当前数据库视图信息
\ds 查看当前数据库序列信息
\df 查看当前数据库函数信息
\dx 查看已安装的扩展程序信息
\x 语法 \x[on|off|auto] 设置语句的输出模式,模式为行的方式输出,执行 \x on 切换为以列的方式来显示
\timing 语法 \timing [on|off] 控制显示SQL的执行时间,默认为off, on 为显示SQL语句的执行时间
\h 用于获取SQL语句的帮助,例如 \h merge
? 获取gsql的元命令的帮助
! os_command 用于执行操作系统命令,同oracle的 !,mysql的 system
\o filename 用于重定向输出到文件
\conninfo 显示gsql中显示会话的连接信息
\c[onnect] [DBNAME] 切换数据库
\echo [string] 打印字符串
\q 退出gsql

- \h
\h获取和SQL语法有关的帮助信息

- \?
? 获取和元命令有关的帮助信息,具体的自己去了解下

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




