数据库第三天【关系数据库标准语言SQL】期末复习知识点浓缩版

3.1SQL特点

  • 一体化:DDL(数据定义语言),DML(数据操纵语言),DCL(数据控制语言)
  • 高度非过程化
  • 面向集合的操作
  • 提供多种使用方式
  • 功能强大,简洁易用

3.2SQL与数据库三级模式

  • 基本表:一个关系对应一个基本表,一个或多个基本表对应一个存储文件
  • 视图:一个虚表,由一个或者几个基本表导出的表
  • 存储文件:存储文件的逻辑结构组成了关系数据库的内模式

3.3模式的定义和删除

  • 创建—create database<模式名>
  • 删除—drop database<模式名>

3.4基本表的定义,删除和修改

  • 创建:
  • Create table<表名>(列名 <数据类型> [列级完整性约束条件])
  • 修改
  • Alter  table<表名>(add/drop column)
  • 删除
  • Drop table<表名> [restrict | cascade]

restrict(表示限制,要删除的基本表不能被其他表的约束所引用,如果存在依赖该表的对象,则此表不能被删除)

Cascade(表示删除该表没有限制,在删除基本表的同时,依赖该表的所有对象一起删除)

主键和外键

Foreign key (<外码列名>)references <主码所在表名>(<主码列名>)

3.5索引的创建与删除

  • 创建
    create [unique] [cluster] index<索引名> on<表名>(<列名>[<次序>]……)
  • 删除
    drop index<表名。索引名>

3.6数据查询

Select 语句格式

Select   
from    
where  
group by   
order by

单表查询 

  • 取消重复行:distict
  • 确定集合:[not] in//=(常量1,常量2)
  • 字符匹配:like谓词和通配符来实现模糊查询

列名  [not]  like  '<匹配串>'  [dscape<'换码字符'>]

%:匹配0个或多个任意字符

_:匹配任意一个字符

  • 聚集函数:count/sum/avg/max/min

除count(*)外,其他函数在计算过程中忽略null值,聚集函数不能用于where,只能用于group by 和having中

  • 分组查询:group by--将查询结果按照某一列或者多列的值分组,值相同的元组为一组

多表连接查询

Inner join--内连接:显示符合条件的元组,系统默认内连接

Left join--左外连接:显示符合条件的数据行以及左边表中不符合条件的数据行,相应的右边数据行以null来显示

Right join--右外连接

Full join--完全连接

  • 等值连接:用=符号,没用就是非等值连接

嵌套查询

先求出内层查询,再求外层查询

 子查询的select不能使用order by子句,因为order by字句只能对最终查询结果进行排序

①子查询返回一个值

②子查询返回一组值

③使用exists谓词:若内层查询的结果非空,则外层的where子句返回真值,若内层查询结果为空,则外层where子句返回假值

④子查询不返回任何数据,只产生逻辑真值或者逻辑假值

 集合查询

  • select语句执行结果是元组集合,当两个查询语句的结果结构完全相同时可以对这两个查询1结果进行union、intersect(交),except(差)
  • 存储查询结果到表中--select…into存储到一个新建的数据表或者临时表中
  • 基于派生表的查询

子查询不仅可以出现在where子句中,还可以出现在from子句中,将子查询生成的历史派生表作为数据源

3.7数据更新

插入数据

  • 插入一个元组-->insert into <表名>  [<列名1>[<列名2>….]] values(<值1>[,<值2>]…)
  • 插入多个元素-->insert into <表名> [(<列名1>[,<列名2>…)]

删除数据

  • Delete from ….

修改数据

Update<表名>  set <列名>=<表达式>[,<列名>=<表达式>]… where <条件>
 

3.8视图

一个虚表,从一个或者几个基本表中导出的表,数据库中只存放视图的定义,不存放视图对应的数据

定义视图

create view<视图名> [<列名>[…]]   as  子查询
  • 子查询中不允许含有order by 和distict短语
  • 带可选项with check option 表示对视图进行更新操作时系统自动加上视图定义中的谓词条件

删除视图

drop view<视图名>

查询视图

select

更新视图

对视图的更新转换成对基本表的更新

  • 插入--insert into
  • 修改--update set

作用

  • 简化用户操作
  • 提供数据保密
  • 保证数据的逻辑独立性
  • 让用户多角度看待同一个数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值