本篇文章為大家展示了怎樣進行PostgreSQL數(shù)據(jù)庫入門,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)服務(wù)項目包括馬關(guān)網(wǎng)站建設(shè)、馬關(guān)網(wǎng)站制作、馬關(guān)網(wǎng)頁制作以及馬關(guān)網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,馬關(guān)網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到馬關(guān)省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
安裝、設(shè)置、創(chuàng)建和開始使用 PostgreSQL 數(shù)據(jù)庫。
每個人或許都有需要在數(shù)據(jù)庫中保存的東西。即使你執(zhí)著于使用紙質(zhì)文件或電子文件,它們也會變得很麻煩。紙質(zhì)文檔可能會丟失或混亂,你需要訪問的電子信息可能會隱藏在段落和頁面的深處。
在我從事醫(yī)學(xué)工作的時候,我使用 PostgreSQL 來跟蹤我的住院患者名單并提交有關(guān)住院患者的信息。我將我的每日患者名單打印在口袋里,以便快速了解患者房間、診斷或其他細節(jié)的任何變化并做出快速記錄。
我以為一切沒問題,直到去年我妻子決定買一輛新車,我“接手”了她以前的那輛車。她保留了汽車維修和保養(yǎng)服務(wù)收據(jù)的文件夾,但隨著時間的流逝,它變得雜亂。與其花時間篩選所有紙條以弄清楚什么時候做了什么,我認為 PostgreSQL 將是更好的跟蹤此信息的方法。
自上次使用 PostgreSQL 以來已經(jīng)有一段時間了,我已經(jīng)忘記了如何使用它。實際上,我甚至沒有在計算機上安裝它。安裝它是第一步。我使用 Fedora,因此在控制臺中運行:
dnf list postgresql*
請注意,你無需使用 sudo
即可使用 list
選項。該命令返回了很長的軟件包列表??戳搜酆?,我決定只需要三個:postgresql、postgresql-server 和 postgresql-docs。
為了了解下一步需要做什么,我決定查看 PostgreSQL 文檔。文檔參考內(nèi)容非常豐富,實際上,豐富到令人生畏。幸運的是,我發(fā)現(xiàn)我在升級 Fedora 時曾經(jīng)做過的一些筆記,希望有效地導(dǎo)出數(shù)據(jù)庫,在新版本上重新啟動 PostgreSQL,以及導(dǎo)入舊數(shù)據(jù)庫。
與大多數(shù)其他軟件不同,你不能只是安裝好 PostgreSQL 就開始使用它。你必須預(yù)先執(zhí)行兩個基本步驟:首先,你需要設(shè)置 PostgreSQL,第二,你需要啟動它。你必須以 root
用戶身份執(zhí)行這些操作(sudo
在這里不起作用)。
要設(shè)置它,請輸入:
postgresql-setup –initdb
這將確定 PostgreSQL 數(shù)據(jù)庫在計算機上的位置。然后(仍為 root
)輸入以下兩個命令:
systemctl start postgresql.servicesystemctl enable postgresql.service
第一個命令為當前會話啟動 PostgreSQL(如果你關(guān)閉機器,那么 PostgreSQL 也將關(guān)閉)。第二個命令使 PostgreSQL 在隨后的重啟中自動啟動。
PostgreSQL 正在運行,但是你仍然不能使用它,因為你還沒有用戶。為此,你需要切換到特殊用戶 postgres
。當你仍以 root
身份運行時,輸入:
su postgres
由于你是以 root
的身份執(zhí)行此操作的,因此無需輸入密碼。root 用戶可以在不知道密碼的情況下以任何用戶身份操作;這就是使其強大而危險的原因之一。
現(xiàn)在你就是 postgres
了,請運行下面兩個命令,如下所示創(chuàng)建用戶(創(chuàng)建用戶 gregp
):
createuser gregpcreatedb gregp
你可能會看到錯誤消息,如:Could not switch to /home/gregp
。這只是意味著用戶 postgres
不能訪問該目錄。盡管如此,你的用戶和數(shù)據(jù)庫已創(chuàng)建。接下來,輸入 exit
并按回車兩次,這樣就回到了原來的用戶下(root
)。
要開始使用 PostgreSQL,請在命令行輸入 psql
。你應(yīng)該在每行左側(cè)看到類似 gregp=>
的內(nèi)容,以顯示你使用的是 PostgreSQL,并且只能使用它理解的命令。你自動獲得一個數(shù)據(jù)庫(我的名為 gregp
),它里面完全沒有內(nèi)容。對 PostgreSQL 來說,數(shù)據(jù)庫只是一個工作空間。在空間內(nèi),你可以創(chuàng)建表。表包含變量列表,而表中的每個變量是構(gòu)成數(shù)據(jù)庫的數(shù)據(jù)。
以下是我設(shè)置汽車服務(wù)數(shù)據(jù)庫的方式:
CREATE TABLE autorepairs ( date date, repairs varchar(80), location varchar(80), cost numeric(6,2));
我本可以在一行內(nèi)輸入,但為了更好地說明結(jié)構(gòu),并表明 PostgreSQL 不會解釋制表符和換行的空白,我分成了多行。字段包含在括號中,每個變量名和數(shù)據(jù)類型與下一個變量用逗號分隔(最后一個除外),命令以分號結(jié)尾。所有命令都必須以分號結(jié)尾!
第一個變量名是 date
,它的數(shù)據(jù)類型也是 date
,這在 PostgreSQL 中沒關(guān)系。第二個和第三個變量 repairs
和 location
都是 varchar(80)
類型,這意味著它們可以是最多 80 個任意字符(字母、數(shù)字等)。最后一個變量 cost
使用 numeric
類型。括號中的數(shù)字表示最多有六位數(shù)字,其中兩位是小數(shù)。最初,我嘗試了 real
類型,這將是一個浮點數(shù)。real
類型的問題是作為數(shù)據(jù)類型在使用時,在遇到 WHERE
子句,類似 WHERE cost = 0
或其他任何特定數(shù)字。由于 real
值有些不精確,因此特定數(shù)字將永遠不會匹配。
接下來,你可以使用 INSERT INTO
命令添加一些數(shù)據(jù)(在 PostgreSQL 中稱為行):
INSERT INTO autorepairs VALUES ('2017-08-11', 'airbag recall', 'dealer', 0);
請注意,括號構(gòu)成了一個值的容器,它必須以正確的順序,用逗號分隔,并在命令末尾加上分號。date
和 varchar(80)
類型的值必須包含在單引號中,但數(shù)字值(如 numeric
)不用。作為反饋,你應(yīng)該會看到:
INSERT 0 1
與常規(guī)終端會話一樣,你會有輸入命令的歷史記錄,因此,在輸入后續(xù)行時,通常可以按向上箭頭鍵來顯示最后一個命令并根據(jù)需要編輯數(shù)據(jù),從而節(jié)省大量時間。
如果出了什么問題怎么辦?使用 UPDATE
更改值:
UPDATE autorepairs SET date = '2017-11-08' WHERE repairs = 'airbag recall';
或者,也許你不再需要表中的行。使用 DELETE
:
DELETE FROM autorepairs WHERE repairs = 'airbag recall';
這將刪除整行。
最后一件事:即使我在 PostgreSQL 命令中一直使用大寫字母(在大多數(shù)文檔中也這么做),你也可以用小寫字母輸入,我也經(jīng)常如此。
如果你想展示數(shù)據(jù),使用 SELECT
:
SELECT * FROM autorepairs ORDER BY date;
沒有 ORDER BY
的話,行將不管你輸入的內(nèi)容來顯示。例如,以下就是我終端中輸出的我的汽車服務(wù)數(shù)據(jù):
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)
要將此發(fā)送到文件,將輸出更改為:
\o autorepairs.txt
然后再次運行 SELECT
命令。
最后,在終端中退出 PostgreSQL,輸入:
quit
或者它的縮寫版:
\q
雖然這只是 PostgreSQL 的簡要介紹,但我希望它展示了將數(shù)據(jù)庫用于這樣的簡單任務(wù)既不困難也不費時。
上述內(nèi)容就是怎樣進行PostgreSQL數(shù)據(jù)庫入門,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:怎樣進行PostgreSQL數(shù)據(jù)庫入門
文章分享:http://jinyejixie.com/article12/iehegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、、網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)