概述

今天主要对PG数据库的一些基本SQL语句用法做个介绍,做个简单了解,也做备忘!

下面主要用例子来说明。


1、建表语句

create table test (id int8 primary key,info text,crt_time timestamp);

注意保留字


2、select into & create table as

postgres=# select * into table new_tbl from pg_class;postgres=# create table tbl_1 as select * from pg_class;

3、插入更新删除查询

insert into tbl (xx,xx) values (xx,xx);update tbl set xx=xx where xxx;delete from tbl where xxx=xxx;select xx from xx where xx...;

如果是delete|update limit,则:

update tbl set xx=xx where ctid = any ( array (select ctid from tbl where xx limit ? for update));delete from tbl where ctid = any ( array (select ctid from tbl where xx limit ? for update));

4、批量DML

insert into xx values (),(),...(); copy xx from stdin; copy xx from 'file'; pg_bulkloadupdate t set info=t1.info,crt_time=t1.crt_time from t1,t2 where (t.id=t1.id) and t1.id=t2.id;update tbl_1 set relname=tmp.rel from (values (1,'test1'),(2,'test2')) tmp (id, rel) where tmp.id=tbl_1.id;delete from t using t1 where t.id=t1.id;delete from tbl_1 using (values (1),(2)) tmp (rel) where tmp.rel=tbl_1.reltype;

注意update , delete 批量操作,JOIN不是一一对应时,更新目标可能会随机匹配。


5、DB端copy+客户端copy

• https://github.com/digoal/blog/blob/master/201805/20180516_03.md

• https://github.com/digoal/blog/blob/master/201805/20180510_01.md

5.1、copy为什么快?

协议:

5.2、DB 端copy

copy tbl to 'file';copy (SQL) to 'file';copy tbl from 'file';

5.3、客户端copy

copy tbl from stdin;copy (SQL) to stdout;copy tbl to stdout;psql (copy to | from); -- copy协议

6、排序+ offset limit

select * from tbl_1 order by relname nulls first;select * from tbl_1 order by relname nulls last;select * from tbl_1 order by relname;select * from tbl_1 order by relname limit 10 offset 10;select * from tbl_1 order by relname::text collate "C";

7、聚合+解耦合

select string_agg(relname,',' order by xx) from tbl_1; select g,avg(c1) from tbl group by g;

8、distinct

select distinct relname,relnamespace from pg_class;SELECT id, COUNT_DISTINCT(val) FROM test_table GROUP BY 1;select count(distinct (relname,relnamespace)) from pg_class;select distinct on (c3) c2,c3 from tbl;

9、INNER|OUTER JOIN

•inner

select * from t1 join t2 on (t1.x=t2.x) where xxxx;

• left

1)scan filter

select t1.*,t2.* from t1 left join t2 on (t1.x=t2.x) where t1.x=x;

2)join filter

select t1.*,t2.* from t1 left join t2 on (t1.x=t2.x and t1.x=x);

• right

把上面的left join改成right join即可,这里就不多说了。


篇幅有限,这块内容就介绍到这了,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

oracle语法_PG数据库sql语法总结,与Oracle有什么不同?相关推荐

  1. mysql库与oracle库的区别_开源数据库Oracle与MySQL的SQL语法区别

    Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容,接下来我们就开始介绍这部分内容,希望能够对您有所帮助. Oracle与MySQL的SQL语法区别: 1.在Oracle中用sele ...

  2. access update语句执行_SQL Server与Access数据库sql语法十大差异

    本文总结了SQL Server与Access数据库sql语法的十大差异. ACCESS结构简单容易处理,而且也能满足多数的应用程序要求,也是初学者的试牛刀. 随着时间的推移,大多数数据库应用程序都会发 ...

  3. DB2数据库SQL语法大全推荐word版

    <DB2数据库SQL语法大全推荐word版> 下载地址: 网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731437.html

  4. MongoDB语法与现有关系型数据库SQL语法比较

    MongoDB语法与现有关系型数据库SQL语法比较 MongoDB语法 MySql语法 db.test.find({'name':'foobar'}) select * from test where ...

  5. 如何向oracle中导入数据,Oracle导入导出数据库的语法_Oracle_Oracle语法_Oracle数据库_课课家...

    在Oracle当中如何才能对数据库的语法进行导入导出呢?其实啊,这有不止一种方法呢.事实上啊,在Oracle当中,不仅可以在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式,而且还可以采用 ...

  6. oracle数据库sql的执行过程,Oracle体系结构之SQL语句的执行过程

    一般来说,数据库处理SQL都会经过三个过程:解析(parse).执行(exec).返回结果(fetch) 1.解析 当用户发起一个SQL语句时,Oracle通过Server Process 接收SQL ...

  7. sql常见语法_常见SQL语法错误以及解决方法

    sql常见语法 SQL Server Management Studio, errors can be tracked down easily, using the built in 错误列表&quo ...

  8. map语法获取index_MySQL SQL语法优化——使用Explain查看执行计划

    夜深,最近在写SQL优化的一些文章,看到私聊中,有很多人在问如何判断是否需要优化或者是如何查看MySQL执行计划,本文简要介绍一下MySQL EXPLAIN命令. EXPLAIN命令是查看优化器如何决 ...

  9. 崔华 oracle简历,2013数据库大会:崔华-基于Oracle的SQL优化案例分析

    2013数据库大会:崔华-基于Oracle的SQL优化案例分析 崔华的新书即将出版,其数据库大会上的演讲也非常精彩,他的新书十分值得期待. 2013年中国数据库技术大会第二天的"Oracle ...

最新文章

  1. CISSP备考系列之行政性管理[10-37]
  2. nyoj298_点的变换_错误
  3. [CareerCup] 9.5 Permutations 全排列
  4. 电商双11已臻巅峰,众筹的双11才刚刚开始
  5. php mysql 登录注销_PHP与MYSQL实现用户登录注销
  6. 编写css让一个已知宽高的div元素水平居中?垂直居中
  7. hihocoder-Week173--A Game
  8. SprinBoot 集成 Flowable 工作流引擎镜像制作
  9. 【狂转】某个N人的访谈记录(完)
  10. 使用resnet, inception3进行fine-tune出现训练集准确率很高但验证集很低的问题
  11. NOIP2018初赛 解题报告
  12. 数据结构课程设计(基于AVL树的身份证管理系统)
  13. 【翻译】十大要避免的Ext JS开发方法
  14. 乐嘉性格色彩-4色特性,学习感悟
  15. 记录一次吃力的探索过程【Thinkphp搭建Mysql长连接并重用】
  16. HMDB: a large human motion database人类动作视频数据集介绍及百度云下载链接分享
  17. EIE结构与算法映射
  18. 使用node-red通过MQTT传送数据
  19. 2022 国际培训产品博览会--第十一届,2022.11.17-19日,深圳
  20. 前端——》手机H5页面九宫格抽奖(含概率及奖品配置)

热门文章

  1. 零信任风口来了,新一代企业安全架构革新势在必行
  2. 周年直播倒计时2天,攒足惊喜等你开场! | MindSpore 开源一周年
  3. 曾经风光无限的 JSP,为什么现在很少有人使用了?
  4. 逐句深扒 Apache 许可协议原文,一文看懂!
  5. 5G 时代,优酷推出的帧享究竟是什么?
  6. 行业观察:拐点已至!抛弃传统数据库,乘云而上!
  7. 技术总监灵魂一问:你精通那么多技术,为何还做不好一个项目?
  8. 程序员生存指南:如何在技术浪潮中屹立不倒?
  9. 如何解决多机房、多网络下的物联网部署方案?
  10. 推荐几个好评率超高的公众号,有远见的程序员都关注了!