PG数据库对象及常用操作命令使用介绍

目录

user:

table:

index:

sequence:

view:

pg操作命令:


数据对象使用介绍:

user:

创建用户:

create user test with password '123';

赋予权限:

例如:给普通用户test赋予创建数据库的权限:

alter user test createdb;

创建数据库:

create database testdb owner test;

赋权限:

grant all privileges on database testdb to test;

删除用户:

drop user username;

如果用户下面有数据库,删除的时候会报如下错误:

ERROR:  role "test" cannot be dropped because some objects depend on it

查看当前用户:

select user; / select * from current_user;

table:

创建表:

create table student(

    id int serial primary key,

    name varchar(10) not null,

    sex varchar(2)

);

删除表:

drop table tablename;

自增:

serial

插入数据使用序列:

insert into test values(nextval('testseq'),'szw','nan');

index:

好处:

1、最主要的原因是可以大大加快数据的检索速度;

2、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性;

3、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;

4、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间;

5、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

弊端:

1、创建索引和维护索引要花费时间,且随着数据量的增加时间也会增加;

2、索引会占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间;

3、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

 

创建索引:

create index indexname on table(column);

删除索引:

drop index indexname;

sequence:

有规律的生成唯一数字标识符

创建序列:

create sequence myseq

minvalue 1

maxvalue 10000000000

increment 1

start 1

cycle;

查询序列中的值:

select nextval('myseq');  //返回下一个序列值

select currval('myseq');  //返回当前序列值

刚创建的序列不能查询当前值,会报如下错误:

currval of sequence "myseq" is not yet defined in this session

删除序列:

drop sequence myseq;

修改序列:

alter sequence myseq

minvalue 1

maxvalue 10000000000

increment 1

start 1

cycle;

view:

视图是一个基于一个或多个表的数据定义的虚拟表。视图是没有数据的,视图里面的数据都是来自实际的表。

优点:

1、简单化

看到的就是需要的。视图可以简化用户查询数据时的操作,将经常使用的查询定义成视图,以后不必每次查询都带着一堆查询条件。

2、安全性

通过视图和权限控制,让用户只能看到和修改他们有权限操作的数据。

3、逻辑独立

视图可以屏蔽真实表结构变化带来的影响。当表的结构发生变化时,我们只需要修改视图的定义即可,避免了修改实际使用数据的程序。

 

创建视图:

create view viewname as select c1,c2 from tablename;

删除视图:

drop view viewname;

查询视图:

select * from v1;

pg操作命令:

切换用户:

\c - test

切换数据库:

\c testdb

列出用户信息:

\du

列出数据库信息:

\l

列出当前数据库的所有表:

\d

查看表字段:

\d tablename

查看指定表的基本情况:

\d+ tablename

查询当前连接信息:

\conninfo

查看sql命令的解释:

\h  如:\h select

查看psql命令列表:

\?

启动pg:

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

停止:

stop

重启:

restart

连接服务:

psql -U user -d database

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

尚振伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值