postgreSQL的sql语句

发布于:2025-07-15 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

一:前提准备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 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更适合高性能、低延迟、快速部署、大规模读写操作的项目

网站公告

今日签到

点亮在社区的每一天
去签到