记录贴:PostgreSQL数据库的简单理解和使用

1.逻辑关系理解(数据库,模式,对象之间的从属关系)

  1. 用语言描述,其逻辑包含关系应为:实例(Instance)> 数据库(database)>模式(Schema)。
  2. 其中一个实例下有多个彼此完全独立的数据库,一个数据库下可以有多个模式(Schema)。
  3. 通俗来说,模式是对数据库的逻辑分割。

2.一些细节

  1. 在我们新建一个数据库并使用psql的\dn指令查看其模式时,通常只能看见public一个模式。
  2. 我们可以做一个测试,在一个新建的数据库中,我们使用create table 指令新建一个表,并使用\dt或者\d指令查看当前库中的表,我们会发现该表位于public模式下;继而我们再对该表create一个简单的查询视图,再使用\d指令查看,会发现其依旧位于public模式下。
  3. 事实上,官方建议为每一个用户在库中创建一个同名模式。我们可以通过create schema XXX;指令创建一个和当前访问的用户名同名的模式,再重新执行第2步,我们会发现创建的表和视图会默认放在同名视图下。
  4. 同一个数据库可能有多个用户访问。对于用户和各个模式的权限:所有用户对public模式具有create权限,而对于其他用户创建的模式,是否可见取决于该模式的owner是否给予你usage权限。

3.简单使用

  1. 各种sql语句相似,不再赘述
  2. 分页查询
    select * from tablename where XXX limit XXX offset XXX;

    其中 limit + 查询数量,offset + 需要跳过的数量,如“limit 5 offset 2”表示从第三条开始查5条。

  3. 事务
    BEGIN;
    XXXsql语句;
    SAVEPOINT my_point;
    XXXsql语句;
    ROLLBACK TO my_point;
    COMMIT;
    

    BEGIN命令来开始事务,这样的事务通常会持续下去,直到遇到下一个COMMIT或ROLLBACK命令;COMMIT命令是用于将事务调用的更改保存到数据库的事务命令;ROLLBACK命令ROLLBACK命令是用于还原尚未保存到数据库的事务的事务命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值