第三讲 关系数据库标准语言SQL—1.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 关系数据库标准语言SQL 结构化查询语言(Structured Query Language,简称SQL) 介于关系代数与关系演算之间 包括查询、操纵、定义和控制四个方面 关系数据库的标准语言 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.1 SQL概述 SQL的特点 1. 综合统一 集DDL、DML、DCL于一体。 2. 高度非过程化 不用考虑如何实现,只需提出“做什么”,不关心“怎么做“。 3. 面向集合的操作方式 查询、插入、删除、更新操作对象及结果都是集合。 4. 以同一种语法结构提供两种使用方法 可交互式和嵌入式使用。 5. 语言简洁,易学易用 3.1 SQL概述 3.1 SQL概述 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.7 嵌入式SQL 3.2 数据定义 3.2 数据定义 3.2.1 定义、删除与修改基本表 3.2.2 建立与删除索引 3.2.1 定义、删除与修改基本表 一、定义基本表 二、删除基本表 三、修改基本表 一、定义基本表 一、定义基本表 一、定义基本表 常用完整性约束 主码约束: PRIMARY KEY 唯一性约束:UNIQUE(不能取相同值但允许多个空值) 非空值约束:NOT NULL 参照完整性约束: FOREIGN KEY (列名) REFERENCES 表名(列名 ) 一、定义基本表 一、定义基本表 [例2] 建立一个“学生选课”表SC,它由学号Sno、课程号Cno,成绩Grade组成,其中(Sno, Cno)为主码。 CREATE TABLE SC ( Sno CHAR(5) , Cno CHAR(3) , Grade INT, PRIMARY KEY (Sno, Cno) , FOREIGN KEY (Sno) REFERENCES S(Sno) , FOREIGN KEY (Cno) REFERENCES C(Cno)); 二、删除基本表 语句格式 DROP TABLE 表名;  [例3] 删除Student表 DROP TABLE Student ; ?   基本表删除后,表里的数据、表上的索引都会被删除,表上的视图往往仍然保留,但无法引用。   删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述。 三、修改基本表 语句格式 ALTER TABLE 表名 [ ADD 新列名 数据类型 [ 完整性约束 ] ] [ DROP 完整性约束名 ] [ MODIFY 列名 数据类型 ]; 表名:要修改的基本表 ADD子句:增加新列和新的完整性约束条件 DROP子句:删除指定的完整性约束条件 MODIFY子句:用于修改列名和数据类型 三、修改基本表 [例4] 向Student表增加“入学时间”列,其数据类型为日期型。  ALTER TABLE Student ADD Scome DATETIME ; 注:不论基本表中原来是否已有数据,新增加的列一律为空值。? [例5] 将年龄的数据类型改为半字长整数。 ALTER TABLE Student MODIFY Sage SMALLINT; 注:修改原有的列定义有可能会破坏已有数据 [例6] 删除学生姓名必须取唯一值的约束。  ALTER TABLE Student DROP UNIQUE(Sname) ; 三、修改基本表 删除属性列 间接删除 把表中要保留的列及其内容复制到一个新表中 删除原表 再将新表重命名为原表名 直接删除属性列:(SQL-99)  例:ALTER TABLE Student Drop Scome ; 3.2.2 建立与删除索引 一、建立索引 二、删除索引 索引 一、建立索引 语句格式: CREATE [UNIQUE] [CLUSTER] INDEX 索引名 ON 表名(列名[次序][,列名[次序] ]…); 用表名指定要建索引的基本表名字 索引可以建立在该表的一列或多列上,各列名之间用逗号分隔 用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC UNIQUE表明此索引的每一个索引值只对应唯一的数据记录 CLUSTER表示要建立的索引是聚簇索引 一、建立索引 [例7] 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Studen

文档评论(0)

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

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

1亿VIP精品文档

相关文档