postgresql和mysql的区别在于以下几个方面:1、格式区别;2、符号区别;3、自增区别;4、函数区别。其中,格式区别是指,和Oracle一样,PostgreSQL也是严格区分大小写。
一、格式区别
和Oracle一样,PostgreSQL也是严格区分大小写。
二、符号区别
和Oracle一样PostgreSQL中,” ” 双引号是区分库名,关键字等,而MySQL则是反单引号(tab键上方的键),pg查询时字符类型的字段必须使用单引号,而MySQL带有优化器(不是必须)。
三、自增区别
MySQL中使用auto_increment ,在需要的列指定自增,而pg中需要设置自增序列。
四、函数区别
1、时间转化
①时间转字符串:
MySQL: date_format(a.tag_create_date,‘%Y-%m-%d %H:%i:%s’)
PostgreSQL: to_char(a.tag_create_date,‘yyyy-mm-dd HH:MM:SS’)
②字符串转时间:
MySQL: date_format(a.tag_create_date,‘%Y-%m-%d %H:%i:%s’)
PostgreSQL: to_date(a.tag_create_date,‘yyyy-mm-dd HH:MM:SS’)
2、IFNULL()函数
MySQL: IFNULL(a.idm,‘’)
PostgreSQL: COALESCE(a.id,‘’)
3、sysdate()函数
MySQL: SELECT sysdate()
PostgreSQL: SELECT now()
4、find_in_set()函数(允许在逗号分隔的字符串列表中查找指定字符串的位置)
MySQL: SELECT t.dept_id FROM sys_dept t WHERE find_in_set(‘100’, ancestors)
PostgreSQL: SELECT t.dept_id FROM sys_dept t WHERE ‘100’ = ANY (string_to_array(ancestors, ‘,’))
5、group_concat()函数
MySQL: select a.name,group_concat(distinct city)from user_city a group by a.name;
PostgreSQL: select a.name,array_to_string(array_agg(distinct a.city),‘,’)from user_city a group by a.name;
6、LIMIT
MySQL: select id,name from hospital.ods_user_basic limit 10,2;
PostgreSQL: select id,name from hospital.ods_user_basic limit 10 offset 2;
7、DISTINCT
MYSQL: select DISTINCT b.id from hospital.ods_user_basic as b
PostgreSQL: select DISTINCT ON (b.id) b.* from hospital.ods_user_basic as b
(注:pg中祛重+排序 ,使用distinct on (列1) order by 列1 )
8、MyBatis-Plus整合MySQL、PostgreSQL,LIKE使用
来源:https://blog.csdn.net/weixin_47162914/article/details/126662477
延伸阅读
postgresql是什么
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多名列前茅概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放。
PostgreSQL是一个非常健壮的软件包,有很多在大型商业RDBMS中所具有的特性,包括事务、子选择、触发器、视图、外键引用完整性和复杂锁定功能。另一方面,PostgreSQL也缺少商业数据库中某些可用的特性,如用户定义的类型、继承性和规则。从用户的角度来讲,PostgreSQL惟一不具备的主要特性就是外部连接,在今后的版本中会将其加入。
PostgreSQL提供了两种可选模式。一种模式保证如果操作系统或硬件崩溃,则数据将保存到磁盘中,这种模式通常比大多数商业数据库要慢,这是因为它使用了刷新(或同步)方法;另一种模式与名列前茅种不同,它不提供数据保证,但它通常比商业数据库运行得快。遗憾的是,还没有一种折中的模式:既提供一定程度的数据安全性,又有较快的执行速度。今后的版本将会提供这种模式。
文章标题:postgresql和mysql的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38741