`
jjxliu306
  • 浏览: 157725 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

postgresql 中常用小语法2

 
阅读更多

1. PG 中测试可能需要循环插入N多数据 这时候写function等就比较麻烦 我们可以用 generate_series 来

example:

 

mrapp=# create table test_series(id int) ;
CREATE TABLE
mrapp=# insert into test_series(id) select generate_series(1,100000);
INSERT 0 100000
mrapp=# select count(1) from test_series;
 count
--------
 100000
(1 行记录)

 

 

2. postgresql 中比较两个字符串中重叠的数量

  我们先将array转换为行数据 然后和另一个转换过的array进行去重 然后再拼为数组即可

 

example:

 


mrapp=# select unnest(array[1,2,4]);
 unnest
--------
      1
      2
      4
(3 行记录)


mrapp=# select unnest(array[1,2,4]) intersect select unnest(array[2,3,4]);
 unnest
--------
      2
      4
(2 行记录)


mrapp=# select array(select unnest(array[1,2,4]) intersect select unnest(array[2
,3,4]));
 array
-------
 {2,4}
(1 行记录)

 

3. postgresql 列转数组

  可以用array_agg 函数来处理

example :

 


mrapp=# select 1 as a union select 2 as a union select 3 as a;
 a
---
 1
 2
 3
(3 行记录)


mrapp=# select array_agg(t.a) from (select 1 as a union select 2 as a union sele
ct 3 as a) as t;
 array_agg
-----------
 {1,2,3}
(1 行记录)

 

 

3. PG中有时候会碰到一个父表下面带了一堆的字表或者关联表,要删除的话 需要一个一个先将字表或关系先删除掉,可以在删除的时候加上关键字: cascade 可以将和当前关联的东西一起删除掉

 

drop table XX cascade ;

 

drop server XX cascade;

 

 

drop extension XX cascade;

 

 

 

 

 

 4、统计一个库中的所有表的行数和表大小 
 SELECT CASE
           WHEN t.row_total = t.row_seq THEN
            REPLACE(sql_content, ' union all ', ') a order by 2 desc;')
           WHEN t.row_seq = 1 THEN
            'select * from(' || sql_content
           ELSE
            sql_content
       END sql_content
  FROM (SELECT COUNT(*) over() row_total,
               row_number() over() row_seq,
               'SELECT ''' || tablename ||
               ''' 表名, count(*) 表行数,pg_size_pretty(pg_total_relation_size(''' ||
               tablename || '''::regclass)) 表总大小 from ' || tablename ||
               ' union all ' sql_content
          FROM pg_tables
         WHERE schemaname = 'public') t
 ORDER BY t.row_seq;

 

分享到:
评论

相关推荐

    postgresql中常用小语法

    postgresql中常用小语法

    PostgreSQL常用语法收集.sql

    PostgreSQL常用语法收集,Postgresql 当中有四种方式获取当前时间。时间格式化,时间间隔计算等等

    PostgreSQL常用基本语法和几条简单技巧

    PostgreSQL常用基本语法和几条简单技巧,包含 字段自增长 数据库内文本类转数字等

    postgresql 兼容 oracle 函数

    2. **字符串函数**:诸如 INITCAP、SUBSTR、INSTR等在PostgreSQL中也有相应的实现,方便进行字符串操作。 3. **数学和转换函数**:如ROUND、TRUNC、TO_CHAR、TO_DATE等,这些在数据转换和计算中十分常用。 4. **...

    postgresql 常用命令大全

    ### PostgreSQL常用命令详解 #### 一、数据库与表管理 **1. \d [table]** - **功能**: 列出当前数据库中的所有表,或者如果指定了特定的表名,则列出该表的列/字段。 - **示例**: `\d` 显示所有表;`\d table_...

    PostgreSQL 语法

    本篇将详细介绍 PostgreSQL 的基本语法以及一些常用命令。 首先,安装完 PostgreSQL 后,系统会自带一个名为 psql 的 SQL Shell 命令行工具。在不同的操作系统上,启动 psql 的方法不同: - 在 Linux 上,你可以...

    Postgresql ALTER语句常用操作小结

    ### Postgresql ALTER语句常用操作详解 在数据库管理与维护过程中,经常需要对现有的表结构进行修改以适应业务发展的需求。PostgreSQL 提供了强大的 `ALTER` 语句来实现这些功能,包括增加列、删除列、更改列数据...

    PGAdmin系统管理PostgreSQL 中文手册

    **2. 安装与配置** 安装pgAdmin相对简单,只需下载对应操作系统的安装包,按照提示进行即可。在配置过程中,需要设置连接到PostgreSQL服务器的相关参数,如主机名、端口号、数据库名、用户名和密码等。 **3. 使用...

    PostgreSQL常用命令

    ### PostgreSQL常用命令详解 #### 一、概述 PostgreSQL是一款功能强大的开源关系型数据库管理系统,以其高度可扩展性、稳定性及丰富的功能集而受到广泛欢迎。对于初学者来说,掌握其基本的命令是非常重要的一步。...

    Postgresql编程教程(自学).docx_postgresql_

    本教程将带你深入理解PostgreSQL编程,帮助你掌握基本的SQL语法以及更高级的特性。 ### 1. PostgreSQL简介 PostgreSQL,通常简称为Postgres,是一个强大的、开源的关系数据库管理系统,支持多种操作系统,并提供...

    PostgreSQL从菜鸟到专家

    - **使用链接表**:在Access中使用PostgreSQL作为后端。 - **输入数据及建立报表**:使用Access处理数据。 ##### Microsoft Excel - 描述了如何使用Excel与PostgreSQL交互。 #### 第六章:数据交互 ##### 添加...

    postgresql中的cast

    PostgreSQL作为一种功能强大的开源关系型数据库系统,提供了多种方式进行数据类型转换,其中`CAST`是一种常用的显式转换方法。 #### CAST操作的基础用法 CAST的基本语法格式如下: ```sql CAST(expression AS ...

    PostgreSQL Developer s Guide

    - **基本语法**: `UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;` - **示例**: `UPDATE employees SET name = 'Jane Doe' WHERE id = 1;` - **删除数据(Deleting Data)** - **...

    postgresql-9.5.5.tar.gz

    3. **数据查询**:SELECT语句是SQL中最常用的,用于从表中检索数据。可以通过WHERE子句进行条件筛选,GROUP BY和HAVING用于分组和过滤,ORDER BY用于排序,JOIN操作用于连接多个表。 4. **数据库事务**:了解如何...

    PostgreSQL 正则表达式 常用函数的总结

    本篇总结将介绍PostgreSQL中与正则表达式相关的常用函数,这些函数可以帮助数据库开发者和管理员高效地进行数据处理和模式匹配。 首先,PostgreSQL提供了一系列内置的正则表达式函数,它们主要包含以下几类: 1. ...

    postgresql-10.1-3-windows-x64.zip

    对于Odoo用户来说,了解如何使用Python进行数据库交互,如通过psycopg2库连接PostgreSQL,编写查询,以及集成到Odoo模块开发中,是非常重要的。 在压缩包内的“postgresql-10.1-3-windows-x64.exe”文件,是...

    Go-igor-PostgreSQL的抽象层支持高级功能和使用类似gorm的语法

    在Go语言的开发环境中,有时候我们需要与数据库进行交互,而PostgreSQL是一种常用的关系型数据库管理系统。为了简化数据库操作,开发者通常会寻找一个高效且易用的抽象层。"Go-igor"就是这样的一个库,它为...

    oracle语法及常用命令

    Oracle 语法及常用命令 Oracle 语法是关系型数据库管理系统的核心语言,用于管理和操作数据库。下面是 Oracle 语法及常用命令的详细知识点: 一、数据库概述 * 数据库是按照数据结构来组织、存储和管理数据的仓库...

    C#连接Postgresql的两个dll文件:Npgsql.dll Mono.Security.dll

    在.NET开发环境中,C#是一种常用的编程语言,而PostgreSQL是一种功能强大、开源的关系型数据库管理系统。当需要在C#应用程序中与PostgreSQL数据库进行交互时,就需要借助于特定的库来实现。在这个场景中,"Npgsql....

Global site tag (gtag.js) - Google Analytics