预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共133页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

关系数据库标准语言SQL要点3.1SQL概述SQL的特点SQL语言的基本概念3.2数据定义定义基表SQL支持的数据类型完整性约束例:建立学生管理的相关基表例:建立图书管理的相关基表例:完整性约束修改基表删除基本表建立索引删除索引3.3查询SQL查询语句的格式SELECT*FROMStudent;查询实例定义别名ACCESS数据库中SQL例二、选择表中若干元组DISTINCT短语WHERE子句Where子句-比较大小Where子句-确定范围Where子句-确定集合Where子句-字符串匹配通配符例子换码字符Where子句-涉及空值的查询Where子句-多重条件查询练习三、对查询结果排序四、使用集函数实例五、对查询结果分组分组实例练习SELECTCOUNT(*)FROM货物;或SELECTCOUNT(DISTINCT货物号)FROM入库记录;SELECT货物号,SUM(数量)FROM入库记录GROUPBY货物号;3.3.2连接查询一、等值与非等值连接查询SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno;自然连接和广义笛卡尔积连接SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno;二、自身连接实例三、外连接外连接实例ACCESS中的外连接实例四、复合条件连接多表连接嵌套查询嵌套查询一、带有IN谓词的子查询例子三、带有ANY或ALL谓词的子查询例1例2转换关系四、带有EXISTS谓词的子查询例子替换关系全称量词逻辑蕴函例子例子3.3.4集合查询例子说明转换例子例子3.4数据更新3.4.1插入数据例子二、插入子查询结果3.4.2修改数据修改数据删除数据练习四、更新会带来的一致性问题3.5视图3.5.1定义视图例子从多个基表导出的视图带表达式的视图即:查询计算机系中年龄不大于19岁的学生——————事实上,用集函数实现子查询通常比直接用ANY或ALL查询效率要高SELECTSname,SageEXECSQLCLOSESX;SageINTEGER,FROMStudent;重复这一过程,直至外层查询中表的全部元组都被检查完为止。charHSno(5);SELECTSno,Sname,Sdept如:建立信息系选修了1号课程且成绩在90分以上的学生视图例查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列(见mdb示例)目标列是集函数或列表达式、多表连接时出现的同名列、启用新列名结束标志视不同的宿主语言而不同,如C语言中使用分号符表示结束REVOKEINSERTONTABLESCFROMU5;说明删除视图3.5.2查询视图例子例子例子系统对视图更新操作的一些规定视图的作用练习3.6数据控制3.6.1授权GRANTSELECTONTABLEStudentTOwang;GRANTUPDATE(Sname),SELECTONTABLEStudentTOU4;3.6.2收回权限REVOKEUPDATE(Sno)ONTABLEStudentFROMU4;练习作业3.7嵌入式SQL嵌入式SQL将SQL嵌入到某种高级语言(又称宿主语言,或主语言)中使用,利用高级语言的过程性结构来弥补SQL实现复杂应用方面的不足SQL语句负责操纵数据库,主语言语句负责控制程序流程使用嵌入式SQL必须解决的三个问题3.7.1嵌入式SQL的一般形式……EXECSQLINCLUDESQLCA;EXECSQLBEGINDECLEARSECTION;charHSno(5);charHName(20);EXECSQLENDDECLEARSECTION;……EXECSQLSELECTSno,SnameINTO:HSno,:HName;FROMStudent;……DBMS处理嵌入式SQL语言的两种方法嵌入式SQL与宿主语言之间的通信机制SQL通信区主变量指示变量游标游标的使用游标的使用实例嵌入SQL的应用通过游标的更新和删除动态SQL介绍小结通过可以嵌套SQL的宿主语言通过应用程序接口,允许将SQL查询送给数据库ODBCJDBC其它,如RDO,ADO和OLEDBVB中SQL的实现PrivateSubForm_Load()DimmpathAsStringMpath=App.Path//获取当前路径=mpath+”Student.mdb”=”基本情况”EndSubVB中SQL的实现PrivateSubCommand5_Click()DimmzyAsStringmzy=InputBox$("请输入专业","查找窗")Data1.RecordSource="Select*From基本情况Wh