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语句是一样的,比如如下:

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更适合高性能、低延迟、快速部署、大规模读写操作的项目
相关推荐
段一凡-华北理工大学21 分钟前
AI推动工业智能化转型~系列文章05:特征工程:工业 AI 的第一生产力
数据库·人工智能·分布式·搜索引擎·特征工程·高炉智能化
半桶水专家28 分钟前
SQL Server DML 操作语句完全指南
数据库·sqlserver
Irene199138 分钟前
Oracle 连接避坑指南:环境+配置+账号
数据库·oracle
不在逃避q41 分钟前
一步一步学习使用LiveBindings()TListView进阶使用(),打造天气预报程序
服务器·数据库·学习
2401_873479401 小时前
IPv6支持不足怎么办?用双栈兼容IP离线库实现平滑过渡
数据库·网络协议·tcp/ip·ip
AI多Agent协作实战派1 小时前
AI多Agent协作系统实战(二十八):顶栏统一战争——从1个页面异常到31个页面全量对齐
数据库·人工智能·uni-app
吴声子夜歌1 小时前
MongoDB 8.0——可视化管理工具
数据库·mongodb
zdl6861 小时前
EasyMarkets:“芯片波动考验科技估值”
数据库·人工智能·科技
翼龙云_cloud1 小时前
阿里云国际站代理商:ECS弹性伸缩 自动应对流量高峰
运维·网络·数据库·阿里云·架构
吴声子夜歌1 小时前
MongoDB 4.2——安装 MongoDB
数据库·mongodb