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

openGauss每日一练第2天 | openGauss客户端工具gsql的使用

原创 Lily 2022-11-25
2416

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=# 

image.png

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

共三种方法
前提:需要进入数据库
进入数据库命令:gsql -r 或者 gsql -d mm -p 8000 -r
-d :数据库
-p :端口号

  • 第一种查看方法,比较详细
omm=# select version();

image.png

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

image.png

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

image.png

3.常见元命令使用

3.1 \l 查看数据库

元命令\l的作用是显示openGauss数据库集簇中,目前有哪些数据库。
image.png

3.2 \conninfo 显示会话连接

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

3.3 \c postgres 切换数据库

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

image.png

3.4 \du&&\dg 查看用户和角色

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

image.png

3.5 \db 查看表空间

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

image.png

3.6 \dn 查看数据库模式

元命令\dn的作用是显示当前数据库有哪些数据库模式。
image.png

创造前置条件:

–创建表

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');

image.png

3.7 \dt 查看表

元命令\dt的作用是显示数据库中所有的表。
image.png

3.8\d customer_t 看某个表的信息

元命令\d TableName的作用是查看某个表的信息。
image.png

3.9 \di 某个索引的信息

\di IndexName命令,查看索引信息,元命令\di IndexName的作用是查看某个索引的信息。

create index idx_customer_id on customer_t(c_customer_id);

image.png

3.10 \pset border 2可以用\pset命令以不同的方法显示表:

openGauss=# \pset border 2
Border style is 2.
openGauss=# SELECT * FROM customer_t

image.png

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

image.png

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

  • gsql -d postgres -p 5432 -r 直接连接
  • \c postgres 切换数据库

image.png

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

omm=# show AUTOCOMMIT;
+-[ RECORD 1 ]----+
| autocommit | on |
+------------+----+

image.png
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

image.png
第二步:插入数据

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;

image.png

第四步:执行回滚

ROLLBACK;

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

image.png
回滚成功。

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

image.png

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

评论