数据库原理三章节关系数据库标准语言SQL.ppt

上传人:豆**** 文档编号:60175183 上传时间:2022-11-14 格式:PPT 页数:37 大小:246KB
返回 下载 相关 举报
数据库原理三章节关系数据库标准语言SQL.ppt_第1页
第1页 / 共37页
数据库原理三章节关系数据库标准语言SQL.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《数据库原理三章节关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《数据库原理三章节关系数据库标准语言SQL.ppt(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库原理三章节关系数据库标准语言SQL Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望复习上节课内容复习上节课内容v视图基础概念v管理视图定义视图修改视图删除视图操作视图数据查询视图本节课内容本节课内容vT-SQL语言常量、变量与数据类型运算符与表达式系统内置函数用户自定义数据类型用户定义函数一、一、T-SQL语言语言vTransact-SQL语言主要组成部分数据定义语言(DDL,Data Definition Language)数据操纵语言(DML,Data

2、Manipularion Language)数据控制语言(DCL,Data Control Language)一些附加的语言元素数据定义语言(数据定义语言(DDL)v数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括CREATE、ALTER和和DROP等语句。在SQL Server 中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等语句来完成。数据操纵语言(数据操纵语言(DML)v数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SE

3、LECT、INSERT、UPDATE、DELETE等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。数据控制语言(数据控制语言(DCL)v数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。其它语言元素其它语言元素 v这部分是微软为了用户编程方便增加的语言元素,这些语言元素包括运算符、变量、函

4、数和流程控制语句运算符、变量、函数和流程控制语句。v运算符与表达式v变量v用户自定义数据类型v系统内置函数v用户自定义函数1、运算符与表达式、运算符与表达式v运算符是一些符号,它们能够用来执行算术运算、字符串连接、赋值以及在字段、常量和变量之间进行比较。v在SQL Server 2005中,运算符主要有以下六大类:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符以及字符连接运算符、赋值运算符。1)字符串连接运算符)字符串连接运算符v字符串串联运算符允许通过加号(+)进行字符串串联,这个加号即被称为字符串串联运算符。例如对于语句SELECT abc+def,其结果为abcdef。例例1:

5、列出:列出student表中记录,其中姓名和院系显示在一列。表中记录,其中姓名和院系显示在一列。use stuselect sno,sname+sdept,sage from studentgov例例2:显示:显示xs表中记录,其中姓名和院系名显示在一列,以逗表中记录,其中姓名和院系名显示在一列,以逗号隔开。号隔开。use stuselect sno,sname+,+sdept,sage from studentgo2)赋值运算符)赋值运算符vTransact-SQL 中只有一个赋值运算符,即等号(=);v赋值运算符使我们能够将数据值指派给特定的对象。给局部变量赋值的SET和SELECT语句中

6、使用=运算符。v另外,还可以使用赋值运算符在列标题和为列定义值的表达式之间建立关系。2、变量、变量v变量用于临时存放数据,变量中的数据随着程序的运行而变化。v变量定义时,必须有名字名字及数据类型数据类型两个属性。v变量是一种语言中必不可少的组成部分。Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量局部变量,另外一种是系统提供的全局变量全局变量。1)局部变量)局部变量v局部变量可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。v它的作用范围仅限制在程序内部。v另外,局部变量被引用时要在其名称前加上标志“”,而且必须先用DECLARE命令定义后才可以使

7、用。局部变量的使用局部变量的使用v局部变量的定义局部变量的定义语法格式:DECLARE local_variable datatype,nv局部变量的赋值局部变量的赋值用SET语句赋值:SET local_variableexpression/*一个一个set语句只能给一个变量赋值语句只能给一个变量赋值*/用SELECT语句赋值SELECT local_variableexpression,n例例1:创建局部变量:创建局部变量xuehao并赋值,然后输出所有等于该值的记录。并赋值,然后输出所有等于该值的记录。DECLARE xuehao char(9)Set xuehao=200515001S

8、elect sname,ssex,sdept from studentwhere sno=xuehaoGo例例2:创建局部变量:创建局部变量sex、zym并赋值,然后输出数据表中等于变量的并赋值,然后输出数据表中等于变量的值的所有记录。值的所有记录。DECLARE sex char(2),zym char(10)Set sex=男Set yx=CSSelect sno,sname,ssex,sdept from student where sdept=yx and ssex=sexGo 例例3:将学号为:将学号为200515001的记录的姓名赋值给变量的记录的姓名赋值给变量name。DECLA

9、RE name char(8)Set name=(Select sname from student where sno=200518001)select name as 姓名Go例例4:将学号为的记录的姓名赋值给变量:将学号为的记录的姓名赋值给变量name。DECLARE sno char(9)set sno=200515001Select sname as 姓名 from xs where sno=snoGo2)全局变量)全局变量v引用全局变量时,必须以标记符“”开头。v局部变量的名称不能与全局变量的名称相同。v全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一

10、程序,而是任何程序均可以随时调用。3、用户自定义数据类型、用户自定义数据类型v对于数据库stu,数据表student和sc都有字段“学号”,有相同的数据类型、字段长度及是否为空的属性。为了使用方便,并使含义明确,可以先定义一数据类型,来描述“学号”的类型属性,然后让数据表student和sc的“学号”字段定义为该类型。v定义方式:调用系统存储过程 sp_addtypev语法格式:例1:使用Sp_addtype创建数据类型sno。Use studentexec sp_addtype sno,char(9),not null删除用户自定义数据类型删除用户自定义数据类型v语法格式:Sp_dropty

11、pe typename=type例1:删除数据类型sno。Use xsbookExec sp_droptype sno4、系统内置函数的使用、系统内置函数的使用vSQL Server 2005的内置函数非常多,常用的系统内置函数:数学函数字符串函数日期时间函数1)数学函数)数学函数例例1:数学函数综合应用:求绝对值。:数学函数综合应用:求绝对值。Select abs(8.9),abs(-5.0),abs(0.0),abs(0)例例2:数学函数综合应用:返回半径为:数学函数综合应用:返回半径为1英寸、高为英寸、高为5英寸的圆柱面积。英寸的圆柱面积。declare h float,r floatS

12、elect h=5,r=2Select pi()*square(r)*h as 圆柱面积2 2)字符串函数)字符串函数vLEFT函数和函数和RIGHT函数函数格式:LEFT(expression1,n)功能:返回字符串expression1从左边开始n个字符组成的字符串。如果n=0,则返回一个空字符串。返回值数据类型:varchar例:例:LEFT(abcde,3)结果为结果为abc。RIGHT(abcde,3)结果为cdeLEN函数函数函数格式:函数格式:LEN(expression1)功能:返回字符串功能:返回字符串expression1中的字符个数,不包括字符串中的字符个数,不包括字符串

13、末尾的空格末尾的空格。返回值数据类型:返回值数据类型:int例:例:LEN(abcde )结果为结果为5vLOWER函数和函数和UPER函数函数函数格式:LOWER(expression1)功能:将字符串expression1中的大写字母替换为小写字母。返回值数据类型:varchar例:例:LOWER(12asABC45*%def)结果为结果为12asabc45*%def。UPER(12ABC45*%def)结果为结果为12ABC45*%DEF。3 3)日期时间函数)日期时间函数GETDATE函数功能:按SQL Server内部标准格式返回系统日期和时间。返回值数据类型:datetime例如:

14、getdate()-结果为2007-04-13 21:51:32.390YEAR函数功能:返回指定日期date中年的整数。返回值数据类型:int例如:year(2004-3-5)-结果为2004DATENAME函数 函数格式:DATENAME(datepart,date)功能:返回日期date中由datepart指定的日期部分的字符串。返回值数据类型:nvarchar 例如:datename(yy,1993-3-4)-结果为1993 datename(m,1993-3-4)-结果为03 datename(d,1993-3-4)-结果为4DATEPART函数 函数格式:DATEPART(date

15、part,date)功能:与DATENAME类似,只是返回值为整数。返回值数据类型:int 例如:datepart(yy,1993-3-4)-结果为1993 datepart(m,1993-3-4)-结果为3 datepart(d,1993-3-4)-结果为45、用户自定义函数、用户自定义函数v内置函数大大方便了用户进行程序设计,但用户编程时常常需要将一个或多个TSQL语句组成子程序,以便反复调用。vSQL SERVER 2005允许用户根据需要自己定义函数。标量函数内嵌表值函数多语句表值函数v关键字Create Function例例1:定义一函数,按院系统计各院系的平均年龄。:定义一函数,按

16、院系统计各院系的平均年龄。CREATE FUNCTION avg_age(sdept char(4)RETURNS int AS BEGIN declare avg intselect avg=(select avg(sage)from student where sdept=sdept)Return avgEND利用利用select语句语句Declare sdept char(4),avg intSet sdept=csselect avg=dbo.avg_age(sdept)select avg as 平均年龄利用利用exec 语句语句Declare sdept char(4),avg i

17、ntexec avg=dbo.avg_age sdept=CS select avg as 平均年龄调用函数调用函数练习练习1:定义一函数,按学号显示院系。:定义一函数,按学号显示院系。CREATE FUNCTION sdept(sno char(9)RETURNS char AS BEGIN declare yx charselect yx=(select sdept from student where sno=sno)Return yxEND例例2:定义一函数,按根据院系名查询该专业学生的基本信息。:定义一函数,按根据院系名查询该专业学生的基本信息。CREATE FUNCTION stu

18、dent_info(yx char(4)RETURNS table AS RETURN(select sno,sname,ssex,sage,sdeptfrom studentwhere sdept=yx)调用函数调用函数student_infoUse stuselect*from student_info(CS)6、了解系统表、了解系统表sysobjectsv在sql server 中,用于描述数据库对象的信息均在系统表中。v例如数据库对象(表、视图、用户函数、存储过程及触发器等)都要在系统表sysobjects登记,如果该数据对象已经存在,再对其进行定义,则会报错。总结总结本次课学习内容vT-SQL语言运算符常量、变量自定义数据类型自定义函数

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com