文档详情

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

发布:2017-06-02约2.77万字共112页下载文档
文本预览下载声明
第三章 关系数据库标准语言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
显示全部
相似文档