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

openGauss每日一练第2天 | 学习心得体会 - 学习openGauss客户端工具gsql的使用

原创 ZHIQIANG FU 2022-11-25
511

gsql是openGauss提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。

1、使用gsql命令连接数据库

​ 切换到OMM账户环境中

su - omm

image20221125104917500.png

建议使用完整命令连接数据库

gsql -d omm -p 5432 -r

image20221125171349804.png

2、在gsql中查看数据库的版本、pg基础版本和版权信息

​ 查看数据库版本使用下述命令

select version();

输出数据库版本,编译时间,操作系统等信息
image20221125171552315.png

​ 使用下述命令查看pg基础版本信息

show server_version();

输出pg基础版本信息,可以看到实操环境的openGauss是基于pg9.2.4
image20221125171726314.png

​ 查看版权信息的命令。这种命令首次了解,孤陋寡闻咯。

\copyright

输出信息显示openGauss 是华为GaussDB内核数据库管理系统,版权归属华为公司。
image20221125172007356.png

3、常见元命令的使用

​ 元命令 \l 是显示openGauss数据库集簇中,目前有哪些数据库。

image20221125172432555.png

​ 元命令\conninfo 在gsql中显示当前会话的连接信息。

image20221125173859853.png

​ 元命令\c[onnect] [dbname] 在gsql中,切换连接的数据库。

image20221125174114374.png

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

image20221125175223616.png

image20221125175300724.png

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

image20221125175459910.png

​ 元命令\dn 是显示当前数据库有哪些数据库模式

image20221125175725019.png

​ 创建表

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

image20221125180659490.png

​ 插入数据

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

image20221125181011195.png

​ 元命令\dt 是显示数据库中的所有表

image20221125181111651.png

​ 元命令\d TableName 是查看某张表的信息

image20221125181506669.png

​ 元命令\di IndexName 是查看某个索引的信息。我们先在customer_t表中创建个索引

CREATE INDEX idx_customer_id on customer_t(c_customer_id);

image20221125182449317.png

image20221125183125024.png

​ 元命令\pset 可以指定表显示的方法。

image20221125183355496.png

image20221125183411879.png

​ 元命令\x 是打开扩展表格式模式

image20221125183523988.png

4、gsql中的事务,测试gsql中的默认事务自动提交功能

​ 查看gsql中的事务是否默认为自动提交。从输出结果中可以看到,当前实例的事务是默认自动提交的。

image20221125190442715.png

​ 创建个表测试gsql中事务的自动提交功能

CREATE TABLE customer_new as select * from customer_t;

image20221125190737055.png

​ 新表已创建成功,退出重新登陆

image20221125190817799.png

​ 使用元命令dt 查看数据库的表。

image20221125190904245.png

​ 从输出可以看到,新建的customer_new已经存在。

5、gsql中的事务,测试gsql中的事务手动提交功能

​ 首先关闭openGauss默认的事务自动提交功能。

\set AUTOCOMMIT off

image20221125193047973.png
​ 插入一条数据

INSERT INTO customer_t(c_customer_sk,c_customer_id,c_first_name ,c_last_name) VALUES (6885,1,'Joes','Hunter');

image20221125193814363.png

​ 查询下插入数据情况

select * from customer_t;

image20221125220216319.png

​ 然后,执行回滚

image20221125220257832.png

​ 然后,我们再查询一下。

image20221125220345149.png

​ 可以看到,插入的数据(6885,1,‘Joes’,‘Hunter’)已经回滚。

6、gsql相关的帮助

​ 连接数据库时,可以使用–help获得帮助

gsql --help

image20221125220551359.png

​ 登陆openGauss,使用元命令\h获取和SQL语法有关的帮助信息

image20221125220721636.png

​ 使用元命令? 获取和元命令有关的帮助信息

image20221125220823986.png

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

文章被以下合辑收录

评论