PostgrelSQL知识点——常用命令

1.自增序列(主键)
-- ddl
id bigserial NOT NULL,
CONSTRAINT apply_info_pkey PRIMARY KEY (id)

-- 备注:表
COMMENT ON TABLE apply_info IS '申请信息表';

-- 备注:字段
COMMENT ON COLUMN apply_info.process_config_id IS '流程配置表主键';
2.序列
--1.查询表的当前序列值: process_config_id_seq:表名_主键_seq
select currval( '"process_config_id_seq"' :: regclass );

--2.查询表的下一序列值: process_config_id_seq:表名_主键_seq
select nextval( '"process_config_id_seq"' :: regclass );

--2.设置表的序列值: process_config_id_seq:表名_主键_seq;11:序列值
SELECT setval('"process_config_id_seq"',11);
3.pg运算符
序号符号说明
1->返回对象
2@>包含
3–>返回值
4.查看所有的数据库
select * from pg_database;
5.查看当前库下所有的schema (namespace)
SELECT * FROM pg_namespace;
6.查看某个schema下所有的表
select * from pg_tables where schemaname='public';
7.查看某张表的所有字段
select * from information_schema.columns 
where table_schema='public' and table_name='apply_info';
8.从某张表里查询数据并批量插入另外一张表
insert into insert_table(
				col1,
    			col2,
    			col3
)
select c1,c2,'固定值'
from search_table
where 条件

# c1,c2是search_table的字段
9.动态更新一张表的某个字段(用另外一张表的数据)
update up_table set col1=p.c1
from (xxxx) p
where p.id=up_table.p_id
and 条件

# p.id=up_table.p_id 外建关联的字段
10.其他
select * from pg_user;

select * from pg_roles;

select * from information_schema.table_privileges where grantee='postgres' and table_schema='public';


GRANT privilege [, ...]
ON object [, ...]
TO { PUBLIC | GROUP group | username }
 

1、授权语法
GRANT命令的基本语法如下:

privilege 可能的值有: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object: 名称对象授予访问权限。可能的对象是:表,视图,序列
PUBLIC A 缩写形式,代表所有用户。
GROUP group: 组授予权限。
username: 授予权限的用户的名称. PUBLIC 是一个简短的形式,代表所有用户。

2、权限可以使用 REVOKE 命令撤销
REVOKE命令的基本语法如下:

REVOKE privilege [, ...]
ON object [, ...]
FROM { PUBLIC | GROUP groupname | username }
 
privilege 可能的值有: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object: 名称对象授予访问权限。可能的对象是:表,视图,序列
PUBLIC 简短形式,代表所有用户.
GROUP group: 组授予权限。
username: 授予权限的用户的名称. PUBLIC是一个简短的形式,代表所有用户。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值