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更适合高性能、低延迟、快速部署、大规模读写操作的项目
相关推荐
supericeice7 分钟前
创邻科技 Galaxybase Graph Intelligence 图智能平台:一站式可视化图数据存储、图计算与图挖掘平台
数据库·科技
heimeiyingwang12 分钟前
【架构实战】NewSQL数据库对比(TiDB/CockroachDB)
数据库·架构·tidb
buhuimaren_13 分钟前
pg日常维护
数据库·oracle
大虾别跑14 分钟前
Oracle迁移
数据库·oracle
Trouvaille ~18 分钟前
【MySQL篇】数据库操作:从创建到管理
linux·数据库·mysql·oracle·xshell·ddl
瀚高PG实验室31 分钟前
ETL中,分区表子表未及时收集统计信息,导致sql执行耗时很长
数据库·数据仓库·sql·etl·瀚高数据库
LDG_AGI43 分钟前
【搜索引擎】Elasticsearch(二):基于function_score的搜索排序
数据库·人工智能·深度学习·elasticsearch·机器学习·搜索引擎·推荐算法
枫叶林FYL1 小时前
【自然语言处理 NLP】7.2.2.4 去偏见技术与公平性优化
数据库
星川水月1 小时前
SQL 开窗函数排序详解
数据库·sql
荒川之神1 小时前
Oracle 数据仓库雪花模型设计原则(核心 + 落地 + Oracle 数据库适配)
数据库·数据仓库·oracle