关系代数与sql语句整理

关系代数与sql语句整理

关系代数

π \pi π:投影 π e e i d , e e n a m e ( e x a m i e e ) \pi_{eeid,eename}(examiee) πeeid,eename(examiee)

σ \sigma σ:选择 σ e e s e x = ′ 男 ′ ( e x a m i e e ) \sigma_{eesex='男'}(examiee) σeesex=(examiee)

∪ \cup :集合并 π e i d ( e r e x a m ) ∪ π e i d ( e e e x a m ) \pi_{eid}(erexam)\cup \pi_{eid}(eeexam) πeid(erexam)πeid(eeexam)

− - :集合差: π e i d ( e e e x a m ) − π e i d ( e r e x a m ) \pi_{eid}(eeexam)-\pi_{eid}(erexam) πeid(eeexam)πeid(erexam)

× \times ×:笛卡尔积 σ d n a m e = ′ 文 学 院 ′ ( e x a m i n e r × e r e x a m ) \sigma_{dname='文学院'}(examiner\times erexam) σdname=(examiner×erexam)

ϱ \varrho ϱ:更名运算 e x a m i n e r × ϱ t ( e x a m i n e r ) examiner \times \varrho_t(examiner) examiner×ϱt(examiner)

∩ \cap :集合交

∞ \infty :自然联接

∞ d a n m e \infty_{danme} danme:属性联接

∞ e x a m i n e r . d n a m e = d e p a r t m e n t . n a m e \infty_{examiner.dname=department.name} examiner.dname=department.name:条件联接

广义投影

∞ L / F / R \infty^{L/F/R} L/F/R:左、全、右外联接

聚集运算: ϱ d _ a v g ( d n a m e , a v g a g e ) ( d n a m e G a v g ( e r a g e ) ( e x a m i n e r ) ) \varrho_{d\_avg(dname,avg_age)}(_{dname}G_{avg(erage)}(examiner)) ϱd_avg(dname,avgage)(dnameGavg(erage)(examiner)) :按院系名平均年龄分组

SQL语句

创建表

create table tablename(
	属性 类型,
    属性 类型,
);

表的改名

alter table table_name rename to name_2

表的增加列

alter table table_name add 属性 类型

改变列的属性

alter table table_name modify 属性 类型

表列改名

alter table table_name change 原始列 新列 新列类型

表删掉列

alter table table_name drop 列名

插入数据

insert into table_name values(
	...
),

with字句嵌套(as不可省略)

with 子表明(子表属性)
asselect语句)
select 主语句

select的重点在于实验四,实验五

select 语句注意:
distinct 在查询的属性之前
在...之间 between and
选取行号 limit 1,2 (行号从0开始)
natural join可以一行中多次出现
属性联接只要把所有表join在一起,然后using所有共同属性即可
空行 属性 is null
属性 like%以什么开头’

表中有几个元组

select 2*3 就有几个6

重点嵌套查询(!!!)

实验报告五后面11-14

数据保护

视图

create view 视图名(列名,……)as
select 子查询

drop view

访问控制

grant 角色名 on 表名 to 用户名
revoke 角色名 on 表名 from 用户名

grant 权限 on table 表名
to 角色
[with grant option]

完整性约束

constraint 名字 primary key(属性名)
constraint 名字 foreign key (属性名) references 被引用表(引用的属性)
属性后面 not nullunique
check (条件)

触发器

create trigger 名字 before|after 操作
on 表名 for each row
begin

if(TG_OP = '操作' and …… ) then
……
end if

end
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值