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更适合高性能、低延迟、快速部署、大规模读写操作的项目
相关推荐
瑞克-桑切斯2 小时前
企业生产环境:https部署+nginx高可用(业务不中断)
linux·服务器·数据库
zyseo810 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
xiaogai_gai12 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
数据工匠老o12 小时前
异构数据库DDL同步:260条链路的结构变更自动适配方案
数据库·架构
阿里云大数据AI技术13 小时前
StarRocks 与 Fluss 用一条 SQL 查实时与历史
人工智能·sql
这个DBA有点耶13 小时前
银行业市占率最高的国产数据库是谁?先搞清楚“市占率”的四种口径
数据库·程序员·架构
用户62799471826214 小时前
南大通用GBase 8a之基于审计日志的冷温热数据分析
数据库
数据库小学妹14 小时前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
一个天蝎座的程序猿14 小时前
为了给报表提速,我把金仓KES的列存储折腾了个遍:聊聊KES的技术能力
数据库
飞越未来云城的霓虹飞猪14 小时前
AI 数据库地图:从 PostgreSQL 到向量数据库,一次看懂 AI 时代的数据底座
数据库