自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PostgreSQL數(shù)據(jù)庫(kù)管理入門之psql工具篇

數(shù)據(jù)庫(kù) PostgreSQL
psql是PostgreSQL自身提供的一款強(qiáng)大的查詢和腳本工具,本文將向讀者介紹該工具的入門知識(shí)。

psql是PostgreSQL自身提供的一款強(qiáng)大的查詢和腳本工具,本文將向讀者介紹該工具的入門知識(shí)。

一、關(guān)于psql

psql是PostgreSQL自身提供的一款查詢工具,也就是說,無論哪種操作系統(tǒng)平臺(tái)下,該工具都可用,并且使用方法都是一致的。所以,當(dāng)我們開發(fā)可移植的應(yīng)用軟件和技術(shù)的時(shí)候,該工具是一個(gè)理想的選擇。

Psql有兩大功能,除了作為交互查詢工具使用之外,psql還是一款理想的腳本工具。

#p#

二、使用方法

本文中,我們假設(shè)psql有權(quán)訪問PostgreSQL服務(wù)器,所有連接參數(shù)都是缺省的,但是現(xiàn)實(shí)中并非總是這樣。我們當(dāng)前的連接參數(shù)如下所示:

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

下面開始介紹有關(guān)的具體操作。psql 最簡(jiǎn)單的用法就是執(zhí)行單個(gè)SQL命令,并輸出命令結(jié)果,如下所示:

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

帶 -c的命令表示為非交互式的。如果您想一次執(zhí)行多條命令的話,可以將這些命令寫入一個(gè)文本文件中,然后通過-f 選項(xiàng)來執(zhí)行它們。下面給出的命令將加載一組命令:

  1. $ psql –f examples.sql

如果執(zhí)行成功,會(huì)產(chǎn)生如下所示的輸出:

  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備份工具所建立的轉(zhuǎn)儲(chǔ)文件,并且它們的類型與結(jié)果也是非常相通的。當(dāng)上面的命令成功執(zhí)行的時(shí)候,PostgreSQL會(huì)用命令的名稱生成命令標(biāo)簽,就像上面看到的輸出結(jié)果那樣。

上面的用法類似于批處理方式,實(shí)際上psql還可以用于交互方式,并且該方式是默認(rèn)的工作方式,無需任何選項(xiàng),例如:

  1. $ psql
  2. postgres=#

下面我們開始練習(xí)我們的第一條交互式命令,像下面這樣:

  1. postgres=# help

 然后,我們就可以輸入SQL或其他的命令了。當(dāng)我們要退出交互模式的時(shí)候,可以使用如下所示的命令:

  1. postgres=# \quit

注意,這里您不能輸入quit,也不能輸入\exit或者其他選項(xiàng),而只能是\quit或者\(yùn)q,后者是前者的簡(jiǎn)寫形式。

#p#

三、命令類型

psql允許使用兩種類型的命令:

psql "meta-commands"

SQL

meta-command 是用于psql客戶端,而SQL則發(fā)給數(shù)據(jù)庫(kù)服務(wù)器。meta-command的一個(gè)例子是\q,它命令客戶端斷開連接。所有以反斜線符號(hào)\開頭的命令都被作為meta-command。

如果一條命令不是meta-command,那么它就是SQL命令。該命令將一直讀取SQL,直到遇見分號(hào)為止,所以我們可以將一條較長(zhǎng)的SQL命令分到多行中,只要您覺得方便即可。

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

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

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

下面舉例進(jìn)行說明:

  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 ] [,]]

經(jīng)驗(yàn)表明,這是一種探索和記憶選項(xiàng)和語(yǔ)法好方法。

#p#

四、注釋方法

有兩種常用的注釋方法,即單行注釋和多行注釋,下面分別加以解釋。單行注釋用雙破折號(hào)表示:

  1.  -- 這里是單行注釋

 而多行注釋與Java語(yǔ)法類似,如下:

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

#p#

五、其它功能

開始的時(shí)候,您對(duì)于psql的反斜扛命令可能不太適應(yīng),但是用一段時(shí)間就好了,您會(huì)發(fā)現(xiàn),該軟件是非常強(qiáng)大的。psql是PostgreSQL最神奇的部分之一,用過其他工具后您會(huì)發(fā)現(xiàn),它對(duì)于數(shù)據(jù)庫(kù)管理任務(wù)來說,作用非凡。

當(dāng)然,我們可回滾早先的命令歷史記錄功能。此外,tab補(bǔ)齊功能也是非常有幫助的,因?yàn)橹灰聪耇AB鍵,程序就會(huì)幫我們完成后面的語(yǔ)法部分。該功能對(duì)于對(duì)象名稱也同樣有效,所以我們只輸入前幾個(gè)字母,然后按Tab鍵所有可能的選擇都會(huì)顯示出來,這樣只要輸入足夠多的字符,對(duì)象名稱就會(huì)變成唯一選擇,這時(shí)敲一下Tab鍵就搞定了。下面是psql其它的有用的特性:

通知功能

輸出格式化

使用\timing命令計(jì)算執(zhí)行時(shí)間

輸入、輸出和編輯命令

自動(dòng)起動(dòng)執(zhí)行文件:.psqlrc

可替代的參數(shù)(變量)

訪問OS命令行

六、小結(jié)

psql是PostgreSQL自身提供的一款強(qiáng)大的查詢和腳本工具,在本文中,我們向讀者詳細(xì)介紹了該工具的有關(guān)入門知識(shí),希望對(duì)您能夠有所幫助。

【編輯推薦】

  1. 惠普和微軟攜手推出多種商業(yè)智能應(yīng)用服務(wù)
  2. 云數(shù)據(jù)庫(kù)時(shí)代來臨,引發(fā)數(shù)據(jù)庫(kù)行業(yè)地震
  3. 從Dynamo和Bigtable窺探NoSQL家族族譜
  4. 5款主流開源企業(yè)級(jí)數(shù)據(jù)庫(kù)選型縱覽
責(zé)任編輯:艾婧 來源: it168網(wǎng)站原創(chuàng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)