欢迎来到天天文库
浏览记录
ID:40246711
大小:672.00 KB
页数:158页
时间:2019-07-29
《数据库基础与应用 第2版 王珊 李盛恩 第3章_关系数据库标准语言SQL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章关系数据库标准语言SQL3.1SQL概述3.2数据查询3.3数据定义3.4数据更新3.5存取控制3.6空值的处理3.7小结3.1SQL概述一、SQL的产生和发展SQL的最早版本是由IBM开发的。SQL语言的前身是1972年提出的SQUARE(SpecifyingQueriesAsRelationalExpression)语言,在1974年修改为SEQUEL(StructuredEnglishQueryLanguage),简称SQL。1986年10月美国国家标准局(AmericanNationalStandardInstitute,简称ANSI)的数据库委员会X3H2批准了SQ
2、L作为关系数据库语言的美国标准。同年公布了SQL标准文本(简称SQL-86)。3.1SQL概述一、SQL的产生和发展1987年国际标准化组织(InternationalOrganizationforStandardization,简称ISO)也通过了SQL-86标准。ANSI于1989年公布了SQL-89标准。1992年公布了SQL-92标准(SQL2)。1999年公布了SQL-1999标准(SQL3)。2003年公布了SQL-2003标准(SQL4)。3.1SQL概述二、SQL的组成1、操作对象表和视图是SQL的操作对象。表就是关系模型中的关系。表有表名、表结构(关系模式)和数据
3、三部分组成。表的名字和结构存储在DBMS的数据字典中,表中的数据保存在数据库中。视图是一个特殊的表,基本上可以把它当作表使用。3.1SQL概述二、SQL的组成2、操作分类SQL语言包括了对数据库的所有操作,在功能上可以分为以下四个部分:(1)数据定义语言(DataDefinitionLanguage,DDL)(2)数据操纵语言(DataManipulationLauguage,DML)(3)数据控制(DataControlLanguage,DCL)(4)嵌入式SQL和动态SQL(EmbededSQLandDynamicSQL)3.1SQL概述三、SQL的特点1、综合统一2、高度非过
4、程化3、面向集合的操作方式4、以同一种语法结构提供两种使用方式5、语言简捷,易学易用3.1SQL概述SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOkE3.2数据查询数据查询是数据库的核心操作。SELECT语句的格式为:SELECT[ALL
5、DISTINCT]<目标列表达式>[别名][,<目标列表达式>[别名]]…FROM<表名或视图名>[别名][,<表名或视图名>[别名]]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][
6、ORDERBY<列名2>[ASC
7、DESC][,<列名3>[ASC
8、DESC]……];3.2数据查询3.2.1单表查询一、SELECT语句SELECT子句是关系代数中的投影运算,用来选择表中的全部列或部分列。1、查询指定列在很多情况下,用户只对表中的一部分列感兴趣,这时可以通过在SELECT子句的<目标列表达式>中指定要查询的列。3.2数据查询3.2.1单表查询SnoSname2000012王林2000113张大民2000256顾芳2000278姜凡2000014葛波[例1]查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent;3.2数据查询3.2.1单表
9、查询2.查询全部列查询的是要显示表的所有内容,关键是如何在SELECT子句中指定表中所有的列。一种方法是用枚举的方法给出所有的列名,前提是要知道表的关系模式,另一种方法是用符号*代表所有的列。3.2数据查询3.2.1单表查询[例2]查询所有课程的详细记录。方法一:SELECTCno,Cname,Cpno,CcreditFROMCourse;方法二:SELECT*FROMCourse;3.2数据查询3.2.1单表查询3.查询经过计算的值[例3]查全体学生的姓名及其出生年份。SELECTSname,2001-SageFROMStudent;Sname2001-Sage王林1982张大民
10、1983顾芳1982姜凡1982葛波19833.2数据查询3.2.1单表查询将列名2001–Sage重命名为BirthYear,SQL语句为:SELECTSname,2001-SageASBirthYearFROMStudent;SnameBirthYear王林1982张大民1983顾芳1982姜凡1982葛波19833.2数据查询3.2.1单表查询4、过滤掉重复元组[例4]列出表Student中所有的系。SELECTSdeptFROMStudent;Sdept计算机
此文档下载收益归作者所有