欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PostgreSQL數(shù)據(jù)庫管理系統(tǒng)快速入門

 更新時(shí)間:2023年07月04日 08:37:22   作者:文曉武  
這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫快速入門,PostgreSQL是一個(gè)功能強(qiáng)大的開源對(duì)象關(guān)系型數(shù)據(jù)庫系統(tǒng),他使用和擴(kuò)展了SQL語言,并結(jié)合了許多安全存儲(chǔ)和擴(kuò)展最復(fù)雜數(shù)據(jù)工作負(fù)載的功能,需要的朋友可以參考下

一、PostgreSQL是什么?

PostgreSQL是一個(gè)功能強(qiáng)大的開源對(duì)象關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。 用于安全地存儲(chǔ)數(shù)據(jù); 支持最佳做法,并允許在處理請(qǐng)求時(shí)檢索它們。

PostgreSQL(也稱為Post-gress-Q-L)由PostgreSQL全球開發(fā)集團(tuán)(全球志愿者團(tuán)隊(duì))開發(fā)。 它不受任何公司或其他私人實(shí)體控制。 它是開源的,其源代碼是免費(fèi)提供的。

PostgreSQL是跨平臺(tái)的,可以在許多操作系統(tǒng)上運(yùn)行,如Linux,OS X和Microsoft Windows等。

二、PostgreSQL特點(diǎn)

  1. 跨平臺(tái)
  2. 支持文本、圖像、視頻、聲音等
  3. 并提供C/C++、Java、Perl、Python、Ruby訪問數(shù)據(jù)庫連接(ODBC)的編程接口。
  4. 支持SQL的許多功能,例如復(fù)雜的SQL查詢,子查詢,外鍵,觸發(fā)器,視圖,視圖,多進(jìn)程并發(fā)控制(MVCC)、異步復(fù)制。
  5. 在PostgreSQL中,表可以設(shè)置為從“父”表繼承其特征。

PostgreSQL是第一個(gè)實(shí)現(xiàn)多版本并發(fā)控制(MVCC)功能的數(shù)據(jù)庫管理系統(tǒng),甚至在Oracle之前。MVCC功能在Oracle中稱為快照隔離。

PostgreSQL是一個(gè)通用的對(duì)象 - 關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它允許您添加使用不同編程語言(如C / C ++,Java等)開發(fā)的自定義函數(shù)。

PostgreSQL旨在實(shí)現(xiàn)可擴(kuò)展性。在PostgreSQL中,您可以定義自己的數(shù)據(jù)類型,索引類型,函數(shù)語言等。如果您不喜歡系統(tǒng)的任何部分,您可以隨時(shí)開發(fā)自定義插件以增強(qiáng)它以滿足您的要求,例如,添加新的優(yōu)化。

如果您需要任何支持,可以使用活躍的社區(qū)來提供幫助。您可以隨時(shí)找到PostgreSQL社區(qū)的答案,以了解使用PostgreSQL時(shí)可能遇到的問題。許多公司在您需要時(shí)提供商業(yè)支持服務(wù)。

三、PostgreSQL工具

  1. psql:命令行工具,也是管理PostgreSQL的主要工具
  2. pgAdmin:是PostgreSQL免費(fèi)開源的圖形化界面管理工具

四、PostgreSQL安裝

Linux 下安裝、創(chuàng)建用戶和數(shù)據(jù)庫教程:PostgreSQL安裝和創(chuàng)建用戶和創(chuàng)建數(shù)據(jù)庫 - 短毛兔 - 博客園

官方下載地址:

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

驗(yàn)證安裝

有幾種方法可以驗(yàn)證安裝。您可以嘗試從任何客戶端應(yīng)用程序(例如psql和pgAdmin)連接到PostgreSQL數(shù)據(jù)庫服務(wù)器。

驗(yàn)證安裝的快速方法是通過pgAdmin應(yīng)用程序。

首先,打開SQL shell(psql)

五、PostgreSQL數(shù)據(jù)庫命令

1.打開SQL shell(psql),執(zhí)行以下創(chuàng)建語句

create database mydb;

2.刪除數(shù)據(jù)庫命令:

drop database mydb;

這個(gè)動(dòng)作將在物理上把所有與該數(shù)據(jù)庫相關(guān)的文件都刪除并且不可取消, 因此做這中操作之前一定要考慮清楚。

3.訪問數(shù)據(jù)庫

運(yùn)行PostgreSQL的交互式終端程序,它被稱為psql, 它允許你交互地輸入、編輯和執(zhí)行SQL命令。

psql mydb; -- 用下面的命令為mydb數(shù)據(jù)庫激活它

4.查看數(shù)據(jù)庫

postgres=# \l   -- l是L的小寫

5.選擇數(shù)據(jù)庫,如果創(chuàng)建表的話,前提是在哪個(gè)數(shù)據(jù)庫中:

\c mydb; -- 選擇mydb數(shù)據(jù)庫,注意\c是小寫

6.如果要退出psql的話,輸入

mydb=> \q

六、創(chuàng)建一個(gè)新表

通過指定表的名字、所有列的名字以及其數(shù)據(jù)類型來創(chuàng)建新的表:

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- 最低溫度
    temp_hi         int,           -- 最高溫度
    prcp            real,          -- 濕度
    date            date
);

和mysql命令終端類似,psql可以識(shí)別該命令直到分號(hào)結(jié)束。SQL 是對(duì)關(guān)鍵字和標(biāo)識(shí)符大小寫不敏感的語言,只有在標(biāo)識(shí)符用雙引號(hào)包圍時(shí)才能保留它們的大小寫。兩個(gè)中橫線(--)表示注釋。

PostgreSQL支持標(biāo)準(zhǔn)的SQL類型int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp和interval,還支持其他的通用功能的類型和豐富的幾何類型。PostgreSQL中可以定制任意數(shù)量的用戶定義數(shù)據(jù)類型。因而類型名并不是語法關(guān)鍵字,除了SQL標(biāo)準(zhǔn)要求支持的特例外。

第二個(gè)例子將保存城市和它們相關(guān)的地理位置:

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

類型point就是一種PostgreSQL特有數(shù)據(jù)類型的例子。

刪除一張表:

drop table tablename; -- 刪除數(shù)據(jù)表

七、添加記錄

insert語句用于向表中添加行:

INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

需要注意的是:那些不是簡單數(shù)字的值,通常使用單引號(hào)包裹,date類型實(shí)際上對(duì)可接收的格式相當(dāng)靈活,不過我們應(yīng)該堅(jiān)持使用這種清晰的格式。

point類型要求一個(gè)坐標(biāo)對(duì)作為輸入,如下:

INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');

另一種方式是列出所有的列,一個(gè)可選的語法允許你明確地列出列:

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');

你可以用另外一個(gè)順序列出列或者是忽略某些列, 比如說,我們不知道降水量:

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');

你還可以使用COPY從文本文件中裝載大量數(shù)據(jù)。這種方式通常更快,因?yàn)镃OPY命令就是為這類應(yīng)用優(yōu)化的, 只是比INSERT少一些靈活性。比如:

COPY weather FROM '/home/user/weather.txt';

八、查詢數(shù)據(jù)

  •  使用DISTINCT運(yùn)算符選擇不同的行
  • 使用where進(jìn)行過濾
  • 使用order by進(jìn)行排序
  • 根據(jù)between,in,like選擇不同的行
  • 使用group by進(jìn)行分組
  • 使用having子句為 組應(yīng)用條件
  • 使用inner join、left join、full outer join、cross join進(jìn)行連表查詢

postgresql的select例子

SELECT語法:

SELECT
 column_1,
 column_2,
 ...
FROM
 table_name;

首先,指定要在select子句中查詢數(shù)據(jù)表的列,多個(gè)列使用逗號(hào)分隔,如果要查詢所有列,使用星號(hào)(*)作為簡寫;其次,在From之后指出表名。

-- 在SELECT語句中使用星號(hào)(*)不是一個(gè)好習(xí)慣  。想象一下,你有一個(gè)包含許多列的大表,SELECT帶有星號(hào)(*)的語句將從整列中檢索所有數(shù)據(jù),這可能不是必需的。此外,從表中檢索不必要的數(shù)據(jù)會(huì)增加數(shù)據(jù)庫服務(wù)器和應(yīng)用程序之間的流量。因此,您的應(yīng)用程序?qū)⒆兊镁徛铱蓴U(kuò)展性降低。因此,最好在SELECT子句中明確指定列名,以便只從表中獲取所需的數(shù)據(jù)。

LIMIT:PostgreSQL 中l(wèi)imit是select語句可選的子句,它獲取查詢返回的所有行的子集。

LIMIT語法:

SELECT * FROM table_name LIMIT n;

如果要在返回行之前跳過m行,請(qǐng)使用offset子句:

SELECT *FROM table LIMIT n OFFSET m;

由于數(shù)據(jù)庫表行的順序是不可預(yù)測(cè)的,因此在使用limit子句的時(shí)候,應(yīng)始終使用該order by子句來控制行的順序。

我們經(jīng)常使用LIMIT子句來獲取表中最高或最低項(xiàng)的數(shù)據(jù),例如,要獲得最貴的前十名電影,您可以按照售價(jià)按降序排序,并使用LIMIT條款獲得前10部電影:

select * from film order by rental_rate desc limit 10;

ORDER BY:如何對(duì)查詢返回的結(jié)果集進(jìn)行排序

當(dāng)你從表中查詢數(shù)據(jù),PostgreSQL按照他們插入的順序返回行,需要對(duì)結(jié)果集進(jìn)行排序,需要使用select的order by子句

select column_1,column_2 from table_name order by column_1 ASC,column_2 DESC;

首先,在order by子句中指定要排序的列,如果基于多個(gè)列對(duì)結(jié)果集進(jìn)行排序,使用逗號(hào)分隔。

使用ASC表示升序,DESC按照降序,如果省略,默認(rèn)按照ASC。

DISTINCT:刪除結(jié)果集中重復(fù)行的子句

使用distinct語句可以從結(jié)果集中刪除重復(fù)的行,該distinct子句為每組重復(fù)項(xiàng)保留一行

select distinct column_1 from table_name; -- column_1列中的值用于評(píng)估重復(fù)項(xiàng)
select distinct column_1,column_2 from table_name; -- column_1列和column_2兩者的結(jié)合用于評(píng)估重復(fù)項(xiàng)

九、過濾數(shù)據(jù)

  • where:根據(jù)指定的條件過濾行
  • limit:從查詢結(jié)果集中獲取子集
  • fetch:限制返回的行數(shù)
  • in:選擇與值列表中的任何值匹配的數(shù)據(jù)。
  • between:選擇一系列值的數(shù)據(jù)
  • like:根據(jù)模式匹配過濾結(jié)果集
  • is null:檢查值是否為null

到此這篇關(guān)于PostgreSQL數(shù)據(jù)庫快速入門的文章就介紹到這了,更多相關(guān)PostgreSQL入門內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論