欢迎来到天天文库
浏览记录
ID:51993414
大小:326.00 KB
页数:46页
时间:2020-03-27
《《标准语言SQL》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、§3.1SQL概述(了解)§3.2SQL数据定义(掌握)§3.3SQL数据查询(掌握重点)§3.4SQL数据更新(掌握)§3.5SQL视图(掌握)第三章关系数据库标准语言SQL1一、SQL的发展SQL是StructuredQueryLanguage的缩写,即结构化查询语言,是关系数据库的标准语言。1974年Boyce&Chambarlin提出,在IBM的SystemR上首先实现1979年Oracle1982年IBM的DB21984年Sybase采用SQL作为数据库语言§3.1SQL概述2(5)语言简捷,易学易用3说明:视图是从基本表导出的虚表,索引依赖于
2、基本表,SQL没有修改视图和索引的操作,可通过先删除,再创建达此目的。§3.2SQL数据定义4一、基本表的定义和修改1、定义基本表CREATETABLE表名(列名1类型[列级完整性约束][,列名2类型[列级完整性约束]…)[,<表级完整性约束条件>]);<表名>:所要定义的基本表的名字<列名>:组成该表的各个属性(列)<列级完整性约束条件>:涉及相应属性列的完整性约束条件<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件5SQL中的数据类型二进制数据类型·Binary[(N)]字符数据类型·Char[(N)]定长字符数据·Varchar[(N)
3、]变长字符数据·Text文本型日期和时间数据类型·Datetime数字数据类型·Float[(N)]·Real·Int·Smallint·Tinyint货币数据·Money·Smallmoney图片数据·Image6SQL中的数据完整性约束Primarykey、Unique、NOTNULL7例:建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,Sn
4、ameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(15));取值唯一不允许取空值82、修改基本表(1)增加列:ALTERTABLE表名ADD列名类型[完整性约束];(2)修改列类型:ALTERTABLE表名ALTERCOLUMN列名类型;(3)删除完整性约束:ALTERTABLE表名DROP完整性约束名;如ALTERTABLESALTERCOLUMNSDCHAR(20)如ALTERTABLESADDSDINT/UNIQUE(SN);不支持NOTNULL选择在定义基本表时要考虑充分93、删除基本表DROPTAB
5、LE表名[CASCADE
6、RESTRICT];注意:删除基本表时,表中的数据、建立在表上的索引和视图将一并被删除,因此应格外小心。10查询是数据库的核心操作。SQL仅提供了唯一的语句SELECT,其使用方式灵活,功能非常丰富。§3.3SQL数据查询单表查询连接查询嵌套查询集合查询11一般格式SELECT[ALL
7、DISTINCT]*
8、目标列FROM基本表(或视图)[WHERE条件表达式][GROUPBY列名1[HAVING内部函数表达式]][ORDERBY列名2];ASCDESC相当于投影相当于选择或连接被查询的关系对查询结果排序分组统计§3.3SQL数
9、据查询满足条件的组才输出12SELECT子句:指定要显示的属性列FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件GROUPBY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组ORDERBY子句:对查询结果表按指定列值的升序或降序排序13单表查询仅涉及一个表,是一种最简单的查询操作,有以下五种形式:1、选择表中的若干列(相当于投影运算)2、选择表中的若干元组(相当于选择运算)3、对查询结果排序(运算结果的处理)4、使用集函数(运算结果的处理)5、对查
10、询结果分组(运算结果的处理)一、单表查询141、选择表中的若干列查询单列查询多列、全部列查询经过计算的值15查询指定列(投影)例:查询全体学生的姓名、学号、所在系。SELECTSname,Sno,SdeptFROMStudent;查询全部列例:查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent;16查询经过计算的值SELECT子句的<目标列>可以为算术表达式、字符串常量、函数、列别名、其他例:查全体学生的姓名及其出生年份。SELECTSname,2010-S
11、ageFROMStudent;17消除取值重复的行,相当于投影运算用DISTIN
此文档下载收益归作者所有