目錄
一:前提準備1.postgreSQL的安裝可以參考我下面一片文章:
二:SQL語句
1.相同點:支持標準sql類型
2.參考詳細學習地址:
3.postgresql與mysql的不同點
一:前提準備
1.postgreSQL的安裝可以參考我下面一片文章:
Windows安裝postgreSQL(保姆級教程)-CSDN博客https://blog.csdn.net/weixin_57259781/article/details/149325184?spm=1011.2415.3001.53312.安裝好數據庫工具(Navicat? ? ?DBeaver等等其一即可)
二:SQL語句
1.相同點:支持標準sql類型
大體的sql語句和mysql數據庫的sql語句是一樣的,比如如下:
--查看版本
SELECT version();--創建表
CREATE TABLE weather (city varchar(80),temp_lo int, -- 最低溫度temp_hi int, -- 最高溫度prcp real, -- 用于存儲單精度浮點數的類型date date
);CREATE TABLE cities (name varchar(80),location point --是PostgreSQL特定數據類型
);--插入數據
INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
INSERT INTO weather VALUES ('Hayward', 46, 50, 0.25, '1994-11-27');
INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');--查詢數據
select *
from weather SELECT DISTINCT cityFROM weather;--表之間的連接
SELECT * FROM weather JOIN cities ON city = name;--聚合函數
SELECT city, count(*), max(temp_lo)FROM weatherGROUP BY city;--更新數據
UPDATE weatherSET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2WHERE date > '1994-11-26';--刪除數據
DELETE FROM weather WHERE city = 'Hayward';
--刪除表中的所有數據
DELETE FROM weather;--刪除表
DROP TABLE weather;--創建視圖:
CREATE VIEW myview ASSELECT name, temp_lo, temp_hi, prcp, date, locationFROM weather, citiesWHERE city = name;SELECT * FROM myview;
2.參考詳細學習地址:
我在學習過程中是根據下面這個地址學習的,我覺得寫的很好(由淺入深),大家可以看一下:
2.3. 創建新表# | PostgreSQL 教程https://postgresql.mosong.cc/guide/tutorial-table.html
3.postgresql與mysql的不同點
- postgresql支持更多特定的比如point這樣的復雜的數據類型
數值類型:
類型 | 描述 |
SMALLINT | 小范圍整數(2字節) |
INTEGER / INT | 常用整數(4字節) |
BIGINT | 大整數(8字節) |
DECIMAL(p, s) / NUMERIC(p, s) | 精確小數,適合財務計算 |
REAL / FLOAT4 | 單精度浮點數 |
DOUBLE PRECISION / FLOAT8 | 雙精度浮點數 |
日期/時間類型:
類型 | 描述 |
DATE | 日期(年-月-日) |
TIME [ WITHOUT TIME ZONE ] | 時間(時:分:秒) |
TIMESTAMP [ WITHOUT TIME ZONE ] | 日期+時間 |
TIMESTAMPTZ / TIMESTAMP WITH TIME ZONE | 帶時區的時間戳 |
INTERVAL | 時間間隔(如 1 day, 3 hours) |
DATE 和 TIMESTAMP 都支持 +, - 運算和 EXTRACT() 函數 |
字符串類型
類型 | 描述 |
CHAR(n) | 固定長度字符串,不足補空格 |
VARCHAR(n) | 可變長度字符串 |
TEXT | 無長度限制的文本類型 |
BYTEA 存儲二進制數據(如圖片、文件) |
布爾類型
類型 | 描述 |
BOOLEAN | 值為 TRUE, FALSE, NULL |
幾何與網絡類型
這些是 PostgreSQL 特有的擴展數據類型,常用于 GIS 系統。
類型 | 描述 |
POINT | 二維點(x,y) |
LINE | 直線 |
LSEG | 線段 |
BOX | 矩形框 |
PATH | 路徑(開放/閉合) |
POLYGON | 多邊形 |
CIRCLE | 圓(中心+半徑) |
INET | IPv4 或 IPv6 地址 |
CIDR | IP 地址塊(如 192.168.0.0/24) |
MACADDR | MAC 地址(如 08:00:2b:01:02:03) |
- postgresql擁有“繼承”高級功能
- postgresql的查詢性能更優秀,尤其復雜查詢
- postgresql適合復雜業務邏輯、數據分析、GIS、JSON 存儲、需要高擴展性的金融或者企業級的事務系統或者地理信息系統
- mysql更適合高性能、低延遲、快速部署、大規模讀寫操作的項目