关系数据库查询语言SQL

上传人:沈*** 文档编号:244223077 上传时间:2024-10-03 格式:PPT 页数:38 大小:645.50KB
返回 下载 相关 举报
关系数据库查询语言SQL_第1页
第1页 / 共38页
关系数据库查询语言SQL_第2页
第2页 / 共38页
关系数据库查询语言SQL_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,*,第六章 关系数据库查询语言,SQL,SQL,是英文(,Structured Query Language,)的缩写,意思为结构化查询语言。,SQL,语言是,1974,年由,Boyce,和,Chamberlin,提出的。,19751979,年,IBM,公司的,San Jose,实验室研制了著名的关系数据库管理系统原型,System R,并实现了这种语言。由于它的功能丰富,语言简捷被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,,SQL,语言最终发展成为关系数据库的标准语言。,本章介绍了,SQL,语言的一些基本操作命令,包括数据定义语句、数据查询语句及数据更新语句。,第六章 关系数据库查询语言,SQL,6.1,SQL,概述,6.2 SQL,表定义语句,6.3 SQL,查询语句,6.4 SQL,数据更新语句,习题,6.1 SQL,概述,6.1.1 SQL,语言的特点,SQL,语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:,1,综合统一,SQL,语言集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格同一,可以独立完成数据库生命周期中的全部活动,为数据库应用系统提供了良好的环境。用户在数据库系统投入运行后,还可以根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而使系统具有良好的可扩展性。,2,高度非过程化,SQL,语言高度非过程化,只要提出“做什么”,而无须指明“怎么做”,减轻了用户的负担,也有利于提高数据独立性。,3,面向集合的操作方式,SQL,语言除了操作对象、查找结果是记录的集合,一次插入、删除、更新操作的对象也可以是记录的集合。,4,以同一种语法结构提供两种使用方式,SQL,语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入,SQL,命令对数据库进行操作。作为嵌入式语言,,SQL,语句能够嵌入到高级语言(例如,C,、,COBOL,、,FORTRAN,、,PL/1,)程序中,供程序员设计程序时使用。,5,语言简捷,易学易用,完成核心功能只用,9,个动词,如下:数据查询,(Select),、数据定义,(Create,,,Drop,,,Alter),、数据操纵,(Insert,,,Update,,,Delete),、数据控制,(Grant,,,Revoke),。,6.1.2 SQL,语言的基本概念,SQL,语言支持关系数据库三级模式结构。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。在,SQL,中,关系模式称为,“,基本表,”,,存储模式称为,“,存储文件,”,,子模式称为,“,视图,”,,记录称,“,行,”,,属性称,“,列,”,。,以下是,SQL,的相关概念:,(1),一个,SQL,数据库是表的汇集。,(2),一个,SQL,表由行集构成,行是列的序列,每列对应一个数据项。,(3),表可以是基本表,也可以是视图。基本表是实际存储在数据库中的表,视图是从一个或几个基本表导出的表,它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上于基本表等同,用户可以在视图上再定义视图。,(4),一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。另外,一个表可以带若干索引,索引也存放在存储文件中,存储文件与物理文件对应。,(5),用户可以用,SQL,语句对表进行操作,包括视图和基本表。基本表和视图一样,都是关系。,(6)SQL,的用户可以是应用程序,也可以是终端用户。,6.2 SQL,表定义语句,6.2.1,创建表,一个基本表由两部分组成,一部分是由各列名构成的表的结构,即一个关系模式,也称为表结构;另一部分是具体存放的数据,称为数据记录,创建基本表时,只需要定义表的结构,包括表名,列名,列的数据类型和列约束等。,SQL,语言使用,CREATE TABLE,语句定义基本表,其基本命令格式为:,CREATE TABLE,(,类型,列级完整性约束,,,类型,列级完整性约束,),其中,是所要定义的基本表的名字,它可以由一个或多个属性(字段)组成。注意:定义表时每一个定义语句之间用逗号分隔,最后一条语句不用逗号。每个,SQL,语句以分号结束。字段类型有:字符型(,Character,),数值型(,Numeric,),整型(,Integer,),浮点型(,Float,),日期型(,Date,),逻辑型(,Logic,),备注型(,Memo,)和,OLE,型(,General,)。,【,例,6.1】,创建一个新表,教师工资表,.dbf,,结构可以按表,6.1,定义,表,6.1,教师工资表结构,1.,在命令窗口输入如下命令:,Create Table,教师工资表,.dbf(,教师编号,character(6),工资,Numeric(7,2),;,应扣数,Numeric(7,2),奖金,Numeric(7,2),;,实发数,Numeric(7,2),Modify Structure,2.,输入完毕后可以得到的运行结果如图,6.1,所示。,字段名,字段类型,字段长度,小数点,教师编号,字符型,6,工资,数值型,7,2,应扣数,数值型,7,2,奖金,数值型,7,2,实发数,数值型,7,2,图,6.1,教师工资表结构,6.2.2,修改字段属性,在,Visual,Foxpro,系统中,创建完成的表一旦不能满足应用系统的需求,可以使用菜单方式、,Modify Structure,命令和,SQL,语句进行字段属性的修改。,SQL,语言中的,Alter,语句修改表的结构,不需要是用,Use,命令打开表。,语句格式:,Alter Table,Alter,类型(列级完整性约束),Alter ,类型(列级完整性约束),语句功能:修改以,为名的表的结构。,【,例,6.2】,修改“教师工资表,.dbf”,的结构,将其结构由表,6.1,定义的内容修改为表,6.2,所示的内容。,表,6.2,修改后的教师工资表结构,字段名,字段类型,字段长度,小数点,教师编号,字符型,8,工资,数值型,8,2,应扣数,数值型,7,2,奖金,数值型,7,2,实发数,数值型,7,2,1.,在命令窗口输入如下命令:,Alter Table,教师工资表,.dbf Alter,教师编号,Character(8)Alter,工资,Numeric,(,8,,,2,),Modify Structure,2,输入完毕后可以得到的运行结果如图,6.2,所示。,注意:只用,Alter,语句修改表的结构,不能增加、删除字段,不能更改字段名,只能更改字段的类型和字段长度。如果要增加、删除字段还需要结合,Drop,和,Delete,语句。,图,6.2,修改后的教师工资表的结构,6.2.3,删除字段,在修改表的结构时,如果要删除某字段,可以使用,SQL,语言中的,Drop,语句。,语句格式:,Alter Table,Drop Drop ,语句功能:删除表,为名的表的部分字段。,【,例,6.3】,修改“教师工资表,.dbf”,中的“奖金”和“实发数”,2,个字段。,1.,在命令窗口输入如下命令:,Alter Table,教师工资表,.dbf Drop,奖金,Drop,实发数,Modify Structure,2.,输入完毕后可以得到的运行结果如图,6.3,所示。,Drop,语句的功能除,了可以删除表中的字段,,还可以直接删除某张表。,其基本命令格式为:,DROP TABLE,图,6.3,删除字段后的教师工资表结构,6.2.4,增加字段,修改表的结构时,如果要在表中增加字段,可以使用,SQL,语言中的,Add,语句。,语句格式:,Alter Table,Add,类型(列级完整性约束),Add,类型(列级完整性约束),语句功能:给名为,的表的增加字段。,【,例,6.5】,给“教师工资表,.dbf”,增加一个“备注”字段。,1.,在命令窗口中输入如下命令:,Alter Table,教师工资表,.dbf Add,备注,memo,(,4,),Modify Structure,2.,输入完毕后可以得到的运行结果如图,6.4,所示。,图,6.4,给教师工资表增加字段,6.3 SQL,查询语句,SQL,语言中最重要的功能内就是查询功能。使用,SQL,语句不需要在不同的工作区打开不同的表,只需要将要连接的表、查询所需要的字段名、筛选记录的条件、记录分组的依据排序的方式以及查询结果的显示方式,写在,SQL,语句中,就可以完成特定的工作。,SQL,语言中实现查询功能的是,Select,语句。,语句格式:,SELECT ALL|DISTINCT,FROM,WHERE,GROUP BY HAVING,ORDER BY ASC|DESC;,说明:,1.,整个语句的含义,从,From,子句指定基本表或视图中,根据,Where,子句的条件表达式查找出满足该条件的记录,按照,Select,子句指定的目标字段表达式,选出记录中的属性值形成结果表。如果有,Group By,子句,则将结果按“字段,1”,的值进行分组,该属性列值相等的记录为一个组;如果,Group By,子句带有短语,Having,,则只有满足短语指定条件的分组才会输出。如果有,Order By,子句,则结果表要按照,的值进行升序和降序排列。,Select ALL|DISTINCT,实现的是对表的投影操作,,Where,中实现的是选择操作。,2.,目标字段表达式,1,)字段表达式可以是“字段,1,字段,2”,的形式;如果,FROM,子句指定了多个表,则字段名应是“表名,.,字段名”的形式。,2,)字段表达式可以使用,SQL,提供的库函数形成表达式。,3,),DISTINCT,参数:表示在结果集中,查询出的内容相同的记录只留下一条。,查询计算函数的格式及功能如表,6.3,所示:,表,6.3,查询计算函数的格式及功能,:可以是关系表达式,也可以是逻辑表达式,表,6.4,所示的内容是组成,常用的运算符。,表,6.4,查询条件中常用的运算符,函数格式,函数功能,COUNT(*),统计记录条数。,COUNT(,字段名,),统计一列值得个数。,SUM(,字段名,),计算某一数值型列的值的总和。,AVG(,字段名,),计算某一数值型列的值的平均值,MAX(,字段名,),计算某一数值型列的值的最大值,MIN(,字段名,),计算某一数值型列的值的最小值,查询条件,运算符,说明,比较,=,、,、,=,、,、,!,字符串比较从左向右进行,确定范围,Between And,Between,后是下限,And,后是上限,确定集合,In,、,Not In,检查一个属性值是否属于集合中的值,字符匹配,Like,、,Not Like,用于构造条件表达式中的字符匹配,空值,Is Null,、,Is Not Null,当属性值内容为空时,要用次运算符,多重条件,And,、,Or,用于构造复合表达式,6.3.1,单表查询,单表查询是指仅设计一个表的查询,一般只用到,Select,子句、,From,子句和,Where,子句,分别说明所查询列、查询的表或视图、以及搜索条件等,也称为简单查询。,1,Select,子句选择列表,选择列表指出所查询的字段,它可以是一组列名列表、星号、表达式、变量,(,包括局部变量和全局变量,),等构成。,1),选择所有字段,【,例,6.6】,查询教师工资表中所有字段的数据,Select*From,教师工资表,该,Select,语句实际上是无条件地把教师工资表的全部信息都查询出来,也称为全表查询。查询的结果如图,6.5,所示。,图,6.5,全部字段信息查询结果,2,)选择部分列并指定它们的显示次序,一般情况下,查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。,【,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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