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、选择数据库
连接所选择的数据库
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的时间/日期函数使用
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |