PostgreSQL特殊语法

本文详细介绍了PostgreSQL中一些不同于标准SQL的特殊语法,包括Limit、Like/ILIKE、获取最新插入ID、自增、DELETE、UPDATE、导入导出、表继承、数组、hstore、JSON数据类型以及psql命令行的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文整理了一些PostgreSQL相对于标准SQL或者MySQL的一些特殊语法。

Limit

PG:

limit n
limit n offset m

MySQL:

limit n 
limit m,n

Like/ILIKE:

提供的一个扩展ILIKE:同LIKE,只是不区分大小写。
符号表示:

LIKE: ~~

ILIKE: ~~*

NOT LIKE: !~~*

NOT ILIKE: !~~*

获取最新插入的id:

INSERT INTO link (url, NAME, last_update)
VALUES('http://www.postgresql.org','PostgreSQL',DEFAULT)
RETURNING id;

insert into weibo.weibo_may(content) values('test') returning id;

也可以插入之后返回整条数据:

insert into weibo.weibo_may(content) values('test') returning *;

自增:

创建表的时候使用SERIAL数据类型。

CREATE TABLE weibo.weibo_may
(
  id serial NOT NULL,
  content text,
  CONSTRAINT idx_pk_id PRIMARY KEY (id)
  DEFERRABLE INITIALLY IMMEDIATE
)
WITH (
  OIDS=FALSE
);
ALTER TABLE weibo.weibo_may
  OWNER TO postgres;

注意这个类型只能create的时候使用,已经存在的表无法修改字段为SERIAL类型。(不同于mysql的auto increment)

参考: http://stackoverflow.com/questions/787722/postgresql-autoincrement

DELETE:

DELETE USING:使用另一张表的数据作为删除条件:

delete  from a
using b
where a.id=b.id

删除后返回:使用delete returning

delete from weibo.weibo_may
where id=1
returing *;

更新:

update from: 使用一张表的数据更新另一张表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值