5_4关系数据库语言SQL.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5_4关系数据库语言SQL

5.4 关系数据库语言SQL; SQL语言将数据定义语言DDL、数据操纵语 言DML、数据控制语言DCL的功能集于一体, 可独立完成数据库生命周期中的定义关系模 式、插入数据、建立数据库、查询、更新、 维护、数据库重构、数据库安全性控制等一 系列操作要求。数据库系统投入运行后可随 时地逐步地修改模式,且并不影响数据库的 运行,从而使系统具有良好的可扩展性。; SQL语言两种使用方式: 1.是联机交互使用,用户可以在终端键盘上直接键入SQL命令对数据库进行操作; 2.是嵌入某种高级程序设计语言(例如C, C++,Visual Basic)中使用。 ;SQL特点3:高度非过程化; SQL语言功能极强,但语言十分简捷,完成核心功能只用了9个动词(如下表)。SQL语言接近英语句子,因此容易学习,容易使用。;SQL命令;5.4.2 数据库定义;关系Courses ;1.表的建立;例1 建立学生表Students,要求Sno和Sname不能为空值???;练习1 建立课程表courses,要求cno不能为空值。;2.表的修改;例 要在学生表Students增加学生住址列nation_place,其语句为;例 要将学生表Students的学生住址列nation_place的长度概为20,其语句为;3.表的删除;4.索引的建立;例 为学生选课数据库中的Reports建立索引。按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:;5.索引的删除;5.4.3 数据查询;Select-from-where句型 该句型是根据下面最常用的关系表达式而设计的:;1.单表查询;例 查询全体学生的详细记录。其语句为:;例 查询全体学生的姓名(sname)、出生年份及 学号(sno)其语句为:;例 查询全体学生的姓名、学号和出生年份,并标识出此年份是Birthday,语句为:;例 查询选修了课程的学生学号,其语句为:; 4) 带搜索条件(where)的检索;比较条件查询;练习1.查询年龄小于20岁的数学系的学生纪录。;语法: Where 表达式1 [NOT] BETWEEN 表达式2 AND 表达式3, 等价于 表达式1=表达式2 且 目标列=表达式3 ;语法: Where 表达式 [NOT] IN ( 取值清单);;语法: Where 列名 [NOT] LIKE 字符串常数;;例 查询所有不姓刘的学生姓名(sname) 和年龄(sage)。;语法: Where 列名 IS [NOT] NULL;;练习 查询没有成绩的学生学号(Sno)和课程号(Cno)。其语句为:;2.多表查询;例 找出选修课的成绩小于80分的学生姓名,其语句为:;练习 检索选修数据库课程的学生学号和成绩,其语句为:;练习 查询数据库课程成绩小于80分的学生学号和成绩,其语句为:;练习 查询数据库课程成绩小于80分的学生学号和姓名,其语句为:;3.附加子句;例 找出学生的最小年龄,其语句为:;2)GROUP BY和HAVING的使用;例 查询选修了3门或3门以上课程的学生 学号(Sno):;3)ORDER BY的使用;5.4.4 数据修改;1.数据的插入;例 将一个学生元组(S01,王建平,男,21, 计算机)添加到基本表Students中:;2)插入子查询结果 INSERT INTO 表名 [(属性列1[,属性列2…]] 子查询;2.数据的修改;例 学号为s02的同学的数据库补考及格,成绩78分,请修改Reports表,其语句为:;例 把数据库不及格的成绩全改为空值,语句为:;update reports set grade=78 where grade in (select grade from reports,students,courses where sname=刘华 and grade60 and students.sno=reports.sno and reports.cno=courses.cno);;3.数据的删除;例 学号为s02同学的数据库补考及格,请删除表 FAIL中的记录,语句为:;视图;SQL语言用CREATE VIEW命令建立视图,其一般格式为 CREATE VIEW 视图名 [(列名 [,列名 ] … )] AS 子查询 [WITH CHECK OPTION];;例 建立一个包括学生的姓名、课程名和成绩的视图,语句为:;2) 视图的修改;3) 视图的删除;学习要求

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档