postgreSQL数据库基本操作(四)

外关联

--外关联
create table twitters (
	id serial primary key,
	user_id integer,
	content varchar(255) not null
);

insert into twitters (user_id, content) values
(1, '今天又是大胜,克莱打的真好!'),
(2,'今晚我得 了60分,哈哈!'),
(3,'获胜咱不怕,缺谁谁尴尬.'),
(4,'明年我也可能转会西部'),
(5,'我都双20+了,怎么球队就是不胜呢?'),
(1,'明年听说有条大鱼要来,谁呀?');

select * from users;
select * from twitters;
select users.player, twitters.content from users, twitters where users.id = twitters.user_id;--外关联查询
select u.player, t.content from users as u, twitters as t where u.id = t.user_id;--重命名表,外关联查询
select u.player, t.content from users as u, twitters as t where u.id = t.user_id and u.id = 1;--id为1的查询

使用视图

--视图概念
--视图(view) 是从一个或多个表导出的对象。视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,
--数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

--知识点
--使用数据库视图(view)
--create view
--drop view
--在自己项目中,为了提高数据查询速度,可在表中加入索引index. 同时对于经常需要查询的语句,可以提前建立视图view,方便于编码和管理.
 

select u.player, t.content from users as u, twitters as t where u.id = t.user_id and u.id = 1;

create view curry_twitters as select u.player, t.content from users as u, twitters as t where u.id = t.user_id and u.id = 1;--创建一个视图
\dv --展示当前创建好的视图,命令行模式下
\d curry_twitters --查看视图结构
select * from curry_twitters;--查看视图
drop view curry_twritters;--删除视图
\dv

使用事务

--数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地
--不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一
--组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单
--元要成为事务,必须满足所谓的ACID (原子性、一致性、隔高性和持久性)属性。事务是数据库运行中的逻辑工作单
--位,由DBMS中的事务管理子系统负责事务的处理,

--知识点
--PostgreSq1数据库事务使用
-- begin 开始
-- commit 提交
-- rollback 回滚,返回到begin位置

select * from users ;
begin;
update users set score = 50 where player = '库里';
update users set score = 60 where player = '哈登';
commit;
select * from users;

begin;
update users set score = 0 where player = '库里';
update users set score = 0 where player = '哈登';
rollback;
select * from users;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值