- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 数据库语言SQL 概述 SQL的发展 1974年,由Boyce和Chamberlin提出 1975~1979,IBM San Jose Research Lab的关系数据库管理系统原型System R实施了这种语言 SQL-86是第一个SQL标准 SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 概述 现状 大部分DBMS产品都支持SQL,成为操作数据库的标准语言 有方言,支持程度不同 概述——SQL的功能 数据定义(DDL) 定义、删除、修改关系模式(基本表) 定义、删除视图(View) 定义、删除索引(Index) 数据操纵(DML) 数据查询 数据增、删、改 数据控制(DCL) 用户访问权限的授予、收回 概述——SQL的形式 交互式SQL 一般DBMS都提供联机交互工具 用户可直接键入SQL命令对数据库进行操作 由DBMS来进行解释 概述——SQL的形式 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) 使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力 一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句 概述——SQL的动词 数据定义 Create、Drop、Alter 数据操纵 数据查询:Select 数据修改:Insert、Update、Delete 数据控制 Grant、Revoke 数据查询 数据查询是数据库应用的核心功能 基本结构 Select A1, A2, ..., An From r1, r2, ..., rm Where P πA1, A2, ..., An(?p(r1×r1×...×rm)) Select语句的含义 对 From 子句中的各关系,作笛卡儿积(×) 对 Where 子句中的逻辑表达式进行选择(σ)运算,找出符合条件的元组 根据 Select 子句中的属性列表,对上述结果作投影( π)操作 Select语句的含义 结果集 查询操作的对象是关系,结果还是一个关系,是一个结果集,是一个动态数据集 Select子句 对应于关系代数的投影(π)运算,用以列出查询结果集中的期望属性 Select子句——重复元组 SQL具有包的特性 Select 子句的缺省情况是保留重复元组( ALL ),可用 Distinct 去除重复元组 Select Distinct sdept From Student Select All sdept From Student 去除重复元组:费时 需要临时表的支持 Select子句—— *与属性列表 星号 * 表示所有属性 星号 * :按关系模式中属性的顺序排列,并具有一定的逻辑数据独立性 显式列出属性名:按用户顺序排列 Select * From Student Select Student.*,cno,grade From Student,SC Where Student.sno = SC.sno Select子句——更名 为结果集中的某个属性改名 使结果集更具可读性 Select sno as stu_no,cno as course_no, grade From SC Select sno,sname,2001 - sage as birthday From Student Where 子句 where子句对应与关系代数中的选择(σ) 查询满足指定条件的元组可以通过Where子句来实现 使where子句中的逻辑表达式返回True值的元组,是符合要求的元组,将被选择出来 Where 子句——运算符 比较:、=、、=、=、、not + ~ 确定范围: Between A and B、Not Between A and B 确定集合:IN、NOT IN 字符匹配:LIKE,NOT LIKE 空值:IS NULL、IS NOT NULL 多重条件:AND、OR、NOT Where 子句——Like 字符匹配:Like、Not Like 通配符 % —— 匹配任意字符串 _ —— 匹配任意一个字符 大小写敏感 Where 子句——Like 例:列出姓张的学生的学号、姓名。 Select sno,sname From Student Where sname LIKE ‘张%’ Where 子句——Like 例:列出张姓且单名的学生的学号、姓名。 Select sno,sname From Student Where sname LIKE ‘张_ _’ Where 子句——转义符 escape 例:列出课程名称中带有‘_’的课号及课名。 Select cno,cname From Course Where cname LIKE
文档评论(0)