- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章SQL语言3.1-3.3
2、 修改基本表 语句格式 ALTER TABLE 表名 [ ADD 新列名 数据类型 [ 完整性约束 ] ] [DROP COLUMN列名] [ DROP 完整性约束名 ] [ ALTER COLUMN 列名 数据类型 ]; 表名: 要修改的基本表 ADD子句: 增加新列和新的完整性约束条件 DROP子句: 删除指定的列或完整性约束条件 ALTER COLUMN子句: 用于修改列名和数据类型 第三章 SQL语言 例题 【例4】 向Student表增加“入学时间”列, 其数据类型为日期型。 ALTER TABLE Student ADD S-entrance DATE; 不论基本表中原来是否已有数据, 新增加的列一律为空值。? 如果基本表中原来已有数据, 新增列不可有NOT NULL约束。 第三章 SQL语言 例题 【例5】 将年龄的数据类型改为短整数。 ALTER TABLE Student ALTER COLUMN Sage SMALLINT; 注: 修改原有的列定义有可能会破坏已有数据 【例6 】 删除学生姓名必须取唯一值的约束 ALTER TABLE Student DROP UNIQUE(Sname); 第三章 SQL语言 3、删除基本表 语句格式 DROP TABLE 表名 CASCADE |RESTRICT;? RESTRICT:该表的删除是有限制条件的。欲删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数。如果存在这些依赖该表的对象,则该表不能被删除。缺省情况是RESTRICT。 CASCADE:该表的删除没有限制条件。在删除基本表的同时,相关的依赖对象将一起被删除。 【例7】 删除Student表。 DROP TABLE Student CASCADE; 第三章 SQL语言 四、 索引的建立与删除 建立索引是加快查询速度的有效手段。用户可以在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。 DBMS自动建立 PRIMARY KEY UNIQUE DBA或表的属主(即建立表的人)根据需要建立? 维护索引 DBMS自动完成? 使用索引 DBMS自动选择是否使用索引以及使用哪些索引 第三章 SQL语言 1、建立索引 语句格式 CREATE [UNIQUE] [CLUSTER] INDEX 索引名 ON 表名(列名[次序][, 列名[次序] ]…); 用表名指定要建索引的基本表名字; 索引可以建立在该表的一列或多列上, 各列名之间用逗号分隔; 用次序指定索引值的排列次序, 升序: ASC, 降序: DESC. 缺省值: ASC UNIQUE表明此索引的每一个索引值只对应唯一的数据记录 CLUSTER表示要建立的索引是聚簇索引,索引项的顺序与表中记录的物理顺序一致。 第三章 SQL语言 建立索引 (续) 唯一值索引 对于已含重复值的属性列不能建UNIQUE索引 对某个列建立UNIQUE索引后, 插入新记录时DBMS会自动检查新记录在该列上是否取了重复值,这相当于增加了一个UNIQUE约束。 聚簇索引 建立聚簇索引后, 基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致。 第三章 SQL语言 例题 【例8】 CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放 。 【例9】 为学生-课程数据库中的Student, Course, SC三个表建立索引。其中Student表按学号升序建唯一索引, Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC); 第三章 SQL语言 2、删除索引 语句格式 DROP INDEX 索引名; 删除索引时, 系统会从数据字典中删去有关该索引的描述. 【例10 】删除Student表的Stusname索引。 DROP INDEX Stusname; 第三章 SQL语言 * 第一章 数据库概论 第三章 SQL语言 学习要求 掌握关系数据库标准语言SQL的数
文档评论(0)