找到 26 篇文章 適用於 PostgreSQL

如何在 PostgreSQL 中的查詢中查詢部分字串匹配?

Yash Sanghvi
更新於 2021 年 2 月 2 日 13:00:52

4K+ 次瀏覽

假設您有一個名為 user_info 的表,其中包含使用者的姓名和地址。下面給出了一個示例 -nameaddressAnilAndheri, Mumbai, MaharashtraJoyChandni Chowk, DelhiRonBandra, Mumbai, MaharashtraReenaOld Airport Road, Bengaluru, Karnataka現在,如果您只想提取居住在孟買的使用者的資料,您可以使用 LIKE 命令和 % 運算子來實現。SELECT * from user_info where address LIKE '%Mumbai%'輸出結果如下nameaddressAnilAndheri, Mumbai, MaharashtraRonBandra, Mumbai, Maharashtra請注意,我們在孟買兩側都添加了 % 運算子。這意味著孟買之前和之後可以是任何內容。我們只希望字串... 閱讀更多

如何在 PostgreSQL 中的查詢中對選擇列應用 DISTINCT 約束?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:57:26

126 次瀏覽

假設您有一個名為 exam_scores 的表,其中包含 5 列。下面給出了一個包含一些虛擬資料的示例。nameroll_nosubjecttotal_marksmarks_obtainedAnil1English10056Anil1Math10065Anil1Science10045Roy2English10078Roy2Math10098Roy2Science10067現在,一個學生可以參加多門科目的考試,因此,一個學生有多行記錄。如果您想找出班級的學生總數,您可能希望找到 roll_no 的不同值的個數。您可以對特定列應用 distinct 約束,如下所示 -SELECT DISTINCT ON (roll_no) name, roll_no FROM exam_scores ORDER BY roll_no DESCHere’s what the output of the above query will look like −nameroll_noRoy2Anil1您還可以... 閱讀更多

PostgreSQL 中的 CASE WHEN?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:55:49

2K+ 次瀏覽

如果您是程式設計師,您可能非常熟悉 IF-ELSE 語句。PostgreSQL 中的等效語句是 CASE WHEN。讓我們用一個例子來理解。如果您有一個名為 marks 的表,其中包含學生的百分制成績,並且您想找出學生是及格還是不及格。下面給出了一個示例表。nameperc_marksAnil24Joy65Ron42Reena87假設及格分數為 40。現在,如果學生的分數高於 40 分,我們希望在該學生的姓名後面列印“PASS”,否則列印“FAIL”。您可以這樣做 -SELECT name, CASE WHEN perc_marks >= 40 THEN 'PASS' ELSE 'FAIL' END status from ... 閱讀更多

如何在 PostgreSQL 中獲取當前時間戳和相對時間戳?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:54:56

2K+ 次瀏覽

通常,您需要 PostgreSQL 中的當前時間戳。您可以按如下方式執行此操作 -SELECT current_timestamp它將輸出當前時間。輸出將如下所示 -2021-01-30 15:52:14.738867+00現在,如果您想要相對時間而不是當前時間怎麼辦?例如,如果您想要當前時間之前 5 小時的對應時間,您可以使用間隔來獲取它。SELECT current_timestamp - interval '5 hours'輸出每次都會不同。在撰寫本文時,輸出結果為 -2021-01-30 10:57:13.28955+00 您也可以對日期而不是時間戳執行這些操作SELECT current_dateOutput2021-01-30SELECT current_date + ... 閱讀更多

如何在 PostgreSQL 中將一個表中的值插入另一個表?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:30:41

2K+ 次瀏覽

假設您有兩個表:marks 和 student_info。下面分別給出了這兩個表的示例nameroll_noperc_marksAniket1224Siddhi4565Yash2642Isha5687nameroll_noagegenderAniket1226MIsha5625FSiddhi4523FYash2625M現在,假設您在工作中的經理查看了這兩個表並告訴您,“為什麼我們有兩個表?簡化一下,將所有內容轉移到一個表中!”因此,您決定將 perc_marks 列新增到 student_info 表中。ALTER TABLE student_info ADD COLUMN perc_marks integer現在,您將如何填充此列?您會手動為每一列新增分數嗎?這將為許多錯誤留下空間,並且非常耗時。相反,您可以這樣做 -UPDATE student_info ... 閱讀更多

可以在 PostgreSQL 表上進行哪種索引?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:31:13

105 次瀏覽

索引用於加速 PostgreSQL 中的查詢執行,以及一般的任何關係資料庫。PostgreSQL 表主要支援幾種索引型別。讓我們簡要討論 3 種常用的索引型別 -雜湊這些索引只能處理相等比較。換句話說,如果我想檢查 itemA = itemB,那麼雜湊索引很有用。它不適合其他型別的操作,如 >、=、40,則此索引將無用,並且 PostgreSQL 將組織查詢計劃,假設索引不存在。B 樹這是 PostgreSQL 使用的預設索引。換句話說,如果... 閱讀更多

可以向 PostgreSQL 表新增哪些約束?

Yash Sanghvi
更新於 2021 年 2 月 2 日 13:13:19

178 次瀏覽

通常,可以使用 6 種類型的約束與 PostgreSQL 表一起使用。它們列出並在下面進行了解釋 -NOT NULL 約束這是一個非常常見的約束。如果特定列不能具有空值,則在建立表時新增此約束。例如,如果我們建立一個 marks 表,該表不能對 name 具有 NULL 值,則建立表命令將如下所示 -CREATE TABLE marks(    name VARCHAR NOT NULL,    roll_no INTEGER,    marks_obtained INTEGER );現在,如果我們嘗試在沒有... 閱讀更多

如何在 PostgreSQL 中定義和查詢 json 列?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:22:41

1K+ 次瀏覽

能夠在 PostgreSQL 中定義 JSON 列使其功能非常強大,並幫助 PostgreSQL 使用者體驗兩全其美:SQL 和 NoSQL。建立 JSON 列非常簡單。您只需像建立其他任何列一樣建立/定義它,並將資料型別用作 JSON。讓我們在 PostgreSQL 中建立一個新表,名為 json_test -CREATE TABLE json_test(    serial_no SERIAL PRIMARY KEY,    name VARCHAR,    metadata JSON );現在,讓我們用一些資料填充它 -INSERT INTO json_test(name, metadata) VALUES ('Yash', '{"marks_scored":{"science":50, "maths":65}}'), ('Isha', '{"marks_scored":{"science":70, "maths":45}}');如您所見,JSON 值是在單... 閱讀更多

PostgreSQL 中的 INNER JOIN 與 FULL OUTER JOIN 與 LEFT JOIN 與 RIGHT JOIN?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:18:49

733 次瀏覽

為了用示例理解這些概念,我們將考慮兩個表,marks 和 student_info,分別定義如下 -marks -nameroll_noperc_marksSiddhi4565Yash2642Isha5687student_info -nameroll_noagegenderAniket1226MIsha5625FYash2625M如您所見,marks 表中沒有 Aniket 的條目,而 student_info 表中沒有 Siddhi 的條目。換句話說,marks 表中沒有 roll_no 12 的條目,而 student_info 表中沒有 roll_no 45 的條目。現在,讓我們逐一瞭解不同的連線。INNER JOIN它僅返回兩個表中都存在條目的那些行。SELECT marks.name, marks.roll_no, student_info.age FROM marks INNER JOIN student_info on marks.roll_no ... 閱讀更多

如何在 PostgreSQL 中更改列的型別?

Yash Sanghvi
更新於 2021 年 2 月 2 日 12:11:32

5K+ 次瀏覽

為了更改列的型別,語法如下:ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type USING expression;請注意,通常不建議更改列的型別,尤其是在您的表中已經有很多條目時。語法的 USING 部分是可選的。當您需要使用表示式將該列中現有條目從當前型別轉換為新型別時,可以使用它。例如,如果您將型別為 INTEGER 的列轉換為型別 BIGINTEGER,則無需為現有...的轉換使用任何表示式。閱讀更多

廣告
© . All rights reserved.