关系数据库标准语言SQL浙大城院数据库.ppt
《关系数据库标准语言SQL浙大城院数据库.ppt》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL浙大城院数据库.ppt(59页珍藏版)》请在三一办公上搜索。
1、第10章关系数据库标准语言SQL,教学目标,掌握SQL修改表结构的规则与方法;掌握SQL修改数据的规则与方法;掌握SQL数据查询功能的语句规则和特点。,重点与难点:表定义中数据完整性规则的设定、多表连接查询的方法与使用规则、在分组查询中使用函数的规则和方法、使用嵌套子查询的方法和规则、综合应用SQL数据查询功能完成实际问题的能力。,10.1 SQL 概述,SQL是Structured Query Language的缩写,即结构化查询语言,是关系数据库的标准语言。主要特点:SQL是一种功能齐全的一体化语言。SQL是一种高度非过程化的语言。SQL语言简洁,易学易用。语言共享。,SQL的历史 SQL
2、语言最初是由IBM公司1974年在原型的关系数据库管理系统SYSTEM R上开发的语言。1979年,ORACLE公司首家推出商业上可执行的SQL。如今,SQL成为国际上标准的数据库存取语言。泛应用的各种大型数据库,如SYBASE、INFORMIX、ORACLE、DB2、INGRES等,也用于各种小型数据库,如FOXPRO、ACCESS。,SQL的标准随着关系数据库系统和SQL语言应用的日益广泛,SQL语言的标准化工作也在紧张革进行着,十多年来已制订了多个SQL标准;1.1982年,美国国家标准化局(AMERICAN NATIONAL STANDARD INSTITUTE,简称ANSI)开始制定
3、SQL标准;2.1986年,美国国家标准化协会公布了SQL语言的第一个标准SQL86;3.1987年,国际标准化组织(ISO)通过了SQL86标准;4.1989年,国际标准化组织(ISO)对SQL86进行了补充,推出了SQL89标准;5.1992年,ISO又推出了SQL92标准,也称为SQL2;6.目前SQL99(也称为SQL3)在起草中,增加了面向对象的功能。,SQL语言可以分成以下几组:数据定义语言DDL(Data Definition Language):包括定义、修改与删除基本表及建立与删除索引等。数据操纵语言DML(Data Manipulation Language):包括插入、修
4、改与删除数据等。数据查询语言DQL(Data Query Language):包括单表查询、连接查询、嵌套查询等各种查询功能。数据控制语言DCL(Data Control Language):包括数据的安全性控制、数据的完整性控制、数据库的恢复及并发控制等功能。,其作用是建立和使用数据库。,SQL语言的基本概念首先介绍两个基本概念:基本表和视图。基本表(BASE TABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一个存储文件。视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。它本身不独立存在于数据库中,数据库中只存放视图的定义而不存
5、放视图对应的数据,这些数据仍存放在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。在ACCESS中查询所建立起来的”表”就是视图.,用户1,用户2,用户3,用户4,视图3,视图1,视图2,基本表1,基本表2,基本表3,基本表4,存储文件1,存储文件1,SQL用户,视图,基本表,存储文件,外模式,模式,内模式,表,10.2数据定义,一.创建表,格式:CREATE TABLE(长度)PRIMARY KEY NOT NULL,(长度)NOT NULL),功能:创建一个数据表的结构。说明:要创建的数据表的名字。:要创建的数据表的字段名和字段类型。字段长度仅限于文本及二
6、进制字段。PRIMARY KEY:表示将该字段定义为主键。NOT NULL:不允许字段值为空,而NULL允许字段值为空。,例10.1 在职工管理数据库中建立一个数据表“职工”,表结构由职工号、姓名、性别、职称、部门、出生日期、婚否等字段组成。并设置“职工号”为主键。操作步骤如下:创建“职工管理”数据库。在“职工管理”数据库窗口中选择“查询”对象。双击“在设计视图中创建查询”,关闭弹出的“显示表”对话框,打开查询设计视图窗口。选择“查询”菜单中“SQL特定查询”下的“数据定义”命令项,打开“数据定义查询”窗口。在“数据定义查询”窗口中输入SQL语句,每个数据定义查询只能包含一条数据定义语句。,C
7、REATE DATABASE 职工管理 CREATE TABLE 职工(职工号 TEXT(5)PRIMARY KEY,姓名 TEXT(4),性别 TEXT(1),职称 TEXT(4),部门 TEXT(8),出生日期 DATE,婚否 LOGICAL)保存查询为“数据表定义查询(职工)”,查询建立完毕。运行查询。在设计视图中,单击工具栏上的“运行”按钮,执行SQL语句,完成创建表的操作。在数据库窗口中单击“表”对象,可以看到在“表”列表框中多了一个“职工”表,这就是用SQL的定义查询创建的表。,例10.2在职工管理数据库中建立一个数据表“工资”,并通过“职工号”字段建立与“职工”表的关系。,CRE
8、ATE TABLE 工资(职工号 TEXT(5)PRIMARY KEY REFERENCES 职工,工资 Single,津贴 Single,所得税 Single,公积金 Single,水电费 Single,应扣 Single,实发 Single)其中的“REFERENCES 职工”表示与“职工”表建立关系。,格式:DROP TABLE,功能:删除指定的数据表文件。说明:一定要慎用DROP TABLE语句,一旦使用以后就无法恢复表或其中的数据,此表上建立的索引也将自动删除,并且无法恢复。,二.删除表,例10.3 删除例10.2建立的工资表。操作步骤如下:打开“数据定义查询”窗口。输入删除表的SQ
9、L语句:DROP TABLE 工资 单击工具栏上的“运行”按钮,完成删除表的操作,“工资”表将从“职工管理”数据库窗口消失。,三、修改表的结构,格式一:ALTER TABLE ADD(长度),(长度)DROP,ALTER(长度),(长度),功能:修改指定的数据表的结构。说明:要修改的数据表的名字。ADD子句用于增加新的字段。DROP子句用于删除指定的字段。ALTER子句用于修改原有字段的定义,包括字段名、数据类型和字段的长度。应注意ADD子句、DROP子句和ALTER子句不能同时使用。,例10.4 为职工表增加一个电话号码字段。操作步骤如下:在“职工管理”数据库窗口中选择“查询”对象。双击“在
10、设计视图中创建查询”,关闭弹出的“显示表”对话框,打开查询设计视图窗口。选择“查询”菜单中“SQL特定查询”下的“数据定义”命令项,打开“数据定义查询”窗口。在“数据定义查询”窗口中,输入修改表结构的SQL语句:ALTER TABLE 职工 ADD 电话号码 Text(8)单击工具栏上的“运行”按钮,完成修改表结构的操作。,例10.5 将职工表的姓名字段的宽度由原来的6改为8,SQL语句如下:ALTER TABLE 职工 ALTER 姓名 Text(8)例10.6 删除职工表“电话号码”字段,SQL语句如下:ALTER TABLE 职工 DROP 电话号码,10.3 数据操作,一.插入记录,格
11、式:INSERT INTO()VALUES(),功能:在指定的数据表的尾部添加一条新记录。说明:要插入数据的表的名字。为数据表要插入新值的字段。VALUES(表达式清单)为数据表要插入新值的各字段的数据值。和VALUES子句中(表达式清单)的个数和数据类型要完全一致。若省略,则数据表中的所有字段必须在VALUES子句中都有相应的值。,例10.7 在职工表尾部添加一条新记录。操作步骤如下:在“职工管理”数据库窗口中,打开“数据定义查询”窗口。输入SQL语句:INSERT INTO 职工(职工号,姓名,性别,职称,部门,出生日期,婚否)VALUES(01001,陈周,男,教授,计算机,#1958-
12、03-05#,yes)单击工具栏上的“运行”按钮,完成插入数据的操作。例10.8 在职工表尾部插入第二条记录,SQL语句如下:INSERT INTO 职工 VALUES(03021,刘杨,女,副教授,管理,#1962-06-18#,no),格式:UPDATE SET=表达式1,=表达式2WHERE,功能:根据WHERE子句指定的条件,对指定记录的字段值进行更新。说明:要更新数据的表的名字。=是指用的值替代的值,一次可更新多个字段的值。若省略WHERE子句,则更新全部记录。一次只能在单一的表中更新记录。,二.更新数据,例10.9 计算工资表中的应扣和实发数。在“职工管理”数据库窗口中,打开“数据
13、定义查询”窗口。输入SQL语句:UPDATE 工资 SET 应扣=所得税+公积金+水电费,实发=工资+补贴-应扣 单击工具栏上的“运行”按钮,完成更新数据的操作。,格式:DELETE FROM WHERE,功能:根据WHERE子句指定的条件,删除表中指定的记录。说明:要删除数据的表的名字。若省略WHERE子句,则删除表中全部记录。DELETE语句删除的只是表中的数据,而不是表的结构。,三.删除数据,例10.10将职工表中职工号为“03021”的记录删除。在“职工管理”数据库窗口中,打开“数据定义查询”窗口。输入SQL语句:DELETE FROM 职工 WHERE 职工号=03021 单击工具栏
14、上的“运行”按钮,完成删除数据的操作。,10.4 数据查询,一.SELECT查询命令,格式:SELECT ALL|DISTINCT|TOP n PERCENT|,FROM WHEREGROUP BY HAVING ORDER BY ASC|DESC,ASC|DESC,功能:,从FROM子句列出的表或查询中,选择满足WHERE子句中给出的条件的记录,然后按GROUP BY子句(分组子句)中指定字段的值分组,再提取满足HAVING 子句中过滤条件的那些组,按SELECT子句给出的字段名或字段表达式求值输出。ORDER BY子句(排序子句)是对输出的目标表进行重新排序,并可附加说明ASC(升序)或D
15、ESC(降序)排列。,说明:ALL:查询的结果中包含数据源中的所有记录。DISTINCT:查询的结果中不包含数据源中重复行的记录。:指定查询结果输出的字段,如果要包含数据源中的所有字段,可以使用通配符“*”。AS:如果在输出时不希望使用原来的字段名,可以用列名称重新设置。FROM:指出查询的数据来源。WHERE:说明查询条件,即选择记录的条件。,二.简单查询,格式:SELECT ALLDISTINCT AS,AS FROM WHERE,1.基本查询,例10.11查询学生表的全部字段。操作步骤如下:在“学生成绩管理”数据库窗口中选择“查询”对象。双击“在设计视图中创建查询”,关闭弹出的“显示表”
16、对话框,打开查询设计视图窗口。选择“视图”菜单的“SQL视图”命令项,打开“选择查询”窗口。输入SQL语句:SELECT*FROM 学生 保存查询,查询建立完毕。运行查询。,例10.12 查询学生表中所有学生的姓名和截至统计时的年龄,去掉重名。SQL语句如下:SELECT DISTINCT 姓名,YEAR(DATE()-YEAR(出生日期)AS 年龄 FROM 学生例10.13 查询学生表中所有已通过四级的男生记录。SQL语句如下:SELECT*FROM 学生 WHERE 性别=男 AND 四级通过=yes,2.带特殊运算符的条件查询,SELECT语句可以使用的特殊运算符有:(1)BETWEE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL 浙大

链接地址:https://www.31ppt.com/p-6553370.html