关系数据库标准语言 PPT讲稿.ppt

上传人:石*** 文档编号:48033168 上传时间:2022-10-04 格式:PPT 页数:25 大小:1.33MB
返回 下载 相关 举报
关系数据库标准语言 PPT讲稿.ppt_第1页
第1页 / 共25页
关系数据库标准语言 PPT讲稿.ppt_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《关系数据库标准语言 PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《关系数据库标准语言 PPT讲稿.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据库标准语言 第1页,共25页,编辑于2022年,星期五本节内容SQL概述数据定义数据查询数据操纵第2页,共25页,编辑于2022年,星期五 SQL概述SQL是结构化查询语言是结构化查询语言Structured Query Language的缩写。可以说查询是的缩写。可以说查询是SQL语言的重要组成部分,语言的重要组成部分,但不是全部,但不是全部,SQL还包括数据定义、数据操纵和还包括数据定义、数据操纵和数据控制功能等部分。数据控制功能等部分。SQL已成为关系数据库的已成为关系数据库的标准数据语言,所以现在的关系数据库管理系统标准数据语言,所以现在的关系数据库管理系统都支持都支持SQL。

2、SQL的特点:的特点:(1)一体化。集数据定义、数据查询、数据操纵、数据控一体化。集数据定义、数据查询、数据操纵、数据控制于一体。制于一体。(2)高度非过程化。只需告诉计算机做什么高度非过程化。只需告诉计算机做什么(what),无需告诉计算机怎么做无需告诉计算机怎么做(how)。(3)功能强大,简捷易用。功能强大,简捷易用。(4)提供两种使用方式:命令方式和嵌入方式。提供两种使用方式:命令方式和嵌入方式。第3页,共25页,编辑于2022年,星期五SQL命令动词SQL功能命令动词数据查询Select数据定义Create、drop、alter数据操纵Insert、update、delete数据控制

3、Grant、revoke第4页,共25页,编辑于2022年,星期五表结构表数据createalterdropselectinsertupdatedelete创建修改删除增加更新删除查询第5页,共25页,编辑于2022年,星期五10.6表结构定义定义(数据定义数据定义)SQL语言的数据定义功能包括表结构的增、删、改。语言的数据定义功能包括表结构的增、删、改。内容:内容:用用create table 表名表名()创建一个表的结构;创建一个表的结构;用用drop table 表名删除一个表(结构及数据);表名删除一个表(结构及数据);用用alter table 表名表名 add|drop|alter

4、修改表的结构。修改表的结构。第6页,共25页,编辑于2022年,星期五SQR数据类型VB数据类型数据类型 描述描述 Char String定长字符串定长字符串 Date Date 日期日期 Datetime Date 日期时间日期时间 Decimal Currency Int LongFloat Double Real Single Money Currency Number Currency Smallint Integer Varchar String 第7页,共25页,编辑于2022年,星期五10.6.1 定义表的结构定义表的结构考查一下表的结构,它由如下两部分组成:考查一下表的结构,它

5、由如下两部分组成:字段定义字段定义(字段名,类型,宽度,精度,索引,字段名,类型,宽度,精度,索引,空值否空值否)主关键字和外部关键字主关键字和外部关键字1、create table 语句基本结构语句基本结构 create table 表名表名(字段名字段名1 类型类型(宽度宽度,精度,精度)NULL|NOT NULL,字段名,字段名2 类型类型(宽度宽度,精,精度度)NULL|NOT NULL)例例1:建立仓库表:建立仓库表 create table 仓库仓库(仓库号仓库号 CHAR(3)NOT NULL,城市城市 CHAR(10),面积面积 INTEGER)第8页,共25页,编辑于2022

6、年,星期五(2)当主关键字或外部关键字是单个属性时当主关键字或外部关键字是单个属性时 更为简捷的方法是直接在该字段的定义后加上更为简捷的方法是直接在该字段的定义后加上primary key或或references 表名。表名。建立班级表时加入主键:例建立班级表时加入主键:例1create table 班级班级(班级代码班级代码 integer not null primary KEY,名称名称 char(12),班长班长 char(8),电话电话 CHAR(12)建立学生表时加入主键建立学生表时加入主键:例例2create table 学生学生(学号学号 char(12)not null pr

7、imary key,姓名姓名 char(8),性别性别 char(2),籍贯籍贯 char(8),班级代码班级代码 integer,计算机计算机 integer,外语外语 integer,数学数学 integer,平均成绩平均成绩 integer,总成绩总成绩 integer)第9页,共25页,编辑于2022年,星期五10.6.2 删除数据库中的表删除数据库中的表 drop table 表名表名 功能是直接从数据库中删除表名所对应的表。功能是直接从数据库中删除表名所对应的表。例:删除学生表例:删除学生表例例3:drop table 学生学生10.6.3 修改表的结构修改表的结构 alter t

8、able 表名表名 add|drop|alter,其中,其中add、drop、alter分别表示增、删、改。分别表示增、删、改。1、增加新字段、增加新字段例例4:alter table 学生学生 add 评语评语 char(10)2、删除字段、删除字段例例5:alter table 学生学生 drop 评语评语第10页,共25页,编辑于2022年,星期五3、修改旧字段修改旧字段 alter table 表名表名 alter column 字段名字段名 类型类型(宽度宽度,精度,精度)NULL|NOT NULL set default 表达式表达式set checkdrop defaultdro

9、p check将计算机字段的类型改为字符型将计算机字段的类型改为字符型例例6:Alter table 学生学生 alter 计算机计算机 char(10)第11页,共25页,编辑于2022年,星期五10.7 数据操纵数据操纵INSERT数据的插入数据的插入UPDATE数据的更新(修改)数据的更新(修改)DELETE数据的删除数据的删除第12页,共25页,编辑于2022年,星期五10.7.1 插入记录插入记录格式格式:insert into 表名表名(字段名字段名1,字段名字段名2,)values(表表达式达式1,表达式表达式2,)功能:在指定表中增加一条新记录。功能:在指定表中增加一条新记录。

10、例例7:在班级表中增加一条记录。:在班级表中增加一条记录。INSERT INTO 班级表班级表(班级代码班级代码,名称名称,班长班长,电话电话)VALUES(1,“企业管理企业管理”,“刘平刘平,7668000)例例8:在仓库表中:在仓库表中增加一条记录。增加一条记录。insert into 仓库表仓库表 values(WH5,太原太原,380)例例9:在学生表中增加记录:在学生表中增加记录insert into 学生表学生表(学号学号,姓名姓名,性别性别)values(200801011110,李平李平,女女)注意当前记录其它未插入数据的字段处为空。注意当前记录其它未插入数据的字段处为空。第

11、13页,共25页,编辑于2022年,星期五10.7.2 更新记录更新记录 格式:格式:update 表名表名 set 字段名字段名1=表达式表达式1,字段名,字段名2=表达式表达式2 where 条件条件功能:更新满足条件记录的字段值。功能:更新满足条件记录的字段值。例例10:给:给WH1仓库中的全体职工工资上调仓库中的全体职工工资上调10%update 职工职工 set 工资工资=工资工资*1.1 where 仓库号仓库号=“WH1”例例11:求所有学生的平均成绩和总成绩。:求所有学生的平均成绩和总成绩。update 学生学生 set 平均成绩平均成绩=(数学数学+外语外语+计算机计算机)/

12、3,总成总成绩绩=数学数学+外语外语+计算机计算机例例12:在仓库表中将所有城市名前加上:在仓库表中将所有城市名前加上“中国中国”两字。两字。update 仓库仓库 set 城市城市=“中国中国”+trim(城市城市)第14页,共25页,编辑于2022年,星期五10.7.3 删除记录删除记录 格式:格式:delete from 表名表名 where 条件条件功能:删除表中满足条件的记录。功能:删除表中满足条件的记录。例例13:删除职工表中仓库号值为:删除职工表中仓库号值为WH2的元组。的元组。delete from 职工职工 where 仓库号仓库号=“WH2”例例14:删除仓库表中仓库号值为

13、:删除仓库表中仓库号值为WH2的元组。的元组。delete from 仓库仓库 where 仓库号仓库号=“WH2”第15页,共25页,编辑于2022年,星期五10.8 数据查询select查询(select语句)是SQL的核心。基本格式:SELECT 目标列表达式 输出项列表 FROM 源表或视图列表 数据来源 WHERE 查询条件投影联接选择第16页,共25页,编辑于2022年,星期五10.8.1 目标列表达式目标列表达式1、查询指定列、查询指定列(投影运算投影运算)在大多数情况下,用户只对表中的部分字段感兴趣,在大多数情况下,用户只对表中的部分字段感兴趣,此时可在此时可在SELECT子句

14、的目标列表达式中指定要查询的子句的目标列表达式中指定要查询的属性。属性。例例15:查询全体职工的职工号和工资:查询全体职工的职工号和工资 select 职工号职工号,工资工资 from 职工职工注意:目标列表达式中的字段顺序应和题意要求一致,注意:目标列表达式中的字段顺序应和题意要求一致,而不受表中字段顺序的影响。而不受表中字段顺序的影响。2、去掉重复行、去掉重复行例例16:从职工表中检索所有工资值:从职工表中检索所有工资值 select distinct 工资工资 from 职工职工第17页,共25页,编辑于2022年,星期五 由于有些职工的工资是相同的,输出结果中可能有重复由于有些职工的工

15、资是相同的,输出结果中可能有重复行,此时,可在目标列表达式前加行,此时,可在目标列表达式前加distinct短语以去掉短语以去掉重复。即:重复。即:例例17:select distinct 工资工资 from 职工职工3、查询全部列、查询全部列 要将表中所有属性列列出,一种方法是在要将表中所有属性列列出,一种方法是在SELECT后列出后列出所有列名,另一种更为简单,将目标列表达式用所有列名,另一种更为简单,将目标列表达式用*代替。代替。例例18:检索仓库关系中的所有信息:检索仓库关系中的所有信息 select*from 仓库仓库例例19:查询仓库:查询仓库“WH2”中所有职工的所有基本情况。中

16、所有职工的所有基本情况。select*from 职工职工 where 仓库号仓库号=“WH2”4、查询经过计算的值、查询经过计算的值 SELECT子句的目标列表达式不仅可以是表中的属性子句的目标列表达式不仅可以是表中的属性列,还可以是含有各种运算及函数的表达式。列,还可以是含有各种运算及函数的表达式。第18页,共25页,编辑于2022年,星期五 集函数集函数(字段函数字段函数)在在SELECT语句中可使用的函数:语句中可使用的函数:count(),sum(),avg(),max(),min(),分别用于计数、求分别用于计数、求和、求平均值、求最大值和求最小值。它们的参数和、求平均值、求最大值和

17、求最小值。它们的参数均可以为一个特定的列名,列名前可加均可以为一个特定的列名,列名前可加distinct短语短语以去掉重复。另外以去掉重复。另外count(*)用于统计记录数。用于统计记录数。例例20:求仓库:求仓库WH1每月支付的工资总数。每月支付的工资总数。select sum(工资工资)from 职工职工 where 仓库号仓库号=“WH1”例例21:求仓库:求仓库WH1中职工的最高工资和最低工资。中职工的最高工资和最低工资。select max(工资工资),min(工资工资)from 职工职工 where 仓库号仓库号=“WH1”第19页,共25页,编辑于2022年,星期五例例8:查询

18、工资在:查询工资在12001500之间的职工及其所属仓库。之间的职工及其所属仓库。Select 职工号,仓库号职工号,仓库号 from 职工职工 where 工资工资 between 1200 and 1500 (闭区间闭区间)例例22:查询地处太原、北京、上海的所有供应商。:查询地处太原、北京、上海的所有供应商。select 供应商号,供应商名供应商号,供应商名 from 供应商供应商 where 地址地址 in(“太原太原”,“北京北京”,“上海上海”)例例23:查询不在北京、上海的所有仓库的仓库号及面积。:查询不在北京、上海的所有仓库的仓库号及面积。select 仓库号仓库号,面积面积

19、from 仓库仓库 where 城市城市 not in(“北北京京”,“上海上海”)例例24:查询城市名以查询城市名以”北北”开头的城市开头的城市select 仓库号仓库号,城市城市,面积面积from 仓库表仓库表 where 城市城市 like(北北*)第20页,共25页,编辑于2022年,星期五例例25:闭区间上查询闭区间上查询 select 仓库号仓库号,城市城市,面积面积from 仓库表仓库表 where 面积面积 between 390 and 500例例26 查询面积在查询面积在300平米以上,平米以上,500平米以下平米以下(不包括不包括500平米平米)的仓库信息。的仓库信息。s

20、elect*from 仓库仓库 where 面积面积=300 and 面积面积=2 having短语总是跟在短语总是跟在group by 子句之后,不可单独使子句之后,不可单独使用。用。Where子句和子句和having短语的区别在于作用对象不短语的区别在于作用对象不同。同。Where子句作用于基本表或视图,从中选择满足子句作用于基本表或视图,从中选择满足条件的元组;而条件的元组;而having短语作用于组,从中选择满足条短语作用于组,从中选择满足条件的组。件的组。第22页,共25页,编辑于2022年,星期五 .联接查询联接查询 在查询的数据涉及到多个表时,必须用联接条件将在查询的数据涉及到多

21、个表时,必须用联接条件将这些表联接起来。这些表联接起来。例例30:找出工资多于:找出工资多于1230元的职工号和他们所在的城元的职工号和他们所在的城市。市。分析:职工号来源于职工表,城市来源于仓库表,所以应分析:职工号来源于职工表,城市来源于仓库表,所以应在在FROM后列出涉及到的表,在后列出涉及到的表,在WHERE后加上联接后加上联接条件。条件。select 职工号,城市职工号,城市 from 职工,仓库;职工,仓库;where 职工职工.仓库号仓库号=仓库仓库.仓库号仓库号 and 工资工资1230 外部关键字外部关键字 联接条件联接条件 主关键字主关键字第23页,共25页,编辑于2022

22、年,星期五例例31:职工号来源于职工表,城市来源于仓库表,二表:职工号来源于职工表,城市来源于仓库表,二表通过同名字段仓库号联接。通过同名字段仓库号联接。select 职工号职工号,城市城市,面积面积 from 职工表职工表,仓库表仓库表where 职工表职工表.仓库号仓库号=仓库表仓库表.仓库号仓库号 and 面积面积400例例32select 职工号职工号,城市城市,工资工资 from 职工表职工表,仓库表仓库表where 职工表职工表.仓库号仓库号=仓库表仓库表.仓库号仓库号 and 工资工资1230第24页,共25页,编辑于2022年,星期五 嵌套查询嵌套查询 一个一个select-f

23、rom-where称为一个查询块,将一个查称为一个查询块,将一个查询块嵌套在另一个查询块的询块嵌套在另一个查询块的where(或或having)子句条件中子句条件中的查询称为嵌套查询。的查询称为嵌套查询。例例33:哪些城市至少有一个仓库的职工的工资为哪些城市至少有一个仓库的职工的工资为1250元?元?select 城市城市 from 仓库仓库 where 仓库号仓库号 in(select 仓库仓库号号 from 职工职工 where 工资工资=1250)例例34:找出和职工:找出和职工E4薪水相同的所有职工薪水相同的所有职工SELECT 职工表职工表.职工号职工号FROM 职工表职工表WHERE 职工表职工表.工资工资=(select 工资工资 from 职工表职工表 where 职工号职工号=E4);第25页,共25页,编辑于2022年,星期五

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁