资源预览内容
第1页 / 共59页
第2页 / 共59页
第3页 / 共59页
第4页 / 共59页
第5页 / 共59页
第6页 / 共59页
第7页 / 共59页
第8页 / 共59页
第9页 / 共59页
第10页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第10章 关系数据库标准语言SQL第10章 关系数据库标准语言SQL第10章 关系数据库标准语言SQL教学目标 掌握SQL修改表结构的规则与方法 ; 掌握SQL修改数据的规则与方法 ; 掌握SQL数据查询功能的语句规则和特点。重点与难点:表定义中数据完整性规则的设定、多表连接查询的方法与使用规则、在分组查询中使用函数的规则和方法、使用嵌套子查询的方法和规则、综合应用SQL数据查询功能完成实际问题的能力。 第10章 关系数据库标准语言SQL10.1 SQL 概述 第10章 关系数据库标准语言SQLSQL是Structured Query Language的缩写,即结构化查询语言,是关系数据库的标准语言。 主要特点: SQL是一种功能齐全的一体化语言。 SQL是一种高度非过程化的语言 。 SQL语言简洁,易学易用。 语言共享 。第10章 关系数据库标准语言SQLSQLSQL的历史的历史SQLSQL语言最初是由语言最初是由IBMIBM公司公司19741974年在原型的年在原型的 关系数据库管理系统关系数据库管理系统SYSTEM RSYSTEM R上开发的语言上开发的语言 。19791979年,年,ORACLEORACLE公司首家推出商业上可执公司首家推出商业上可执 行的行的SQLSQL。如今,如今,SQLSQL成为国际上标准的数据库存取成为国际上标准的数据库存取 语言。泛应用的各种大型数据库,如语言。泛应用的各种大型数据库,如SYBASESYBASE 、INFORMIXINFORMIX、 ORACLEORACLE、DB2DB2、INGRESINGRES等,也等,也 用于各种小型数据库,如用于各种小型数据库,如FOXPROFOXPRO、ACCESSACCESS。第10章 关系数据库标准语言SQLSQLSQL的标准的标准随着关系数据库系统和SQL语言应用的日益广泛,SQL语言的 标准化工作也在紧张革进行着,十多年来已制订了多个SQL 标准; 1. 1982年,美国国家标准化局(AMERICAN NATIONAL STANDARD INSTITUTE,简称ANSI)开始制定SQL标准; 2. 1986年,美国国家标准化协会公布了SQL语言的第一 个标准SQL86; 3. 1987年,国际标准化组织(ISO)通过了SQL86标准; 4. 1989年,国际标准化组织(ISO)对SQL86进行了补充 ,推出了SQL89标准; 5. 1992年,ISO又推出了SQL92标准,也称为SQL2; 6. 目前SQL99(也称为SQL3)在起草中,增加了面向对 象的功能。第10章 关系数据库标准语言SQLSQL语言可以分成以下几组:数据定义语言DDL(Data Definition Language):包括定义、修改与删除基本表及建立与删除索引等。 数据操纵语言DML(Data Manipulation Language):包括插入、修改与删除数据等。 数据查询语言DQL(Data Query Language):包括单表查询、连接查询、嵌套查询等各种查询功能。 数据控制语言DCL(Data Control Language):包括数据的安全性控制、数据的完整性控制、数据库的恢复及并发控 制等功能。第10章 关系数据库标准语言SQL名称名称动词动词动词动词功能功能 数据查询数据查询 SELECTSELECT查询查询查询查询 数据数据数据定义数据定义 CREATECREATE,DROPDROP,ALTERALTER定定义义义义、撤消和修改、撤消和修改 数据模式数据模式 数据操纵数据操纵 INSERTINSERT,UPDATEUPDATE,DELETEDELETE增、增、删删删删、改数据、改数据数据控制数据控制 GRANTGRANT,REVOKEREVOKE数据数据访问权访问权访问权访问权 限的控制限的控制其作用是建立和使用数据库。其作用是建立和使用数据库。第10章 关系数据库标准语言SQLSQL语言的基本概念 首先介绍两个基本概念:基本表和视图。 基本表(BASE TABLE):是独立存在的表,不 是由其它的表导出的表。一个关系对应一个基 本表,一个或多个基本表对应一个存储文件。 视图(VIEW):是一个虚拟的表,是从一个或 几个基本表导出的表。它本身不独立存在于数 据库中,数据库中只存放视图的定义而不存放 视图对应的数据,这些数据仍存放在导出视图 的基本表中。当基本表中的数据发生变化时, 从视图中查询出来的数据也随之改变。在 ACCESS中查询所建立起来的”表”就是视图.第10章 关系数据库标准语言SQL用户用户1 1用户用户2 2用户用户3 3用户用户4 4视图视图3 3视图视图1 1视图视图2 2基本表基本表1 1基本表基本表2 2基本表基本表3 3基本表基本表4 4存储文件存储文件1 1存储文件存储文件1 1SQLSQL用户用户视图视图基基 本本 表表存储文件存储文件外模式外模式模式模式内模式内模式表表第10章 关系数据库标准语言SQL10.2 数据定义第10章 关系数据库标准语言SQL 一.创建表格式: CREATE TABLE ( (长度) PRIMARY KEY NOT NULL, (长度) NOT NULL) 功能:创建一个数据表的结构。 说明: :要创建的数据表的名字。 :要创建的数据表的字段名和字段类型。 字段长度仅限于文本及二进制字段。 PRIMARY KEY:表示将该字段定义为主键。 NOT NULL:不允许字段值为空,而NULL允许字段值为空。第10章 关系数据库标准语言SQL例10.1 在职工管理数据库中建立一个数据表“职工”,表结构由职工号、姓名、性别、职称、部门、出生日期、婚否等字段组成 。并设置“职工号”为主键。操作步骤如下: 创建“职工管理”数据库。 在“职工管理”数据库窗口中选择“查询”对象。 双击“在设计视图中创建查询”,关闭弹出的“显示表”对话框,打开查询设计视图窗口。 选择“查询”菜单中“SQL特定查询”下的“数据定义”命令项, 打开“数据定义查询”窗口。 在“数据定义查询”窗口中输入SQL语句,每个数据定义查询只能包含一条数据定义语句。第10章 关系数据库标准语言SQLCREATE DATABASE 职工管理CREATE TABLE 职工(职工号 TEXT(5) PRIMARY KEY,姓名 TEXT(4),性别 TEXT(1),职称 TEXT(4),部门 TEXT(8),出生日期 DATE,婚否 LOGICAL) 保存查询为“数据表定义查询(职工)”,查询建立完毕。 运行查询。在设计视图中,单击工具栏上的“运行”按钮,执 行SQL语句,完成创建表的操作。 在数据库窗口中单击“表”对象,可以看到在“表”列表框中多 了一个“职工”表,这就是用SQL的定义查询创建的表。第10章 关系数据库标准语言SQL例10.2 在职工管理数据库中建立一个数据表“工资”,并通过“职工号”字段建立与“职工”表的关系。CREATE TABLE 工资(职工号 TEXT(5) PRIMARY KEY REFERENCES 职工,工资 Single, 津贴 Single, 所得税 Single, 公积金 Single, 水电费 Single,应扣 Single, 实发 Single)其中的“REFERENCES 职工”表示与“职工”表建立关系。第10章 关系数据库标准语言SQL格式: DROP TABLE 功能:删除指定的数据表文件。说明:一定要慎用DROP TABLE语句,一旦使用以后就无法恢复表或其中的数据,此表上建立的索引也将自动删除,并且无法恢复。二. 删除表第10章 关系数据库标准语言SQL例10.3 删除例10.2建立的工资表。操作步骤如下: 打开“数据定义查询”窗口。 输入删除表的SQL语句:DROP TABLE 工资 单击工具栏上的“运行”按钮,完成删除表的操作,“工资”表将从“职工管理”数据库窗口消失。第10章 关系数据库标准语言SQL三、修改表的结构格式一: ALTER TABLE ADD (长度) , (长度) DROP , ALTER (长度) , (长度) 功能:修改指定的数据表的结构。 说明: :要修改的数据表的名字。 ADD子句用于增加新的字段。 DROP子句用于删除指定的字段。 ALTER子句用于修改原有字段的定义,包括字段名、数据类型和字段的长度。 应注意ADD子句、DROP子句和ALTER子句不能同时使用。第10章 关系数据库标准语言SQL例10.4 为职工表增加一个电话号码字段。操作步骤如下: 在“职工管理”数据库窗口中选择“查询”对象。 双击“在设计视图中创建查询”,关闭弹出的“显示表”对话框,打开查询设计视图窗口。 选择“查询”菜单中“SQL特定查询”下的“数据定义”命令项, 打开“数据定义查询”窗口。 在“数据定义查询”窗口中,输入修改表结构的SQL语句:ALTER TABLE 职工 ADD 电话号码 Text(8) 单击工具栏上的“运行”按钮,完成修改表结构的操作。第10章 关系数据库标准语言SQL例10.5 将职工表的姓名字段的宽度由原来的6改为8,SQL语句如下:ALTER TABLE 职工 ALTER 姓名 Text(8)例10.6 删除职工表“电话号码”字段,SQL语句如下:ALTER TABLE 职工 DROP 电话号码第10章 关系数据库标准语言SQL10.3 数据操作第10章 关系数据库标准语言SQL一. 插入记录格式: INSERT INTO () VALUES ()功能:在指定的数据表的尾部添加一条新记录。 说明: :要插入数据的表的名字。 为数据表要插入新值的字段。 VALUES(表达式清单)为数据表要插入新值的各字段的数据值。 和VALUES子句中(表达式清单)的个数和数据类型要完全一致。 若省略,则数据表中的所有字段必须在VALUES子句中都有相应的值。第10章 关系数据库标准语言SQL例10.7 在职工表尾部添加一条新记录。操作步骤如下: 在“职工管理”数据库窗口中,打开“数据定义查询”窗口。 输入SQL语句: INSERT INTO 职工(职工号,姓名,性别,职称,部门,出生日期,婚否) VALUES(“01001“,“陈周“,“男“,“教授“,“计算机“,#1958-03-05#,yes) 单击工具栏上的“运行”按钮,完成插入数据的操作。例10.8 在职工表尾部插入第二条记录,SQL语句如下: INSERT INTO 职工 VALUES(“03021“,“刘杨“,“女“,“副教授“, “管理“,#1962-06-18#,no)第10章 关系数据库标准语言SQL格式: UPDATE SET =表达式1 ,=表达式2WHERE 功能:根据WHERE子句指定的条件,对指定记录的字段值进行更新。 说明: :要更新数据的表的名字。 =是指用的值替代的值,一次可更新多个字段的值。 若省略WHERE子句,则更新全部记录。 一次只能在单一的表中更新记录。二. 更新数据第10章 关系数据库标准语言SQL例10.9 计算工资表中的应扣和实发数。 在“职工管理”数据库窗口中,打开“数据定义查询”窗口。 输入SQL语句:UPDATE 工资 SET 应扣=所得税+公积金+水电费, 实发=工资+ 补贴-应扣 单击工具栏上的“运行”按钮,完成更新数据的操作。第10章 关系数据库标准语言SQL格式: DELETE FROM WHERE 功能:根据WHERE子句指定的条件,删除表中指定的记录。 说明: :要删除数据的表的名字。 若省略WHERE子句,则删除表中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号