​PGSQL操作手册​

PostgreSQL 数据类型 | 菜鸟教程

postgresql和mysql有什么区别-mysql教程-PHP中文网

PostgreSQL相对于MySQL的优势

1、在SQL的标准实现上要比MySQL完善,而且功能实现比较严谨;

2、存储过程的功能支持要比MySQL好,具备本地缓存执行计划的能力;

3、对表连接支持较完整,优化器的功能较完整,支持的索引类型很多,复杂查询能力较强;

4、PG主表采用堆表存放,MySQL采用索引组织表,能够支持比MySQL更大的数据量。

5、PG的主备复制属于物理复制,相对于MySQL基于binlog的逻辑复制,数据的一致性更加可靠,复制性能更高,对主机性能的影响也更小。

6、MySQL的存储引擎插件化机制,存在锁机制复杂影响并发的问题,而PG不存在。

MySQL相对于PostgreSQL的优势

1、innodb的基于回滚段实现的MVCC机制,相对PG新老数据一起存放的基于XID的MVCC机制,是占优的。新老数据一起存放,需要定时触 发VACUUM,会带来多余的IO和数据库对象加锁开销,引起数据库整体的并发能力下降。而且VACUUM清理不及时,还可能会引发数据膨胀;

2、MySQL采用索引组织表,这种存储方式非常适合基于主键匹配的查询、删改操作,但是对表结构设计存在约束;

3、MySQL的优化器较简单,系统表、运算符、数据类型的实现都很精简,非常适合简单的查询操作;

4、MySQL分区表的实现要优于PG的基于继承表的分区实现,主要体现在分区个数达到上千上万后的处理性能差异较大。

5、MySQL的存储引擎插件化机制,使得它的应用场景更加广泛,比如除了innodb适合事务处理场景外,myisam适合静态数据的查询场景。

总的来说,开源数据库都不是很完善,商业数据库oracle在架构和功能方面都还是完善很多的。从应用场景来说,PG更加适合严格的企业应用场景(比如金融、电信、ERP、CRM),而MySQL更加适合业务逻辑相对简单、数据可靠性要求较低的互联网场景(比如google、facebook、alibaba)。
————————————————
版权声明:本文为CSDN博主「远赴惊鸿人间舞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_33781072/article/details/113150605

PGsql数据类型与Java数据类型对应关系

编号    数据库类型    JDBC类型    JDBC索引
1    varchar    java.lang.String    12
2    char    java.lang.String    1
3    cidr    java.lang.Object    1,111
4    inet    java.lang.Object    1,111
5    macaddr    java.lang.Object    1,111
6    text    java.lang.String    12
7    int8    java.lang.Long    -5
8    bytea    byte    -2
9    box    java.lang.Object    1,111
10    circle    java.lang.Object    1,111
11    float8    java.lang.Double    8
12    int4    java.lang.Integer    4
13    interval    java.lang.Object    1,111
14    line    java.lang.Object    1,111
15    lseg    java.lang.Object    1,111
16    money    java.lang.Double    8
17    numeric    java.math.BigDecimal    2
18    path    java.lang.Object    1,111
19    point    java.lang.Object    1,111
20    polygon    java.lang.Object    1,111
21    float4    java.lang.Float    7
22    int2    java.lang.Integer    5
23    int4    java.lang.Integer    4
24    time    java.sql.Time    92
25    timestamp    java.sql.Timestamp    93
26    bit    java.lang.Boolean    -7
27    varbit    java.lang.Object    1,111
28    bool    java.lang.Boolean    -7


​PGSQL操作手册​

1、连接数据库

192.168.31.0
密码:123456
port:5432

在这里插入图片描述

在这里插入图片描述

2、 PGSQL数据库基础学习

1、创建数据库

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

CREATE DATABASE runoobdb  #创建数据库,数据库名为runoobdb

2、选择数据库

\l查看已经存在的数据库

在这里插入图片描述
连接所选择的数据库
在这里插入图片描述

3、删除数据库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4、创建表格

1、数据类型

在这里插入图片描述

Numeric(10,2) 指字段是数字型,长度为10 小数为两位的。其中10为精度,2为小数位数

numeric类型的小数位数是小数点右边的所有小数位,numeric的精度是所有数字的位数。

numeric(5,2)含义:例如数字 (5,2)是总位数是5,小数点后2位数字,也就是说,该字段的整数位数最多为3位。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、创建表格

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、删除表格

在这里插入图片描述

6、插入记录往表格

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7、选择

在这里插入图片描述

SELECT id,name FROM company; #从company表中选择一些属性的记录
SELECT * FROM company; #从company表中选择所有属性记录

8、运算符

1、算数运算符

在这里插入图片描述
在这里插入图片描述

2、比较运算符

在这里插入图片描述

3、逻辑运算符

在这里插入图片描述
在这里插入图片描述

4、位运算符

在这里插入图片描述
在这里插入图片描述

9、表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、where条件查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11、更新数据库数据

在这里插入图片描述
在这里插入图片描述

12、 删除表中的记录

在这里插入图片描述
在这里插入图片描述

13、Like条件查询

在这里插入图片描述
在这里插入图片描述

14、 LIMIT和OFFSET限制查询数量和指定哪条记录开始查询

在这里插入图片描述

15、排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16 、with多个条件查询数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17、分组筛选

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18、去除重复记录

在这里插入图片描述
在这里插入图片描述

3、 PGSQL数据库高级学习

1、约束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、多表连接操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、多表合并

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、创建索引

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、 ALTER 更新表列和约束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6、清楚表,保留结构

在这里插入图片描述
在这里插入图片描述

9、创建视图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、数据库管理

1、事务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、锁

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 、 常用函数

1、COALESCE用法:

COALESCE (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非[null]值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。

2、::的作用==》   转换类型   a.dc::date + INTERVAL '1 DAY 7:20:00'

3、CAST(Expression AS Data_type)

SQL的CAST()——转换数据类型_sql cast_小白修炼晋级中的博客-CSDN博客​​​​​​

4、EXTRACT()("提取"的意思) 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。MySQL EXTRACT()函数 - MySQL教程 - 一点教程

5、解决MyBatis中模糊搜索使用like匹配带%字符时失效问题_java_脚本之家

在这里插入图片描述

array_agg(expression)
把表达式变成一个数组 一般配合 array_to_string() 函数使用

string_agg(expression, delimiter)
直接把一个表达式变成字符串 

postgresql分组后把字段拼起来_group by 字段拼接_贪吃的猪的博客-CSDN博客
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、时间日期函数

pgsql计算2个日期的差: 不支持year和month

date_part('day', cast(time1 as TIMESTAMP)- cast(time2 as TIMESTAMP))

计算月份差:

SELECT EXTRACT(MONTH FROM age(date2, date1)) AS months;

PostgreSQL的时间/日期函数使用

在这里插入图片描述

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值