ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

postgreSQL的sql语句

2026/8/9 16:38:53 拓冰建站 浏览量
postgreSQL的sql语句

目录

一:前提准备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圆(中心+半径)
INETIPv4 或 IPv6 地址
CIDRIP 地址块(如 192.168.0.0/24)
MACADDRMAC 地址(如 08:00:2b:01:02:03)
  • postgresql拥有“继承”高级功能
  • postgresql的查询性能更优秀,尤其复杂查询
  • postgresql适合复杂业务逻辑、数据分析、GIS、JSON 存储、需要高扩展性的金融或者企业级的事务系统或者地理信息系统
  • mysql更适合高性能、低延迟、快速部署、大规模读写操作的项目