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更适合高性能、低延迟、快速部署、大规模读写操作的项目
相关推荐
不爱缺氧i5 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.5 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn5 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露6 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
冰暮流星6 小时前
sql语言之分组语句group by
java·数据库·sql
符哥20086 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql
C++ 老炮儿的技术栈6 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
怣506 小时前
MySQL子查询零基础入门教程:从小白到上手(零基础入门版)
数据库·mysql
码界调试侠6 小时前
MongoDB 常用查询语法
数据库·mongodb
静听山水6 小时前
StarRocks导入数据【Stream Load】
数据库