中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣進行PostgreSQL數據庫入門

發布時間:2021-11-29 16:53:10 來源:億速云 閱讀:121 作者:柒染 欄目:數據庫

本篇文章為大家展示了怎樣進行PostgreSQL數據庫入門,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

安裝、設置、創建和開始使用 PostgreSQL 數據庫。

每個人或許都有需要在數據庫中保存的東西。即使你執著于使用紙質文件或電子文件,它們也會變得很麻煩。紙質文檔可能會丟失或混亂,你需要訪問的電子信息可能會隱藏在段落和頁面的深處。

在我從事醫學工作的時候,我使用 PostgreSQL 來跟蹤我的住院患者名單并提交有關住院患者的信息。我將我的每日患者名單打印在口袋里,以便快速了解患者房間、診斷或其他細節的任何變化并做出快速記錄。

我以為一切沒問題,直到去年我妻子決定買一輛新車,我“接手”了她以前的那輛車。她保留了汽車維修和保養服務收據的文件夾,但隨著時間的流逝,它變得雜亂。與其花時間篩選所有紙條以弄清楚什么時候做了什么,我認為 PostgreSQL 將是更好的跟蹤此信息的方法。

安裝 PostgreSQL

自上次使用 PostgreSQL 以來已經有一段時間了,我已經忘記了如何使用它。實際上,我甚至沒有在計算機上安裝它。安裝它是第一步。我使用 Fedora,因此在控制臺中運行:

dnf list postgresql*

請注意,你無需使用 sudo 即可使用 list 選項。該命令返回了很長的軟件包列表。看了眼后,我決定只需要三個:postgresql、postgresql-server 和 postgresql-docs。

為了了解下一步需要做什么,我決定查看 PostgreSQL 文檔。文檔參考內容非常豐富,實際上,豐富到令人生畏。幸運的是,我發現我在升級 Fedora 時曾經做過的一些筆記,希望有效地導出數據庫,在新版本上重新啟動 PostgreSQL,以及導入舊數據庫。

設置 PostgreSQL

與大多數其他軟件不同,你不能只是安裝好 PostgreSQL 就開始使用它。你必須預先執行兩個基本步驟:首先,你需要設置 PostgreSQL,第二,你需要啟動它。你必須以 root 用戶身份執行這些操作(sudo 在這里不起作用)。

要設置它,請輸入:

postgresql-setup –initdb

這將確定 PostgreSQL 數據庫在計算機上的位置。然后(仍為 root)輸入以下兩個命令:

systemctl start postgresql.servicesystemctl enable postgresql.service

第一個命令為當前會話啟動 PostgreSQL(如果你關閉機器,那么 PostgreSQL 也將關閉)。第二個命令使 PostgreSQL 在隨后的重啟中自動啟動。

創建用戶

PostgreSQL 正在運行,但是你仍然不能使用它,因為你還沒有用戶。為此,你需要切換到特殊用戶 postgres。當你仍以 root 身份運行時,輸入:

su postgres

由于你是以 root 的身份執行此操作的,因此無需輸入密碼。root 用戶可以在不知道密碼的情況下以任何用戶身份操作;這就是使其強大而危險的原因之一。

現在你就是 postgres 了,請運行下面兩個命令,如下所示創建用戶(創建用戶 gregp):

createuser gregpcreatedb gregp

你可能會看到錯誤消息,如:Could not switch to /home/gregp。這只是意味著用戶 postgres不能訪問該目錄。盡管如此,你的用戶和數據庫已創建。接下來,輸入 exit 并按回車兩次,這樣就回到了原來的用戶下(root)。

設置數據庫

要開始使用 PostgreSQL,請在命令行輸入 psql。你應該在每行左側看到類似 gregp=> 的內容,以顯示你使用的是 PostgreSQL,并且只能使用它理解的命令。你自動獲得一個數據庫(我的名為 gregp),它里面完全沒有內容。對 PostgreSQL 來說,數據庫只是一個工作空間。在空間內,你可以創建。表包含變量列表,而表中的每個變量是構成數據庫的數據。

以下是我設置汽車服務數據庫的方式:

CREATE TABLE autorepairs (        date            date,        repairs         varchar(80),        location        varchar(80),        cost            numeric(6,2));

我本可以在一行內輸入,但為了更好地說明結構,并表明 PostgreSQL 不會解釋制表符和換行的空白,我分成了多行。字段包含在括號中,每個變量名和數據類型與下一個變量用逗號分隔(最后一個除外),命令以分號結尾。所有命令都必須以分號結尾!

第一個變量名是 date,它的數據類型也是 date,這在 PostgreSQL 中沒關系。第二個和第三個變量 repairslocation 都是 varchar(80) 類型,這意味著它們可以是最多 80 個任意字符(字母、數字等)。最后一個變量 cost 使用 numeric 類型。括號中的數字表示最多有六位數字,其中兩位是小數。最初,我嘗試了 real 類型,這將是一個浮點數。real 類型的問題是作為數據類型在使用時,在遇到 WHERE 子句,類似 WHERE cost = 0 或其他任何特定數字。由于 real 值有些不精確,因此特定數字將永遠不會匹配。

輸入數據

接下來,你可以使用 INSERT INTO 命令添加一些數據(在 PostgreSQL 中稱為):

INSERT INTO autorepairs VALUES ('2017-08-11', 'airbag recall', 'dealer', 0);

請注意,括號構成了一個值的容器,它必須以正確的順序,用逗號分隔,并在命令末尾加上分號。datevarchar(80) 類型的值必須包含在單引號中,但數字值(如 numeric)不用。作為反饋,你應該會看到:

INSERT 0 1

與常規終端會話一樣,你會有輸入命令的歷史記錄,因此,在輸入后續行時,通常可以按向上箭頭鍵來顯示最后一個命令并根據需要編輯數據,從而節省大量時間。

如果出了什么問題怎么辦?使用 UPDATE 更改值:

UPDATE autorepairs SET date = '2017-11-08' WHERE repairs = 'airbag recall';

或者,也許你不再需要表中的行。使用 DELETE

DELETE FROM autorepairs WHERE repairs = 'airbag recall';

這將刪除整行。

最后一件事:即使我在 PostgreSQL 命令中一直使用大寫字母(在大多數文檔中也這么做),你也可以用小寫字母輸入,我也經常如此。

輸出數據

如果你想展示數據,使用 SELECT

SELECT * FROM autorepairs ORDER BY date;

沒有 ORDER BY 的話,行將不管你輸入的內容來顯示。例如,以下就是我終端中輸出的我的汽車服務數據:

SELECT date, repairs FROM autorepairs ORDER BY date;     date   |                             repairs                             -----------+-----------------------------------------------------------------2008-08-08 | oil change, air filter, spark plugs2011-09-30 | 35000 service, oil change, rotate tires/balance wheels2012-03-07 | repl battery2012-11-14 | 45000 maint, oil/filter2014-04-09 | 55000 maint, oil/filter, spark plugs, air/dust filters2014-04-21 | replace 4 tires2014-04-21 | wheel alignment2016-06-01 | 65000 mile service, oil change2017-05-16 | oil change, replce oil filt housing2017-05-26 | rotate tires2017-06-05 | air filter, cabin filter,spark plugs2017-06-05 | brake pads and rotors, flush brakes2017-08-11 | airbag recall2018-07-06 | oil/filter change, fuel filter, battery svc2018-07-06 | transmission fl, p steering fl, rear diff fl2019-07-22 | oil & filter change, brake fluid flush, front differential flush2019-08-20 | replace 4 tires2019-10-09 | replace passenger taillight bulb2019-10-25 | replace passenger taillight assembly(19 rows)

要將此發送到文件,將輸出更改為:

\o autorepairs.txt

然后再次運行 SELECT 命令。

退出 PostgreSQL

最后,在終端中退出 PostgreSQL,輸入:

quit

或者它的縮寫版:

\q

雖然這只是 PostgreSQL 的簡要介紹,但我希望它展示了將數據庫用于這樣的簡單任務既不困難也不費時。

上述內容就是怎樣進行PostgreSQL數據庫入門,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丽水市| 扶余县| 南乐县| 阿克苏市| 略阳县| 通河县| 定南县| 洛扎县| 屯昌县| 聂拉木县| 论坛| 肥城市| 保山市| 正宁县| 江门市| 叙永县| 左贡县| 观塘区| 清远市| 彰化市| 嘉兴市| 陆河县| 融水| 黄石市| 兰坪| 新干县| 广宁县| 竹溪县| 汕尾市| 岱山县| 吉林市| 三河市| 平定县| 凤翔县| 永年县| 潞西市| 驻马店市| 富阳市| 浙江省| 巨鹿县| 阜新|