當前位置:
首頁 > 知識 > PostgreSQL簡單使用

PostgreSQL簡單使用

什麼是PostgreSQL?

PostgreSQL是自由的對象-關係型資料庫伺服器,在靈活的BSD風格許可證下發行。它在其他開放源代碼資料庫系統和專有系統之外,為用戶又提供了一種選擇。 我們還是建議您使用雲資料庫進行搭建,省去數據遷移等麻煩操作.

在本文中,我們將討論如何在postgreSQL介面中創建和管理表。您將學習如何正確配置表並使用它們來存儲您的信息。

如何在Ubuntu上安裝並登錄PostgreSQL

我們將在Ubuntu上安裝PostgreSQL,但它應該可以在大多數其他發行版的默認存儲庫中使用。

輸入以下要安裝的命令:

安裝後,創建一個新用戶來管理我們將要創建的資料庫:

登錄默認的PostgreSQL用戶(稱為「postgres」)來創建資料庫並將其分配給新用戶:

您將被放入PostgreSQL命令提示符。

創建與您創建的系統用戶匹配的新用戶。然後創建該用戶管理的資料庫:

使用以下命令退出界面:

退出默認的「postgres」用戶帳戶並使用以下命令登錄您創建的用戶:

使用以下命令登錄您創建的資料庫:

我們現在準備了解表管理。

PostgreSQL中的表創建語法

我們的資料庫還沒有任何錶格。我們可以此命令為來驗證這一點:

我們可以通過以下語法來創建新表:

除了先前定義中列出的列之外,還繼承現有表中的所有列。括弧內的部分分為兩部分:列定義和表約束。

PostgreSQL列和表定義

列定義遵循以下語法模式:

列名應該是不言自明的。

PostgreSQL數據類型

數據類型可以是以下任何一種:

布爾型

使用「boolean」或「bool」聲明true或false值。

字元值

char:擁有一個字元

char(#):保存#個字元數。將插入空間以填補任何額外的空間。

varchar(#):最多包含#個字元數。

整數值

smallint:-32768和32767之間的整數。

int:-214783648和214783647之間的整數。

serial:自動填充的整數。

浮點值

float(#):浮點數,至少有#個精度點。

real:8位元組浮點數

numeric(#,after_dec):擁有#位數的實數,小數點後有after_dec位

日期和時間值

date:存儲日期值

time:存儲時間值

timestamp:存儲日期和時間值

timestamptz:存儲包含時區數據的時間戳

interval:存儲兩個時間戳值之間的差值

幾何數據

point:存儲一對定義點的坐標

line:存儲一組映射出一條線的點

lseg:存儲定義線段的數據

box:存儲定義矩形的數據

polygon:存儲定義任何封閉空間的數據

設備規格

inet:存儲IP地址

macaddr:存儲設備MAC地址

PostreSQL列和表約束

列定義還可以具有約束,這些約束為列中找到的數據類型提供規則。以下內容可用作數據類型後面的空格分隔值:

如何在PostgreSQL中創建表

我們將創建一個名為「pg_equipment」的表,它定義了各種遊樂場設備。輸入以下表定義:

我們可以通過在提示符下輸入「 d」來查看我們的新表:

列出該表,以及「equip_id」串列數據類型聲明創建的序列。

如何在PostgreSQL中更改表數據

我們可以使用以下通用語法更改表的定義:

例如,我們可以通過輸入以下命令在我們的「pg_equipment」表中添加一列:

我們可以通過輸入來查看額外的列:

要添加一個默認值,請提供以下命令:

如果我們想確保該值也不為null,我們可以這樣做:

要重命名該列,請使用以下語法:

要刪除我們剛剛創建的列,請輸入以下命令:

我們可以使用以下命令重命名整個表:

刪除PostgreSQL中的表

我們可以通過輸入下面的命令來刪除我們創建的表:

如果我們將該命令提供給不存在的表,我們將看到以下錯誤:

為了避免這個錯誤,我們可以告訴postgreSQL刪除表,並以任何方式成功返回。我們通過發出以下命令來完成此操作:

這一次,它告訴我們找不到表,但繼續而不是拋出錯誤。

結論

您現在應該知道在如何PostgreSQL中創建和管理簡單表。如果您正在者學習如何從命令行控制PostgreSQL,這些技能將非常有用。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

值得一看:Sed 命令詳解
2018 LC3 中國在京召開 眾人齊聚享開源盛宴

TAG:Linux資訊速推 |