postgreSQL与mysql的差异

一.主键自增的方式:

1.mysql 通过勾选即可。

2.postgreSQL可以通过两种方式实现主键自增。

2.1.使用SERIAL

postgreSQL与mysql的差异_第1张图片

 

 

2.2先创建序列,然后设置字段的自增

CREATE SEQUENCE rpt_month_cargo_capacity_recid_seq

START WITH 1

INCREMENT BY 1

NO MINVALUE

NO MAXVALUE

CACHE 1;
alter table rpt_month_cargo_capacity alter column recid set default nextval('rpt_month_cargo_capacity_recid_seq');

二.用``包含的字段在postgreSQL中报错,像year,month等这种保留字段最好别用。

下面的语句在mysql中运行时没有问题的。

SELECT r.month, sum(r.weights) sumweight FROM rpt_day_weight r WHERE r.`year` = #{year}

group by r.`month`;

三、时间和日期的差异

像在mysql中能用的curdate(),在postgreSQL中报如下错误

获得上个 月的年和月,mysql可以通过

DATE_FORMAT(DATE_SUB(CONCAT(#{year},'-',#{month},'-06'), INTERVAL 1 MONTH),'%Y-%m')

postgreSQL 中

to_char(to_timestamp(#{ymdstr}, 'yyyy-mm-dd') - interval '1 month','YYYY-MM')

四、limit的用法不同

mysql 中 

SELECT * from rpt_day_weight order by weights desc limit 0, 10。or

select * from rpt_day_weight order by weights desc limit 10 offset 0   都可以

postgreSQL 中 只能用 

select * from rpt_day_weight order by weights desc limit 10 offset 0 

五、连接数据库的方式不同

mysql连接数据库方式如下:

postgreSQL与mysql的差异_第2张图片

postgreSQL连接数库如下:

postgreSQL与mysql的差异_第3张图片

 

你可能感兴趣的:(postgreSQL与mysql的差异)