数据库原理 第三章:SQL

 数据库原理 第一章:绪论-CSDN博客

第二章:关系数据库-CSDN博客

数据库原理 第三章:SQL-CSDN博客

数据库原理 第四章:数据库安全性-CSDN博客

数据库原理 第五章:关系数据理论-CSDN博客


SQL概述:SQL是通用的,结构化查询语言,是关系数据库的标准语言

SQL特点:综合统一;高度非过程化;面向集合的操作方式;同一语法结构多种使用方式;简洁易学

删除语句后缀:

CASCADE:将数据库及其包含内容全部删除

RESTRICT:若数据库中含有下属对象(表,视图等),则删除命令不执行

表的增删改

修改基本表

索引的建立与删除

删除索引

数据字典:存有数据库中的全部定义信息。SQL数据定义语句的执行实际上就是更新数据字典中的相应信息

查询:  distinct:消除重复    默认:all

举例数据库

Where:查询符合条件的元组

涉及空值的查询:is null 不能用 =null代替

通配符:%:任意长度的字符串

              _:单个字符

查询结果排序 ASC(升序,默认) DESC(降序)

使用集函数

例:

Group by 分组:细化集函数的作用对象

  1. 未对查询结果分组,集函数将作用于整个查询结果
  2. 对查询结果分组后,集函数将分别作用于每个组

本例中,group by 将sno以cno为分组标准,分为了五组,分别count

Having + 条件:作用于组(having前必然有group by),对得到的结果在此筛选后输出

连接查询:同时涉及多个表的查询

      等值连接

引用表1和表2中同名属性时,都必须加表名前缀。引用唯一属性名时可以加也可以省略表名前缀。


      自然连接:把目标列中重复的属性列去掉

      非等值连接:……

自身连接:一个表与自己进行连接

  1.   需要给表起别名以示区别
  2. 由于所有属性名都是同名属性,因此必须使用别名前缀

外连接:普通连接操作只输出满足连接条件的元组;外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出

左外连接:列出左边关系(如本例Student)中所有的元组

右外连接: 列出右边关系中所有的元组

复合条件链接:where中包含and,or……

多表连接:

嵌套查询:将一个查询块放在另一个查询块中

子查询限制不能用order by字句

带有any或all的子查询, 使用集函数代替any/all可以提高效率

EXIST用法

查询所有选修了1号课程的学生姓名

  

数据更新:进行更新时,DBMS会检查操作是否破坏表上完整性规则

插入数据

插入单个元组:                        插入子查询结果:

修改数据

 

删除数据:

视图:虚表,只存放视图的定义,不会出现数据冗余。基表数据变化,视图的数据也会变化

    视图亦可根据视图创建

With check option:限定视图的更新操作满足子查询中的条件表达式,例中为:sdept=’IS’

建立视图时,尽量不要用select * 因为可拓展性差,易受基表变化影响

删除视图

视图查询:同表的查询

视图更新:类似表的更新,但有的视图不能更新

不能更新的情况:

视图由两个以上基本表导出;视图定义有group by、distinct;视图字段来自集函数……

视图的作用:简化用户操作;更清晰的表达查询;使用户以多种角度看同一数据;对重构数据库提供了一定程度的逻辑独立性;对机密数据提供安全保护

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值