《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL用SQL做数据分析(2)

本文涉及的产品
PolarDB Agent Flow,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
PolarSearch,搜索节点 4核8GB
简介: 《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL用SQL做数据分析(2)

《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL用SQL做数据分析(1) https://developer.aliyun.com/article/1232911?groupCode=polardbforpg


(一)获取数据


1、创建数据库表

正如前文所述,数据分析的工具多种多样,并且每种工具内部保存数据的结构也不一样。比如Excel就是表格、Python里比较常见的有Pandas的DataFrame,或者Numpy的数组等。在SQL的世界里,所有的数据都是以数据库表的形式保存,所以我们要先创建一张数据库的表,用来保存鸢尾花的数据。SQL里创建数据库表,需要用到CREATE TABLE这个命令(语法规则可参考下图中的链接)。PolarDB for PG数据库因为是基于开源的PG数据库,对SQL标准的支持还是比较好的。


image.png


如上图所示,创建一张叫flowers的表,包含5个字段,前4个字段的类型是float8,就是double类型的浮点数,分别是花萼与花瓣的长度与宽度;最后一个字段类型是text,就是任意长度的字符串,用来保存花的品种。


上图中右侧的代码是给数据库表和字段添加注释,用来说明表和字段的用途。给数据库的表和字段添加注释是一个非常好的习惯,可以帮助理解数据,以及每个字段的含义。推荐大家在创建数据库表或新增字段时,及时地给表或字段加上注释。


2、导入数据到数据库表

创建了表之后,如何将数据导进来呢?在数据量小的时候,可以通过手工逐行insert数据,但是如果数据量大,手工insert就几乎不可能。比如鸢尾花的数据一共有150行,手工 insert 150次是一件很费劲的事情。好在 PolarDB 提供了一个COPY的命令,可以批量地导入或者批量导出数据。如下图所示:


image.png


其中左边的代码是从CSV文件里导入数据到flowers表中;右边的代码是把flowers表的数据导出到test.csv这个文件里。with子句指定数据的格式信息,比如上图中指定格式是CSV格式、包含表头、分隔符是逗号。


安装完插件后,在Docker容器内/home/postgres/datasets目录下,已经预置了一些CSV文件,其中iris.csv就是本案例中用到的鸢尾花数据,如下图所示:


image.png


接着,这个数据导入到PolarDB里面来。先通过PSQL连接到PolarDB数据库,当前数据库是空的,里面没有任何一张表,所以通过建表语句,先创建一张数据库表。如下图所示:


image.png


然后再添加注释,通过\d+ flowers可以看到数据库表的定义。如下图所示:


image.png


最后,通过COPY命令把CSV的数据导进来:其中格式是CSV格式、header为true(即包含了标题),以及分隔符是逗号。如下图所示:



image.png


提示导进来了150行数据,通过select * from flowers可查看数据:



image.png



再试试把表中的数据导出到一个新的文件里面。如下图所示:


image.png


导出成功后,切换到Shell里,可以看到datasets目录里多出了一个叫test.csv的文件,并且有151行内容(包含标题)。

image.png


《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL用SQL做数据分析(3) https://developer.aliyun.com/article/1232909?groupCode=polardbforpg

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
9月前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
772 3
|
9月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1528 152
|
9月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1079 156
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
801 1
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
1494 213
|
关系型数据库 Linux 数据库
PostgreSQL源码编译安装
本节详细介绍了如何通过源码编译安装 PostgreSQL 17.6,涵盖从源码下载、依赖安装、配置编译参数、执行编译与安装、创建数据库用户与目录、初始化数据库,到配置 systemd 启动服务的完整流程。内容适用于多种 Linux 发行版,如 Rocky Linux、CentOS、openEuler、Ubuntu、Debian 等,并提供了常见错误的解决方法及一键安装脚本,帮助用户高效完成 PostgreSQL 的源码部署。
1556 0
PostgreSQL源码编译安装
|
9月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
9月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
SQL 关系型数据库 PostgreSQL
CTE vs 子查询:深入拆解PostgreSQL复杂SQL的隐藏性能差异
本文深入探讨了PostgreSQL中CTE(公共表表达式)与子查询的选择对SQL性能的影响。通过分析两者底层机制,揭示CTE的物化特性及子查询的优化融合优势,并结合多场景案例对比执行效率。最终给出决策指南,帮助开发者根据数据量、引用次数和复杂度选择最优方案,同时提供高级优化技巧和版本演进建议,助力SQL性能调优。
1410 1
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
892 17

相关产品

  • 云原生数据库 PolarDB
  • 推荐镜像

    更多