目录
一:前提准备1.postgreSQL的安装可以参考我下面一片文章:
一:前提准备
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 city
FROM weather;
--表之间的连接
SELECT * FROM weather JOIN cities ON city = name;
--聚合函数
SELECT city, count(*), max(temp_lo)
FROM weather
GROUP BY city;
--更新数据
UPDATE weather
SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2
WHERE date > '1994-11-26';
--删除数据
DELETE FROM weather WHERE city = 'Hayward';
--删除表中的所有数据
DELETE FROM weather;
--删除表
DROP TABLE weather;
--创建视图:
CREATE VIEW myview AS
SELECT name, temp_lo, temp_hi, prcp, date, location
FROM weather, cities
WHERE 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更适合高性能、低延迟、快速部署、大规模读写操作的项目