Postgresql表操作大全


一、查询当前用户下包含的表

SELECT relname as table_name
  FROM pg_class 
 WHERE 1 = 1 
   AND relkind = 'r' 
   AND relowner = ( SELECT usesysid FROM pg_user WHERE usename = (select current_user) )
   AND relname not like 'com_%'
   AND relname NOT IN ('tzq_log_events_t','ddl_audit_log')
 order by relname;

二、修改表名

alter table tzq_test_t rename to tzq_test_t_old;

三、表增加字段

ALTER TABLE tzq_test_t ADD COLUMN log_name VARCHAR(200);

或者加上IF NOT EXISTS判断:

ALTER TABLE tzq_test_t ADD COLUMN IF NOT EXISTS log_name VARCHAR(200);

四、修改字段名

ALTER TABLE tzq_test_t RENAME COLUMN log_name TO log_name_new;

五、修改表字段类型

ALTER TABLE tzq_test_t ALTER COLUMN log_id TYPE varchar(200);
ALTER TABLE tzq_test_t ALTER COLUMN status TYPE int8 USING status::int8;

六、删除字段默认值

ALTER TABLE tzq_test_t ALTER COLUMN status DROP DEFAULT;

七、字段加注释

COMMENT ON COLUMN tzq_test_t.status IS '状态:0-失效,1-生效';

八、修改序列名

alter sequence seq_tzq_test_t rename to seq_tzq_test_t_new;

九、约束

9.1、删除主键约束

ALTER TABLE tzq_test_t DROP CONSTRAINT tzq_test_t_pkey;

9.2、创建主键约束

ALTER TABLE tzq_test_t ADD CONSTRAINT tzq_test_t_pkey primary key (log_id, log_name);

十、修改索引名字

ALTER INDEX idx_tzq_test_t_1 RENAME TO idx_tzq_test_t_1_new;

十一、PG给某个字段增加/删除非空约束

11.1、删除非空约束

alter table tzq_test_t alter log_id drop not null;

11.2、添加非空约束

alter table tzq_test_t alter column log_id set not null;

十二、数值字段置空

update tzq_log_t 
   set log_name = null
 where log_id = 48;

十三、pg波浪号查询

select * from PG_TIMEZONE_NAMES where name ~* 'Etc/GMT-8';

十四、pg查询表不用加schema

alter user asst set search_path to "$user", fnd, public;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tzq@2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值