postgresql

Postgresql实现自增ID

在Postgresql中实现自增ID有两种方法,一种是创建表的时候使用SERIAL(序列类型);另一种先创建一个序列,然后将表类型改为序列的下一个值。 创建语句中使用Serial serial类型不是一种真正的类型,它实际上是一个序列,包括smallserial(smallint,short),serial(int)和bigserial(bigint,long long int),smallserial,serial和bigserial的范围都是(1,9223372036854775807)。 当一个字段为序列类型时其实是创建了一个序列,INSERT插入数据的时候,如果没有给该字段赋值会默认获取对应序列的下一个值。 SQL语句: create table user(id serial,name varchar(

  • zgljl2012
1 min read
postgresql

【PostgreSQL】存取jsonb

从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar、int一样,我们表里的一个字段的类型可以为json了。 与此同时,postgres还提供了jsonb格式,jsonb格式是json的二进制形式,二者的区别在于json写入快,读取慢,jsonb写入慢,读取快,但在操作上,二者是没有区别的。下面以jsonb为例。 创建表 假设我们要存储的json数据是这样的: { "id": ID "name":"名字", "age":年龄

  • zgljl2012
2 min read
正则表达式

PostgreSQL使用正则表达式进行模糊查询

在Postgres中可以使用正则表达式进行模糊查询,基础查询规则如下: 关键字 ~,表示查询关键字左边的字段匹配右边表达式的记录 关键字 ~*,表示查询关键字左边的字段匹配右边表达式的记录,并且不区分大小写 关键字 !~,表示查询关键字左边的字段不匹配右边表达式的记录 关键字 !~*,表示查询关键字左边的字段不匹配右边表达式的记录,并且不区分大小写 示例: SELECT title, substr(content,0, 100) from articles where markdown ~* '.*测试.*' 根据关键字查询文章,查询文章的标题以及内容的前100个字符。 附录:正则表达式规则 字符 描述 \ 将下一个字符标记为一个特殊字符、

  • zgljl2012
7 min read
2693491512@qq.com