PostgreSQL数据库管理入门之psql工具篇

psql是PostgreSQL自身提供的一款强大的查询和脚本工具,本文将向读者介绍该工具的入门知识。

一、关于psql

psql是PostgreSQL自身提供的一款查询工具,也就是说,无论哪种操作系统平台下,该工具都可用,并且使用方法都是一致的。所以,当我们开发可移植的应用软件和技术的时候,该工具是一个理想的选择。

Psql有两大功能,除了作为交互查询工具使用之外,psql还是一款理想的脚本工具。

#p#

二、使用方法

本文中,我们假设psql有权访问PostgreSQL服务器,所有连接参数都是缺省的,但是现实中并非总是这样。我们当前的连接参数如下所示:

 
 
 
 
  1. psql –h hostname –p 5432 –d dbname –U username –W

下面开始介绍有关的具体操作。psql 最简单的用法就是执行单个SQL命令,并输出命令结果,如下所示:

 
 
 
 
  1. $ psql -c "SELECT current_time"
  2. timetz
  3. -----------------
  4. 20:48:62.384+01
  5. (1 row)

带 -c的命令表示为非交互式的。如果您想一次执行多条命令的话,可以将这些命令写入一个文本文件中,然后通过-f 选项来执行它们。下面给出的命令将加载一组命令:

 
 
 
 
  1. $ psql –f examples.sql

如果执行成功,会产生如下所示的输出:

 
 
 
 
  1. SET
  2. SET
  3. SET
  4. SET
  5. SET
  6. SET
  7. CREATE SCHEMA
  8. SET
  9. SET
  10. SET
  11. DROP TABLE
  12. CREATE TABLE
  13. DROP TABLE
  14. CREATE TABLE

 脚本examples.sql非常类似于PostgreSQL备份工具所建立的转储文件,并且它们的类型与结果也是非常相通的。当上面的命令成功执行的时候,PostgreSQL会用命令的名称生成命令标签,就像上面看到的输出结果那样。

上面的用法类似于批处理方式,实际上psql还可以用于交互方式,并且该方式是默认的工作方式,无需任何选项,例如:

 
 
 
 
  1. $ psql
  2. postgres=#

下面我们开始练习我们的第一条交互式命令,像下面这样:

 
 
 
 
  1. postgres=# help

 然后,我们就可以输入SQL或其他的命令了。当我们要退出交互模式的时候,可以使用如下所示的命令:

 
 
 
 
  1. postgres=# \quit

注意,这里您不能输入quit,也不能输入\exit或者其他选项,而只能是\quit或者\q,后者是前者的简写形式。

#p#

三、命令类型

psql允许使用两种类型的命令:

psql "meta-commands"

SQL

meta-command 是用于psql客户端,而SQL则发给数据库服务器。meta-command的一个例子是\q,它命令客户端断开连接。所有以反斜线符号\开头的命令都被作为meta-command。

如果一条命令不是meta-command,那么它就是SQL命令。该命令将一直读取SQL,直到遇见分号为止,所以我们可以将一条较长的SQL命令分到多行中,只要您觉得方便即可。

命令help是唯一的例外。help命令有两种形式,如下所示:

\? 提供psql meta - commands命令的帮助信息

\h 提供特定SQL命令的帮助信息

下面举例进行说明:

 
 
 
 
  1. postgres=# \h DELETE
  2. Command: DELETE
  3. Description: delete rows of a table
  4. Syntax:
  5. DELETE FROM [ ONLY ] table [ [ AS ] alias ]
  6. [ USING usinglist ]
  7. [ WHERE condition | WHERE CURRENT OF cursor_name ]
  8. [ RETURNING * | output_expression [ AS output_name ] [,]]

经验表明,这是一种探索和记忆选项和语法好方法。

#p#

四、注释方法

有两种常用的注释方法,即单行注释和多行注释,下面分别加以解释。单行注释用双破折号表示:

 
 
 
 
  1.  -- 这里是单行注释

 而多行注释与Java语法类似,如下:

 
 
 
 
  1. /**//*
  2. *多行注释
  3. */

#p#

五、其它功能

开始的时候,您对于psql的反斜扛命令可能不太适应,但是用一段时间就好了,您会发现,该软件是非常强大的。psql是PostgreSQL最神奇的部分之一,用过其他工具后您会发现,它对于数据库管理任务来说,作用非凡。

当然,我们可回滚早先的命令历史记录功能。此外,tab补齐功能也是非常有帮助的,因为只要按下TAB键,程序就会帮我们完成后面的语法部分。该功能对于对象名称也同样有效,所以我们只输入前几个字母,然后按Tab键所有可能的选择都会显示出来,这样只要输入足够多的字符,对象名称就会变成唯一选择,这时敲一下Tab键就搞定了。下面是psql其它的有用的特性:

通知功能

输出格式化

使用\timing命令计算执行时间

输入、输出和编辑命令

自动起动执行文件:.psqlrc

可替代的参数(变量)

访问OS命令行

六、小结

psql是PostgreSQL自身提供的一款强大的查询和脚本工具,在本文中,我们向读者详细介绍了该工具的有关入门知识,希望对您能够有所帮助。

网站题目:PostgreSQL数据库管理入门之psql工具篇
文章网址:http://www.shufengxianlan.com/qtweb/news0/446650.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联