第3章关系数据库查询语言SL 数据库原理与应用 第3章关系数据库查询语言SQL 3.1SQL语言概述 3.2数据定义语言(DDL) 3.3数据查询 3.4数据更新 3.5视图 3.6数据控制 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 第3章 关系数据库查询语言SQL 3.1 SQL语言概述 3.2 数据定义语言(DDL) 3.3 数据查询 3.4 数据更新 3.5 视图 3.6 数据控制
第3章关系数据库查询语言SL 数据库原理与应用 3.1SQL语言概述 SQL: Structured Query Language结构化查询语言 1974年提出,经过几十年发展已成为国际标准,是一个通用的、功能极强的 关系数据库语言,目前已成为关系数据库的标准语言。设计巧妙,语言简洁。 SQL语言主要组成部分 4数据定义语言(DL, Data Definition Language) 4数据操纵语言(DML, Data Manipularion Language) 数据控制语言(DCL, Data Control Language) 表3.1SQL语言动词表 SQL功能 相关动词 数据定义 Create、Drop、 Alter 数据查询 Select 数据操纵 Insert、 Update、 Delete 数据控制 Grant、 Revoke 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 3.1 SQL语言概述 SQL : Structured Query Language—结构化查询语言 1974年提出,经过几十年发展已成为国际标准,是一个通用的、功能极强的 关系数据库语言,目前已成为关系数据库的标准语言。设计巧妙,语言简洁。 SQL语言主要组成部分 数据定义语言(DDL,Data Definition Language) 数据操纵语言(DML,Data Manipularion Language) 数据控制语言(DCL,Data Control Language) 表3.1 SQL语言动词表 SQL功能 相关动词 数据定义 Create、Drop、Alter 数据查询 Select 数据操纵 Insert、Update、Delete 数据控制 Grant、Revoke
第3章关系数据库查询语言SL 数据库原理与应用 SQL语言支持关系数据库三级模式结构: SOL 外 模式 视图1 视图2 模式 kaa。a。a。aa。。aa。。。aaa。。。。。a。 ●。0000。。 基本表1基本表2基本表3基本表4模式 存储文件1 存储文件2 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 SQL语言支持关系数据库三级模式结构: 外 模式 模式 内模式 存储文件1 存储文件2 基本表1 基本表2 基本表3 基本表4 视图1 视图2 SQL
第3章关系数据库查询语言SQL 数据库原理与应用 3.2数据定义语言(DDL) 数据定义语言:数据定义功能包括定义表、定义视图、定义索引。由于视图 是基于基本表的虚表,索引是依附于基本表的,因此SL不提供修改视图 定义和修改索引定义的操作。 表3.2SQL的数据定义语句 操作对象 操作方式 创建 删除 修改 表 Create Table Drop Table Alter Table 视图 Create View Drop View Alter View 索引 Create Index Drop Index
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 3.2 数据定义语言(DDL) 数据定义语言:数据定义功能包括定义表、定义视图、定义索引。由于视图 是基于基本表的虚表,索引是依附于基本表的,因此SQL不提供修改视图 定义和修改索引定义的操作。 表3.2 SQL的数据定义语句 操作对象 操 作 方 式 创 建 删 除 修 改 表 Create Table Drop Table Alter Table 视图 Create View Drop View Alter View 索引 Create Index Drop Index
第3章关系数据库查询语言SQL 数据库原理与应用 、定义基本表 建立数据库最重要的一步就是定义一些基本表。 定义基本表命令格式如下: CREATE TABLE(列名入数据类型> (长度)[列级完整性约束条件] [,<列名〉数据类型 [列级完整性约束条件].); 例3.1建立学生档案表 XSDAB,其中属性包括:学号(XH)、姓名(ⅫM)、出生年 月(CSNY)、性别(ⅫB)、民族MZ、政治面貌(ZZM)、系别编号(XBBH 年级(NJ)、班级(BJ)、专业编号(ZYBH)。其中,学号属性不能为空,并且 其值是惟一的。 Create Table XSDAB (XH Char(8) NotNull Unique, XM Char(8),CSNY Date, XB Char(2), MZ Char(4), ZZMM Char(4), XBBH Char(1), NJ Char(2), BJ Char(8), ZYBH Char(2)) 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 一、定义基本表 建立数据库最重要的一步就是定义一些基本表。 定义基本表命令格式如下: CREATE TABLE ( (长度)[列级完整性约束条件] [, [列级完整性约束条件]]…); 例3.1 建立学生档案表XSDAB,其中属性包括:学号(XH)、姓名(XM)、出生年 月(CSNY)、性别(XB)、民族(MZ)、政治面貌(ZZMM)、系别编号(XBBH)、 年级(NJ)、班级(BJ)、专业编号(ZYBH)。其中,学号属性不能为空,并且 其值是惟一的。 Create Table XSDAB(XH Char(8) NotNull Unique,XM Char(8),CSNY Date,XB Char(2),MZ Char(4),ZZMM Char(4),XBBH Char(1),NJ Char(2),BJ Char(8),ZYBH Char(2)) ;
第3章关系数据库查询语言SQL 数据库原理与应用 修改基本表 ALTER TABLEADD (长度)[完整性约束]|[DROP] LMODIFY(长度)] 其中:ADD子句用于增加新列; DROP子句用于删除指定的完整性约束条件; MODIFY一子句用于修改原有的列定义; “|”一表示上述三个子句只能选其一。新增加的列一律为空值 例3.2向 XSDAB表中增加年龄(M)一列,数据类型为整型,长度为2位。 Alter Table XSDAB Add NL Integer ( 2) 例3.3将 XSDABI中学号的数据类型改为整数。 Alter Table XSDAB Modify Integer; 注意;修改原有的列定义时会破坏已有数据,甚至丢失。 例3.4删除关于学号必须取惟一值的约束。 Alter Table XSDAB Drop unique (XH) 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 二、修改基本表 ALTER TABLE ADD (长度) [完整性约束] | [DROP ] | [MODIFY (长度)]; 其中:ADD—子句用于增加新列; DROP—子句用于删除指定的完整性约束条件; MODIFY—子句用于修改原有的列定义; “ | ” —表示上述三个子句只能选其一。 新增加的列一律为空值 例3.2 向XSDAB表中增加年龄(NL)一列,数据类型为整型,长度为2位。 Alter Table XSDAB Add NL Integer(2); 例3.3 将XSDAB中学号的数据类型改为整数。 Alter Table XSDAB Modify Integer; 注意;修改原有的列定义时会破坏已有数据,甚至丢失。 例3.4 删除关于学号必须取惟一值的约束。 Alter Table XSDAB Drop unique(XH)
第3章关系数据库查询语言SQL 数据库原理与应用 删除基本表 DROP TABLE; 例3.5删除学生档案表( XSDAB)。 Drop Table XSDAB 执行此命令后,基本表不在,数据和索引将自动被删除。 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 三、删除基本表 DROP TABLE ; 例3.5 删除学生档案表(XSDAB)。 Drop Table XSDAB; 执行此命令后,基本表不在,数据和索引将自动被删除
第3章关系数据库查询语言SQL 数据库原理与应用 四、建立索引 建立索引是加快表的查询速度的有效手段,在一个基本表上可建立一个或多 个索引。 CTRETE INDEX[[,]]. 各列用逗号分隔,次序为升序(ASC)和降序(DESC) A]: Create index Sname on XSDAB(XM) 例: Create index Sno on XSDAB(ⅫH); 五、删除索引 DROP INDEX; 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 四、建立索引 建立索引是加快表的查询速度的有效手段,在一个基本表上可建立一个或多 个索引。 CTRETE INDEX ON ([][,[]]…) ; 各列用逗号分隔,次序为升序(ASC)和降序(DESC) 例:Create index Sname on XSDAB(XM); 例:Create index Sno on XSDAB(XH); 五、删除索引 DROP INDEX ;
第3章关系数据库查询语言SQL 数据库原理与应用 3.3数据查询 语句一般格式: SELECT[ALL| DISTINCT] FROM] [ ORDER BY<列名〉 [ GROUP BY<列名〉]; 根据子句的条件表达式从子句指定的基本表或视图中找出满足条件的元 组,再按子句中的目标列表达式,选出元组中的属性形成结果表。 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 3.3 数据查询 语句一般格式: SELECT [ALL | DISTINCT] FROM [ WHERE ] [ ORDER BY ] [ GROUP BY ] ; 根据子句的条件表达式从子句指定的基本表或视图中找出满足条件的元 组,再按子句中的目标列表达式,选出元组中的属性形成结果表
第3章关系数据库查询语言SQL 数据库原理与应用 、单表查询 1、目标列的设置 (1)以字段名(属性名)作为目标表达式,逗号分隔 例1: SelectⅫH,XM, CSNY From XSDAB; 2)选择表中的全部列,列出全部字段名或用*号 例2: SelectⅪH,MM,CSNY,ⅫB,MZ,ZZM,XBH,NJ,BJ,ZYBH From XSDAB 或 Select* From XSDAB 3使用表达式属性列的计算 v] 3: Select XH, XM YEAR( DATE ()) YEAR( CSNY From XSDAB DATE O 取系统日期 YEAR O 取日期中的年份 NJ(年龄)属性不存在,通过计算得到 例4: Select XH,语文+数学From成绩表; 上一页下一页
上一页 下一页 第3章 关系数据库查询语言SQL 数据库原理与应用 一、单表查询 1、目标列的设置 ⑴ 以字段名(属性名)作为目标表达式,逗号分隔 例1:Select XH, XM, CSNY From XSDAB; ⑵ 选择表中的全部列,列出全部字段名或用*号 例2:Select XH,XM,CSNY,XB,MZ,ZZMM,XBBH,NJ,BJ,ZYBH From XSDAB; 或 Select * From XSDAB ; ⑶使用表达式—属性列的计算 例3:Select XH,XM,YEAR ( DATE ( ) ) — YEAR ( CSNY ) From XSDAB; DATE()—— 取系统日期 YEAR()—— 取日期中的年份 NJ(年龄) 属性不存在,通过计算得到 例4:Select XH,语文+数学 From 成绩表;