07 2023 档案
摘要:子查询(Subquery)是指嵌套在其他SELECT、INSERT、UPDATE以及DELETE语句中的查询语句。子查询的作用与多表连接查询有点类似,也是为了从多个关联的表中返回或者过滤数据。例如,我们想要知道哪些员工的月薪大于平均月薪,可以通过子查询实现: SELECT e.first_name,
阅读全文
摘要:日期时间函数 PostgreSQL提供了以下日期和时间运算的算术运算符。 PostgreSQL还提供了大量用于日期和时间数据处理的函数。 计算时间间隔 age(timestamp, timestamp)函数用于计算两个时间点之间的间隔,age(timestamp)函数用于计算当前日期的凌晨12点到该
阅读全文
摘要:函数(function)是一些预定义好的代码模块,可以将输入进行计算和处理,最终输出一个结果值。PostgreSQL函数可以分为两类:标量函数(scalar function)和聚合函数(aggregation function)。标量函数针对每个输入都会返回相应的结果,聚合函数针对一组输入汇总出一
阅读全文
摘要:CASE表达式的作用就是为SQL语句增加类似于IF-THEN-ELSE的逻辑处理功能,可以根据不同的条件返回不同的结果。PostgreSQL支持两种形式的条件表达式:简单CASE表达式和搜索CASE表达式。另外,为了方便空值处理,PostgreSQL还提供了两个缩写形式的CASE表达式(函数):NU
阅读全文
摘要:在关系型数据库中,通常将不同的实体和它们之间的联系存储到多个表中。比如员工的个人信息存储在employees表中,而与部门相关的信息存储在departments表中,同时employees表中存在一个外键字段(department_id),引用了departments表的主键(department_
阅读全文
摘要:PostgreSQL除了支持基本的GROUP BY分组操作之外,还支持3种高级的分组选项:GROUPING SETS、ROLLUP以及CUBE。 GROUPING SETS选项 GROUPING SETS是GROUP BY的扩展选项,用于指定自定义的分组集。举例来说,以下是一个销售数据表: CREA
阅读全文
摘要:聚合函数 聚合函数(aggregate function)针对一组数据行进行运算,并且返回单个结果。PostgreSQL支持以下常见的聚合函数: AVG-计算一组值的平均值。 COUNT-统计一组值的数量。 MAX-计算一组值的最大值。 MIN-计算一组值的最小值。 SUM-计算一组值的和值。 ST
阅读全文
摘要:查询语句的结果可能包含成百上千行数据,但是前端显示时也许只需要其中的小部分,例如TOP-N排行榜;或者为了便于查看,每次只显示一定数量的结果,例如分页功能。为了处理这类应用,SQL提供了标准的FETCH和OFFSET子句。另外,PostgreSQL还实现了扩展的LIMIT语法。 Top-N查询 这类
阅读全文
摘要:使用SELECT语句查询表中的数据时,PostgreSQL不确保按照一定的顺序返回结果。如果相要将查询结果按照某些规则进行排序显示,例如按照薪水从高到低,或者按照入职时间的先后进行排序,需要使用ORDER BY子句。 单列排序 单列排序是指按照某个字段或者表达式进行排序,用法如下: SELECT c
阅读全文
摘要:WHERE子句 WHERE子句的语法如下: SELECT column1, column2, ... FROM table WHERE conditions; WHERE子句位于FROM之后,用于指定一个或者多个逻辑条件,用于过滤返回的结果。满足条件的行将会返回,否则将被忽略。PostgreSQL提
阅读全文
摘要:对于数据库中数据的常见操作,可以简称为增删改查(CRUD,Create、Retrieve、Update、Delete)。其中,使用最多,也最复杂的功能当属数据查询。根据SQL标准,查询语句使用SELECT关键字表示。 单表查询 简单查询开始,来看一个示例 select first_name,last
阅读全文
摘要:今天总结下 PostgreSQL 中常用 psql 常用命令以便后续查阅。 角色查看 hrdb=> \du List of roles Role name | Attributes | Member of + + admin | Create role, Create DB, Cannot logi
阅读全文
摘要:卸载原因 刚开始装 postgresSql 未关注版本,看了下官网,版本已经到了15,想体验一下新版本,所以今天卸载一下 卸载步骤 停掉相关进程 [hui@hadoop201 preserve]$ systemctl stop postgresql-12 AUTHENTICATING FOR org
阅读全文
摘要:删除约束 删除约束通常需要知道它的名称,可以通过psql工具的\d table_name命令查看表的约束。 ALTER TABLE table_name DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]; RESTRICT是默认值,如果存在
阅读全文
摘要:修改表 当我们创建好一个表之后,可能会由于业务变更或者其他原因需要修改它的结构。PostgreSQL使ALTER TABLE语句修改表的定义: ALTER TABLE name action; 其中的action表示要执行的操作。常见的修改操作包括: 添加字段 删除字段 添加约束 删除约束 修改字段
阅读全文
摘要:创建表 在PostgreSQL中,使用CREATE TABLE语句创建一个新表: CREATE TABLE table_name ( column_name data_type column_constraint, column_name data_type, ..., table_constrai
阅读全文
摘要:题目描述 给定一个数列nums和数值val,消除数列nums中与数值 val相同的元素,最终返回新数列的长度;要求:不能开辟空间分配新的数列,必须改变原输入nums数列;并对修改后的nums数列的元素顺序没有要求,可以被修改。 Examples nums=[3,2,2,3; val=3 则返回长度为
阅读全文
摘要:删除数据库 如果确定一个库不需要了,可以使用DROP DATABASE语句删除一个数据库(工作中谨慎删库): DROP DATABASE [ IF EXISTS]name; 如果使用了IF EXISTS,删除一个不存在的数据库时不会产生错误信息。删除数据库会同时删除该数据库中所有的对象,以及文件系统
阅读全文