PostgreSQL

PostgreSQL是一款对象关系型数据库管理系统;因为自由宽松的许可证,任何人都可以以任何目的免费使用、修改和分发PostgreSQL, 不管是私用、商用还是学术研究目的。

中文官网:http://www.postgres.cn/v2/document

优点:

1.丰富的数据类型,并且很多数据类型没有过细的区分,举个例子:text类型,mysql就存在small text, middle text, large text...    PG只有text,最大存储1GB

2.PG可以存储Json和数组Array

注意事项:

创建主键: 唯一索引只有B-Tree能被设置,一个表中最多可以创建32个列索引,

1.在创建主键选择自增id

  serial类型:

serial和bigserial并不是真正意义上的数据类型,只是为了在表中设置唯一标识做的概念上的便利。

CREATE TABLE TABLENAME{

columnName  SERIAL

};

CREATE TABLE TABLENAME{

columnName  integer DEFAULT nextval('tableName_columnName_seq')NOT NULL

};

2.大小写敏感问题:

  关键词和不被引号修饰的标识符是大小写不敏感的。受限标识符或被引号修饰的标识符。它是由双引号(")包围的一个任意字符序列。一个受限标识符总是一个标识符而不会是一个关键字。因此"select"可以用于引用一个名为“select”的列或者表,而一个没有引号修饰的select则会被当作一个关键词,从而在本应使用表或列名的地方引起解析错误。

大写字段需要用“”引号(pg字段名使用“”,MySQL字段名使用``)

******表名以及字段名如果是小写但是为关键字,比如name,则也需使用"";

3.分页查询:

  limit ${limit} offset ${start}

4.日期格式转化:

  举个例子:

  to_char(timestamp, text) 将时间戳转换为字符串to_char(current_timestamp, 'HH12:MI:SS')

PostgreSQL_第1张图片

5.模糊查询

  SELECT * FROM public."user" WHERE CONCAT(username) LIKE CONCAT('%', #{username}, '%');

6.null替换

  coalesce(msg,'')

你可能感兴趣的:(postgresql,数据库)