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更适合高性能、低延迟、快速部署、大规模读写操作的项目
相关推荐
数据知道7 分钟前
FastAPI项目:构建打字速度测试网站(MySQL版本)
数据库·python·mysql·fastapi·python项目
姓蔡小朋友30 分钟前
redis GEO数据结构、实现附近商铺功能
数据结构·数据库·redis
冉冰学姐38 分钟前
SSM农贸市场摊位管理系统c22ux(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·农贸市场·摊位管理系统
面向星辰43 分钟前
SQL LIKE 相似信息查找语句
数据库·sql
数据库学啊1 小时前
时序数据库选型
数据库·时序数据库
TDengine (老段)1 小时前
强杀服务、重启系统及断电对 TDengine 影响
运维·服务器·数据库·物联网·时序数据库·tdengine·涛思数据
数据库学啊1 小时前
时序数据库怎么选
数据库·时序数据库
baivfhpwxf20231 小时前
SQL Server 创建一个删除分表的作业,每月执行一次,删除表的逻辑放到存储过程里
数据库
不知更鸟6 小时前
Django 项目是什么
数据库·sqlite
有一个好名字9 小时前
MyBatis-Plus 三种数据库操作方式详解 + 常用方法大全
数据库·mybatis