
项目4任务4TSQL语言简介.ppt
20页任务任务4 4 Transact-SQL语言简介语言简介 l学习目的和要求学习目的和要求1.了解了解Transact-SQL语言的功能及特点;语言的功能及特点;2.掌握掌握Transact-SQL语言的变量;语言的变量;3.理解理解SQL Server支持的数据类型、运算支持的数据类型、运算符、注释符和标识符符、注释符和标识符 诸需具谩杨蝶判牲今甚追猴愿甸禁米剔泄哀它扇猜荡屠轴蚌八秀讫血你笋项目4任务4TSQL语言简介项目4任务4TSQL语言简介任务任务4 4 Transact-SQL语言简介语言简介1. Transact-SQL语言的特点语言的特点 2. SQL Server支持的数据类型支持的数据类型 3. SQL Server 2000中的运算符中的运算符 4. Transact-SQL变量变量 5.注释符和标识符注释符和标识符 街刽四止多鹤拂虽撵陷种坪勋蹋棺馒统罢竹守丸土贩能滑蠕预蚤包敝树必项目4任务4TSQL语言简介项目4任务4TSQL语言简介任务任务4 4 Transact-SQL语言简介语言简介l SQLSQL((Structured Query LanguageStructured Query Language)语言是关系数据库)语言是关系数据库的标准语言的标准语言,由于,由于SQLSQL语言功能丰富,语言简洁,因而倍语言功能丰富,语言简洁,因而倍受用户及计算机工业界欢迎。
自受用户及计算机工业界欢迎自SQLSQL成为国际标准后,各成为国际标准后,各个数据库厂家纷纷推出各自的支持个数据库厂家纷纷推出各自的支持SQLSQL的软件或与的软件或与SQLSQL的的接口软件接口软件lSQLSQL是一种介于关系代数与关系演算之间的结构化查询语是一种介于关系代数与关系演算之间的结构化查询语言言,其功能并不仅仅是查询,,其功能并不仅仅是查询,SQLSQL语言是一个通用的、功语言是一个通用的、功能极强的关系数据库语言能极强的关系数据库语言 咐瑶原屋洞猿汛弛千酮租扳桓讫楔枕童雕垦童钧沏典针邮重拂任籍剔情学项目4任务4TSQL语言简介项目4任务4TSQL语言简介任务任务4 4 Transact-SQL语言简介语言简介l Transact-SQL Transact-SQL 是是SQL Server 2000SQL Server 2000提供的查询语言提供的查询语言使使用用Transact-SQLTransact-SQL编写应用程序可以完成所有的数据库管编写应用程序可以完成所有的数据库管理工作任何应用程序,只要目的是向理工作任何应用程序,只要目的是向SQL Server 2000SQL Server 2000的数据库管理系统发出命令以获得数据库管理系统的响的数据库管理系统发出命令以获得数据库管理系统的响应,最终都必须体现为以应,最终都必须体现为以Transact-SQLTransact-SQL语句为表现形式语句为表现形式的指令。
的指令对用户来说,对用户来说,Transact-SQLTransact-SQL是惟一可以和是惟一可以和SQL SQL Server 2000Server 2000的数据库管理系统进行交互的语言的数据库管理系统进行交互的语言 砧输车元怒癸焊锤鸥裁侗隋膘亥捅卒爆庭封薛顺躁景剔忘孙指翔谗嘶竹韭项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.1 Transact-SQL语言的特点语言的特点 l尽管尽管SQL Server 2000SQL Server 2000提供了使用方便的图形提供了使用方便的图形化用户界面,但各种功能的实现基础是化用户界面,但各种功能的实现基础是Transact-SQLTransact-SQL语言,只有语言,只有Transact-SQLTransact-SQL语言语言可以直接和数据库引擎进行交互可以直接和数据库引擎进行交互Transact-Transact-SQLSQL语言是基于商业应用的结构化查询语言,语言是基于商业应用的结构化查询语言,是标准是标准SQLSQL语言的增强版本语言的增强版本滑教倪章釜瑚阴沈篆撑薄诲席踊扒邓穿劈傀几恭玛愁绚色吏坊都掩柿芜届项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.1 Transact-SQL语言的特点语言的特点 由于由于Transact-SQLTransact-SQL语言直接来源于语言直接来源于SQLSQL语语言,因此它也具有言,因此它也具有SQLSQL语言的几个特点。
语言的几个特点1.1.一体化一体化 Transact-SQLTransact-SQL语言集数据定义语言、数据操纵语言集数据定义语言、数据操纵语言、数据控制语言和附加语言元素为一体语言、数据控制语言和附加语言元素为一体其中附加语言元素不是标准其中附加语言元素不是标准SQLSQL语言的内容,语言的内容,但是它增强了用户对数据库操作的灵活性和简但是它增强了用户对数据库操作的灵活性和简便性,从而增强了程序的功能便性,从而增强了程序的功能 短檄摩诧愧竖瑚倔弛奸卯须近坠罢愁颜弱矩碘则六穷卯旗噶谱尧省性碴叙项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.1 Transact-SQL语言的特点语言的特点2.2.两种使用方式,统一的语法结构两种使用方式,统一的语法结构 两种使用方式,即两种使用方式,即联机交互式和嵌入高级语言的使联机交互式和嵌入高级语言的使用方式用方式统一的语法结构使统一的语法结构使Transact-SQLTransact-SQL语言可用于所语言可用于所有用户的数据库活动模型,包括系统管理员、数据库管有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统管理人员以及许多其理员、应用程序员、决策支持系统管理人员以及许多其他类型的终端用户。
他类型的终端用户 哗锣车辅截廷毒浦艰趁蠢伸呸鸥楔瀑聪沥汗锑隔鹤坟件黔筋颂柱罗瞪墅桓项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.1 Transact-SQL语言的特点语言的特点3.3.高度非过程化高度非过程化 Transact-SQL Transact-SQL语言一次处理一个记录,对数据提供语言一次处理一个记录,对数据提供自动导航;允许用户在高层的数据结构上工作,可操作自动导航;允许用户在高层的数据结构上工作,可操作记录集,而不是对单个记录进行操作;所有的记录集,而不是对单个记录进行操作;所有的SQLSQL语句语句接受集合作为输入,返回集合作为输出,并允许一条接受集合作为输入,返回集合作为输出,并允许一条SQLSQL语句的结果作为另一条语句的结果作为另一条SQLSQL语句的输入另外,语句的输入另外,Transact-SQLTransact-SQL语言不要求用户指定对数据的存放方法,语言不要求用户指定对数据的存放方法,所有的所有的Transact-SQLTransact-SQL语句使用查询优化器,用以指定数语句使用查询优化器,用以指定数据以最快速度存取的手段。
据以最快速度存取的手段 震淬惶南泌役舔感蔑痰炬汗速姑献犬藏版剃雪汇寅透茧霞捕藏貌起扁府挑项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.1 Transact-SQL语言的特点语言的特点4.4.类似于人的思维习惯,容易理解和掌握类似于人的思维习惯,容易理解和掌握 SQL SQL语言的易学易用性,而语言的易学易用性,而Transact-SQLTransact-SQL语言是对语言是对SQLSQL语言的扩展,因此也是非常容易理解和掌握的如语言的扩展,因此也是非常容易理解和掌握的如果对果对SQLSQL语言比较了解,在学习和掌握语言比较了解,在学习和掌握Transact-SQLTransact-SQL语语言及其高级特性时就更游刃有余了言及其高级特性时就更游刃有余了 奏片椅镶棕蛰铱派妓窍钠蔡搭扼委爷褒症吮战哪顾署几假块频控色埃减震项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.2 SQL Server4.2 SQL Server支持的数据类型支持的数据类型 SQL Server 2000SQL Server 2000提供许多实用的数据类型,并具提供许多实用的数据类型,并具有定义用户数据类型的功能。
表有定义用户数据类型的功能表4-44-4中列出了中列出了SQL SQL Server 2000Server 2000提供的主要数据类型提供的主要数据类型 碍俞右讥鼻档偿腮秸肃顽赞盼琴醇肮取痞僳处薪匣兼胰背倡毁幕阜镀珍早项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.2 SQL Server4.2 SQL Server支持的数据类型支持的数据类型类型表示类型说明数值型数据Int全字长(四字节)整数,其中31 bits表示数据,1位符号取值范围为-214783648~2147483647Smallint半字长的整数,取值范围为-32768~32767Tinyint只占一个字节的正数,表示范围为0~255Real4字节长的浮点数,最大精度为7位,取值范围为3.4E-38~3.4E+38Float(n)精度为n的浮点数,其精度n的可以为1~15,若忽略n则精度为15最多占用字节数为8,表示范围为1.7E-308~1.7E+308Decimal(p[,q])十进制,共p位,q位小数,可用2~11个字节存放1~38位精度的数值字符型数据CHAR(n)长度为n的定长字符串,最多可为255个字符VarCHAR(n)最大长度为n的变长字符串型数据,最多可达255个字符日期、时间型数据Datetime日期时间型数据,可存储1/1/1753~12/31/9999之间的日期时间,缺省表示为MMDDYYYYhhmm AM/PMSmalldatetime日期时间型数据,可表示1/1/1900~6/6/2079时间特殊数据类型Binary(n)长度为n个字节的位模式(二进制数),输入0~F二进制数时,第一个值必须以0x开头Varbinary(n)最大长度为n个字节的变长位模式,输入方法同binary相同文本和图象数据类型Text文本数据类型Image图像数据货币数据类型Money货币数据,可存放15位整数,4位小数的数值,占8个字节Smallmoney货币数据,可存放6位整数,4位小数的数值,占4个字节吏颧迷瑰论沂舟疥劝气隔住没烟裸椽郡由惦瘴章兽通钾阅详洱叛再浅屉虹项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.3 SQL Server 20004.3 SQL Server 2000中的运算符中的运算符 运算符是一种符号,用来指定要在一个或多个表达运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。
式中执行的操作Transact-SQLTransact-SQL的查询语句中使用的运的查询语句中使用的运算符,如表算符,如表4-54-5所示 溺谗亡暑龚醉箍呵指譬湛张妹庞稿席出叠芭瑶铁屁纵回奖固贡胁羞琅揩刃项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.3 SQL Server 20004.3 SQL Server 2000中的运算符中的运算符 类别符号算术运算符+(加),—(减),*(乘),/(除),%(取余或模)比较运算符=(等于),>(大于),<(小于),>=(大于等于或不小于),!<(不小于),<=(小于等于或不大于),!>(不大于),<>(不等于),!=(不等于)范围运算符BETWEEN…AND…(在…之间),NOT BETWEEN…AND…(不在…之间)子查询运算符IN(在…之中),NOT IN(不在…之中),〈比较符〉ALL(全部),〈比较符〉ANY(任一),〈比较符〉SOME(一些),EXIST(存在),NOT EXIST(不存在)字符串运算符+(连接),LIKE(匹配),NOT LIKE(不匹配)未知值运算符IS NULL(是空值),NOT IS NULL(不是空值)逻辑运算符NOT(非),AND(与),OR(或)组合运算符UNION(并),UNION ALL(并,允许重复的元组)完婶狙同幕篆钝泄啮钳为顷饶咀鄂鬃僚腆干雨液夯狗粒艰那诫齿否积蛋众项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.4 Transact-SQL4.4 Transact-SQL变量变量 变量对于一种语言来说是必不可少的组成部分。
变量对于一种语言来说是必不可少的组成部分Transact-SQLTransact-SQL语言允许使用两种变量:一种是用户自己定义的语言允许使用两种变量:一种是用户自己定义的局部变量局部变量(Local Variable)(Local Variable),另一种是系统提供的,另一种是系统提供的全局变量全局变量(Global Variable)(Global Variable) 伙尉泛孔勒军悟款躇福镁睁锄仿痔融渐习渣捆限侧叙励毁际再褒择付长腮项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.4 Transact-SQL4.4 Transact-SQL变量变量 1.1.局部变量局部变量 局部变量使用户自己定义的变量,它的作用范围仅在程局部变量使用户自己定义的变量,它的作用范围仅在程序内部通常只能在一个批处理中或存储过程中使用,用来通常只能在一个批处理中或存储过程中使用,用来存储从表中查询到的数据,或当作程序执行过程中暂存变量存储从表中查询到的数据,或当作程序执行过程中暂存变量使用2.2.全局变量全局变量 全局变量是全局变量是SQL Server 2000SQL Server 2000系统内部使用的变量,起作系统内部使用的变量,起作用范围并不局限于某一程序,而是任何程序均可随时调用。
用范围并不局限于某一程序,而是任何程序均可随时调用全局变量通常存储一些全局变量通常存储一些SQL Server 2000SQL Server 2000的配置设置值和效能的配置设置值和效能统计数据用户可在程序中用全局变量来测试系统的设定值统计数据用户可在程序中用全局变量来测试系统的设定值或者或者Transact_SQLTransact_SQL命令执行后的状态值命令执行后的状态值 荒涕憎波半嘉丫泼樟浩孔惠鸡肆钓舍架醉胚磁松坑泌象槛膘又逛厂埋逛摘项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.5 4.5 注释符和标识符注释符和标识符 1.1.注释符注释符 程序中的注释可以增加程序可读性程序中的注释可以增加程序可读性在在Transact-Transact-SQLSQL语言中可使用两种注释符:语言中可使用两种注释符:行注释和块注释行注释和块注释行注释符为行注释符为“--”“--”,这是,这是ANSIANSI标准的注释符,用于单行标准的注释符,用于单行注释块注释符为块注释符为“/*…*/”“/*…*/”,,“/*”“/*”用于注释文字的开头,用于注释文字的开头,“*/”“*/”用于注释文字的末尾。
块注释符可在程序中标识用于注释文字的末尾块注释符可在程序中标识多行文字为注释多行文字为注释 帝反坚鸭刽贴锋垛喉钡羽湘篮嗡饭洱眉框霖期虫脾壹帕蚤乔输妇咽啸阅滁项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.5 4.5 注释符和标识符注释符和标识符 2.SQL Server2.SQL Server的标识符的标识符 SQL Server SQL Server的所有对象,包括服务器、数据库以及数据库对象,的所有对象,包括服务器、数据库以及数据库对象,如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都可以有一个标识符对绝大多数对象来说,标识符是必不可少的,都可以有一个标识符对绝大多数对象来说,标识符是必不可少的,但对某些对象如约束来说,是否规定标识符是可选的对象的标识符但对某些对象如约束来说,是否规定标识符是可选的对象的标识符一般在创建对象时定义,作为引用对象的工具使用一般在创建对象时定义,作为引用对象的工具使用1) (1) 标识符的分类标识符的分类 在在SQL ServerSQL Server中标识符共有两种类型中标识符共有两种类型: :一种是一种是规则标识符规则标识符(Regular (Regular identifer)identifer),一种是,一种是界定标识符界定标识符(Delimited identifer)(Delimited identifer)。
其中,规则标识符严格遵守标识符的有关格式的规定,所以在其中,规则标识符严格遵守标识符的有关格式的规定,所以在Transact_SQLTransact_SQL中凡是规则运算符都不必使用定界符对于不符合标识中凡是规则运算符都不必使用定界符对于不符合标识符格式的标识符要使用界定符符格式的标识符要使用界定符[][]或或‘‘ ’’啼卖净亨荷诞魂耀腿派淑奸敞饼闲算守化艳踪啮刀迁饱氢夹堰键酷谢购澡项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.5 4.5 注释符和标识符注释符和标识符 2.SQL Server2.SQL Server的标识符的标识符(2) (2) 标识符格式标识符格式1 1)标识符必须是统一码)标识符必须是统一码(Unicode)2.0(Unicode)2.0标准中规定的字符,包标准中规定的字符,包括括2626个英文字母个英文字母a-za-z和和A-ZA-Z,以及其他一些语言字符,如汉字 ,以及其他一些语言字符,如汉字 2 2)标识符后的字符可以是)标识符后的字符可以是“_”“_”、、“@”“@”、、“#”“#”、、“$”“$”及数及数字 3 3)标识符不允许是)标识符不允许是Transact-SQLTransact-SQL的保留字。
的保留字 4 4)标识符内不允许有空格和特殊字符标识符内不允许有空格和特殊字符5 5)标识符不区分大小写标识符不区分大小写 蜕冕勉酣丽澡权服炳括凡引痪委唁慷芭茂橇乞炼厨陀揪捻构翌圃菩腊肢广项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.5 4.5 注释符和标识符注释符和标识符 2.SQL Server2.SQL Server的标识符的标识符(2) (2) 标识符格式标识符格式 另外,某些以特殊符号开头的标识符在另外,某些以特殊符号开头的标识符在SQL ServerSQL Server中具有中具有特定的含义如以特定的含义如以“@”“@”开头的标识符表示这是一个局部变量开头的标识符表示这是一个局部变量或是一个函数的参数或是一个函数的参数; ;以以# #开头的标识符表示这是一个临时表开头的标识符表示这是一个临时表或是一存储过程以或是一存储过程以“##”“##”开头的表示这是一个全局的临时开头的表示这是一个全局的临时数据库对象数据库对象Transact-SQLTransact-SQL的全局变量以的全局变量以“@@”“@@”开头 无论是界定标识符还是规则标识符都最多只能容纳无论是界定标识符还是规则标识符都最多只能容纳128128个个字符,对于本地的临时表最多可以有字符,对于本地的临时表最多可以有116116个字符。
个字符赔味洽楞劣生带圭质胜矛颈轩迁掌跃茁昆袭涛恳芽汾淋恨秆麓钙阶擂量危项目4任务4TSQL语言简介项目4任务4TSQL语言简介4.5 4.5 注释符和标识符注释符和标识符 2.SQL Server2.SQL Server的标识符的标识符(3) (3) 对象命名规则对象命名规则 SQL Server 2000 SQL Server 2000 的数据库对象名字由的数据库对象名字由1-1281-128个字符组成,个字符组成,不区分大小写在一个数据库中创建了一个数据库对象后,不区分大小写在一个数据库中创建了一个数据库对象后,数据库对象的全名应该由服务器名、数据库名、拥有者名和数据库对象的全名应该由服务器名、数据库名、拥有者名和对象名这四个部分组成,格式如下:对象名这四个部分组成,格式如下:[[[server.][database].][owner_name].]object_name [[[server.][database].][owner_name].]object_name 命名命名必须都要符合标识符的规定必须都要符合标识符的规定 在实际引用对象时,可以省略其中某部分的名称,只留在实际引用对象时,可以省略其中某部分的名称,只留下空白的位置。
下空白的位置 衫宙懦猪贪甥护撞名鸦菲译丁坛艇钵戊损抒处似屑乒醇堑短南逊帽且瞄齿项目4任务4TSQL语言简介项目4任务4TSQL语言简介。
