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

【云小课】【第46课】Gauss_gsql入门

wanglei 2023-04-11
219

【云小课】【第46课】Gauss_gsql入门

数据库的小云妹 发表于 2022/05/05 09:42:50 2022/05/05
2.1k+ 0 0
【摘要】 gsql是GaussDB提供在命令行下运行的数据库连接工具,可以通过此工具连接服务器并对其进行操作和维护,除了具备操作数据库的基本功能,gsql还提供了若干高级特性,便于用户使用。基本功能连接数据库:可以通过gsql远程连接数据库实例。如何使用gsql连接数据库请参考连接实例。执行SQL语句:支持交互式地键入并执行SQL语句,也可以执行一个文件中指定的SQL语句...

云小课必用.png

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

基本功能

  • 连接数据库:可以通过gsql远程连接数据库实例。如何使用gsql连接数据库请参考连接实例
  • 执行SQL语句:支持交互式地键入并执行SQL语句,也可以执行一个文件中指定的SQL语句。
  • 执行元命令:元命令可以帮助管理员查看数据库对象的信息、查询缓存区信息、格式化SQL输出结果,以及连接到新的数据库等。

使用指导

步骤 1 使用gsql连接到GaussDB实例。

gsql工具使用-d参数指定目标数据库名、-U参数指定数据库用户名、-h参数指定主机名、-p参数指定端口号信息。


1.png

若未指定数据库名称,则使用初始化时默认生成的数据库名称;若未指定数据库用户名,则默认使用当前操作系统用户作为数据库用户名;当某个值没有前面的参数(-d、-U等)时,若连接的命令中没有指定数据库名(-d)则该参数会被解释成数据库名;如果已经指定数据库名(-d)而没有指定数据库用户名(-U)时,该参数则会被解释成数据库用户名。


示例,使用jack用户连接到远程主机postgres数据库的8000端口。

gsql -h 10.180.123.163 -d postgres -U jack -p 8000

详细的gsql参数请参见命令参考

步骤 2 执行SQL语句。

以创建数据库human_staff为例。

CREATE DATABASE human_staff;CREATE DATABASE

通常,输入的命令行在遇到分号的时候结束。如果输入的命令行没有错误,结果就会输出到屏幕上。

步骤 3 执行gsql元命令。

以列出GaussDB中所有的数据库和描述信息为例。

postgres=#  \l                                List of databases      Name      |  Owner   | Encoding  | Collate | Ctype |   Access privileges   ----------------+----------+-----------+---------+-------+----------------------- human_resource | root | SQL_ASCII | C       | C     |  postgres       | root | SQL_ASCII | C       | C     |  template0      | root | SQL_ASCII | C       | C     | =c/root         +                |          |           |         |       | root=CTc/root template1      | root | SQL_ASCII | C       | C     | =c/root          +                |          |           |         |       | root=CTc/root human_staff    | root | SQL_ASCII | C       | C     | (5 rows)

更多gsql元命令请参见元命令参考

示例

以把一个查询分成多行输入为例。注意提示符的变化:

postgres=# CREATE TABLE HR.areaS(postgres(# area_ID   NUMBER,postgres(# area_NAME VARCHAR2(25)postgres-# )tablespace EXAMPLE;CREATE TABLE

查看表的定义:

postgres=# \d HR.areaS               Table "hr.areas"  Column   |         Type          | Modifiers -----------+-----------------------+----------- area_id   | numeric               | not null area_name | character varying(25) |

HR.areaS表插入四行数据:

postgres=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (1, 'Europe');INSERT 0 1postgres=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (2, 'Americas');INSERT 0 1postgres=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (3, 'Asia');INSERT 0 1postgres=# INSERT INTO HR.areaS (area_ID, area_NAME) VALUES (4, 'Middle East and Africa');INSERT 0 1

切换提示符:

postgres=# \set PROMPT1 '%n@%m %~%R%#'root@[local] postgres=#

查看表:

root@[local] postgres=#SELECT * FROM HR.areaS; area_id |       area_name        ---------+------------------------       1 | Europe       4 | Middle East and Africa       2 | Americas       3 | Asia(4 rows)

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

root@[local] postgres=#\pset border 2Border style is 2.root@[local] postgres=#SELECT * FROM HR.areaS;+---------+------------------------+| area_id |       area_name        |+---------+------------------------+|       1 | Europe                 ||       2 | Americas               ||       3 | Asia                   ||       4 | Middle East and Africa |+---------+------------------------+(4 rows)root@[local] postgres=#\pset border 0Border style is 0.root@[local] postgres=#SELECT * FROM HR.areaS;area_id       area_name        ------- ----------------------      1 Europe      2 Americas      3 Asia      4 Middle East and Africa(4 rows)

使用元命令:

root@[local] postgres=#\a \t \xOutput format is unaligned.Showing only tuples.Expanded display is on. root@[local] postgres=#SELECT * FROM HR.areaS;area_id|2area_name|Americas area_id|1area_name|Europe area_id|4area_name|Middle East and Africa area_id|3area_name|Asia
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论