- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章主要内容 1) 一体化特点 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。 另外,在关系模型中,实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需一种操作符。 2) 高度的非过程化 用SQL语言进行数据库操作时,用户只需提出“做什么”,而不必指明“怎么做”。 用户无需了解数据存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。 3) 面向集合的操作方式 非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。 例如查询所有平均成绩在80分以上的学生姓名,用户必须一条一条地把满足条件的学生记录找出来(通常要说明具体处理过程,即按照哪条路径,如何循环等)。 而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 4) 以同一种语法结构提供两种使用方式 SQL语言既是自含式语言,又是嵌入式语言。 作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作; 作为嵌入式语言,SQL语句能够嵌入到高级语言(例如C,COBOL,PL/1等)程序中,供程序员设计程序时使用。 在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方法的做法,提供了极大的灵活性与方便性。 5) 语言简洁,易学易用 SQL语言功能极强,由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词,如表7-7所示。 而且SQL语言语法简单,接近英语口语,因此容易学习,容易使用。 SQL语言支持关系数据库三级模式结构,如下图所示。 其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。 基本表是本身独立存在的表,视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。 一个或多个基本表对应一个存储文件,一个基本表可以带若干索引,索引也存放在存储文件中。存储文件的逻辑结构组成了关系数据库的内模式。 由于视图是基于基本表的虚表,索引是依附于基本表的,因此SQL通常不提供修改视图定义和修改索引定义的操作。 用户如果想修改视图定义或索引定义,只能先将它们删除掉,然后再重建。不过有些关系数据库产品如Oracle允许直接修改视图定义。 例:向emp表增加职工工作时间come列,其数据类型为日期型。 ALTER TABLE emp ADD come DATE; 不论基本表中原来是否已有数据,新增加的列一律为空值。 例:为职工表emp建立索引,按职工号升序和姓名降序建惟一索引。 CREATE UNIQUE INDEX no_index ON emp(eno ASC, ename DESC); SELECT [ALL | DISTINCT] 目标列表达式 [,目标列 表达式] … FROM 表名或视图名 [,表名或视图名] … [WHERE 条件表达式] [GROUP BY 列名1 [HAVING 条件表达式]] [ORDER BY 列名2 [ASC | DESC] 如果有GROUP子句,则将结果按列名1的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一个元组,通常会在每组中作用集函数。如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。 如果有ORDER子句,则结果表还要按列名2的值的升序或降序排序。 1.简单查询 2.连接查询 3.嵌套查询 4.集合查询 例: 查询所有姓刘的学生的信息。 SELECT * FROM Student WHERE Sname LIKE 刘% ; LIKE谓词的一般形式为 列名 [
文档评论(0)