网站大量收购独家精品文档,联系QQ:2885784924

[所有分类]关系数据库语言SQL.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[所有分类]关系数据库语言SQL

第三章 关系数据库语言SQL 3.1 SQL概 述 SQL语言集数据查询(data query)、数据操纵(data manipulation)、数据定义(data definition)和数据控制(data control)功能于一体,充分体现了关系数据语言的特点和优点。 1.综合统一 2.高度非过程化 3.面向集合的操作方式(元组集合) 4.以同一种语法结构提供两种使用方式(自含式,嵌入式) 5.语言简洁,易学易用 3.2 数据定义 3.2.1 定义、删除、修改基本表 例1 建立一个“学生”表 Student,它由学号Sno、姓名 Sname、性别 Ssex、年龄 Sage、所在系 Sdept 五个属性组成,其中学号属性不能为空,并且其值是唯一的。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(2), Sage INT, Sdept CHAR(15)) 2.修改基本表 例2 向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD Scome DATE 注意:修改原有的列定义有可能会破坏已有数据。 3.删除基本表 例3 删除 Student表 DROP TABLE Student 注意:基本表定义一旦删除,表中的数据、此表上建立的索引和视 图都将自动被删除。 3.2.2 建立与删除索引 1.建立索引 CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名> (<列名> [次序] [,<列名>[次序]]…) 次序可选ASC(升序)或DESC(降序),缺省为ASC。 注意: 建立聚簇索引后,更新索引列数据时,往往导致表中记录的 物理顺序的变更,代价较大。 例4 为学生—课程数据库中的 Student,Course两个表建立索引。其中 Student表按学号升序建立唯一索引,Course表按课程号降序建立唯一索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno) CREATE UNIQUE INDEX Cousno ON Course(Cno DESC) 2.删除索引 例5 删除 Student表的 Stusname索引 DROP INDEX Stusname 3.3 查 询 1.一般查询 以后均以下列三个表为操作对象: Student(Sno,Sname,Ssex,Sage,Sdept) Course(Cno,Cname,Cpno,Credit) SC(Sno,Cno,Grade) 例6 查询所有选修过课的学生的学号。 SELECT Sno FROM SC 等价于 SELECT All Sno FROM SC 要去掉重复行,应写: SELECT DISTINCT Sno FROM SC 2.条件查询 例7 查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别。 SELECT Sname,Ssex FROM Student WHERE Sdept IN (IS,MA,CS) 例8 查询学号为95001的学生的详细情况。 SELECT * FROM Student  WHERE Sno LIKE ’95001’ 等价于: SELECT * FROM Student  WHERE Sno = 95001 SQL提供的集函数: COUNT([DISTINCT|ALL] *) 统计元组个数 COUNT([DISTINCT|ALL]<列名>) 统计一列中值的个数 SUM([DISTINCT|ALL]<列名>) 计算一列值的总和(此列必须是数值型) AVG([DISTINCT|ALL<列名>) 计算一列值的平均值(此列必须是数值型) MAX([DISTINCT|ALLL]<列名>) 求一列中最大值 MIN([DISTINCT|ALL]<列名>) 求一

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档