第4章 Transact-SQL语言
第4章 Transact-SQL语言编程基础
@@ERROR 返回执行的上一个Transact-SQL语句的错误号
全局变量
SELECT * FROM STUDENT SELECT @@ROWCOUNT AS '第一次查询返回的记录数' SELECT * FROM STUDENT WHERE SEX='男' SELECT @@ROWCOUNT AS '第二次查询返回的记录数' INSERT INTO COURSE (courseid,coursename,credit) VALUES ('201641030201','VB程序设计', 3) SELECT @@ROWCOUNT AS '第一次插入记录时影响的记录数' INSERT INTO COURSE (courseid,coursename,credit) VALUES ('201641030202','VC程序设计', 3) SELECT @@ROWCOUNT AS '第二次插入记录时影响的记录数'
取值范围为-231~231-1,占4字节,精确 到它们所代表的货币单位的万分之一
4.3 常量与变量
▪ 4.3.1 常量
常量类型
举例
ASCII字符串常量 '1234','北京大学'
Unicode字符串常量 N'1234',N'北京大学'
整型常量
125,-134,0
数值型常量
125.34,-134.8
[ ,…n ]
第4章 Transact-SQL编程-数据库原理及应用-微课视频版-李唯唯-清华大学出版社
1. 系统数据类型--字符类型
数据类型
char(n) 普通编 码字符 varchar(n)
text(n)
nchar(n) 统一编 码字符 nvarchar(n)
ntext(n)
长度 n字节
输入的长度 输入的长度 n字节
1. 系统数据类型--数值类型
1)精确数值数据类型
数据类型
tinyint
整型
smallint int
bigint
小数 位 货币
numeric(p,q)
decimal(p,q) bit smallmoney money
长度 1字节 2字节 4字节 8字节
2~17字节
1位 4字节 8字节
取值范围 0~255 -215~215-1(-32768~32767) -231~231-1(2147483648~2147483647) -263~263-1
2. 自定义数据类型--CREATE TYPE
【例】创建一个数据类型“goodsNO”,要求基本类型是varchar,长度为20, 非空。
CREATE TYPE goodsNO FROM varchar(20) NOT NULL
2. 自定义数据类型--sp_addtype
sp_addtype存储过程创建自定义数据类型的格式: sp_addtype type_name [, system_type], {‘NULL’|’NOT NULL’|’IDENTITY’}
2. 自定义数据类型--sp_droptype
系统存储过程sp_droptype用于删除用户自定义的数据类型,其 语法结构如下:
第4章 Transact-SQL语言基础
(1) SQL支持的数据类型
④字符型数据
char类型 格式: char[(n)] 功能: 定义长度为n个字节的固定长度非Unicode字符数据,每个字符占 一个字节。 说明: n:1~8000 存储大小: n个字节(n个字符) varchar类型 格式: varchar[(n)] 功能: 定义长度最多为n个字节的可变长度非Unicode字符数据,每个字符 占一个字节。 说明: n: 1~8000。 存储大小: 输入字符的实际长度。长度可为零
第4章 Transact-SQL语言基础
4.1 T-SQL概述 4.2 数据定义语句 4.3 数据查询语句
4.4 数据更新语句
4.1 T-SQL概述
1. T-SQL历史
• T-SQL语言起源于SQL( Structured Query Language )语言
SQL语言的历史: • 70年代: 由IBM公司开发出来的;1976年开始在商品化关系数据库系 统中应用;
4.1 T-SQL概述
2.标识符
(1)标识符的定义
是指用户定义的变量名、函数名、存储过程名、库名、 表名、索引名、视图名等各种名称。
(2)标识符的分类
常规标识符
分隔标识符
4.1 T-SQL概述
2.标识符
常规标识符
指符合标识符格式规则的标识符。标识符的格式规则如下:
标识符的长度可以为1-128个字符
4视图和数据库。
操作对象 基本表 索引 视图 数据库 创建语句 CREATE TABLE CREATE INDEX CREATE VIEW CREATE DATABASE 删除语句 DROP TABLE DROP INDEX DROP VIEW DROP DATABASE ALTER DATABASE 修改语句 ALTER TABLE
transact-sql 参考手册
transact-sql 参考手册Transact-SQL(T-SQL)是Microsoft SQL Server中使用的查询语言,它结合了SQL和Microsoft的程序语言特性。
Transact-SQL是SQL Server 数据库的核心,它是用来与数据库进行交互的,能够执行各种复杂的操作,包括数据的查询、插入、更新和删除等。
Transact-SQL提供了许多功能和特性,使得它成为数据库开发人员和数据库管理员的首选语言。
以下是Transact-SQL的一些主要特性和功能:1. 事务处理:Transact-SQL支持事务处理,这意味着它可以执行一系列的操作,并且如果其中任何一个操作失败,所有操作都会回滚到之前的状态。
2. 存储过程和函数:Transact-SQL可以用来创建存储过程和函数,这些存储过程和函数可以封装复杂的逻辑,并且可以被重复使用。
3. 触发器:Transact-SQL支持触发器,触发器是一种特殊的存储过程,它会在数据库表发生特定事件时自动执行。
4. 错误处理:Transact-SQL提供了错误处理机制,允许开发人员捕获和处理错误。
5. 变量和参数:Transact-SQL支持变量和参数,这使得开发人员可以编写更灵活的代码。
6. 视图和索引:Transact-SQL可以用来创建视图和索引,视图是虚拟的表,而索引是提高查询性能的关键。
7. 连接和子查询:Transact-SQL支持各种连接和子查询,这使得开发人员可以执行复杂的查询操作。
8. 事务隔离级别:Transact-SQL支持不同的事务隔离级别,这可以控制并发访问时数据的完整性和一致性。
9. 批处理:Transact-SQL支持批处理,这意味着可以将多个语句组合在一起并作为一个单独的单元执行。
10. 动态SQL:Transact-SQL支持动态SQL,这允许开发人员在运行时构建和执行SQL语句。
以上只是Transact-SQL的一些基本特性和功能,实际上它还包含许多其他的特性和功能。
Transact-SQL语法
4.4 WHILE、BREAK和CONTINUE语句 • 循环结构WHILE子句还可以用 continue和break命令控制while循环中语 句的执行。
•
其语法如下:
• WHILE<条件表达式> • BEGIN • <命令行|程序块> • [BREAK] • [CONTINUE] • [命令行|程序块] • END
• CHARINDEX ( expression1 ,expression2 [ , start_location ] )
4.LEFT函数
• 返回字符串中从左边开始指定个数的 字符。 • 其语法如下:
• LEFT ( character_expression , integer_expression )
•
【例5】 使用WHILE语句。
图5 求1~10之间偶数的和
4.5
•
RETURN语句
RETURN语句用于从查询或过程中无 条件退出。 • RETURN语句可在任何时候用于从过 程、批处理或语句块中退出,位于 RETURN之后的语句不会被执行。 • 其语法如下:
• RETURN[整数值]
•
【例6】 使用RETURN语ห้องสมุดไป่ตู้。
4.日期和时间常量
• 定义日期和时间常量需要使用特定格 式的字符日期值,并使用单引号。
2Transact-SQL变量
• 2.1
•
全局变量
全局变量是由系统提供的,用于存储 一些系统信息,只可以使用全局变量;不 可以自定义全局变量。
2.2
•
局部变量
局部变量是由用户自定义的变量;这 些变量可以用来存储各种数据类型的值。 • 使用DECLARE语句声明变量,其语法 如下:
第4章 Transact-SQL语言
第4章Transact-SQL语言
4.1 4.2 4.3 4.4 4.5 4.6 SQL查询编辑器 数据类型、常量与变量 函数 控制语句 数据定义语言 数据操纵语言
4.1 SQL查询编辑器
4.1.1 SQL查询编辑器 查询编辑器是一个图形用户界面,可用于输 入、显示和编辑代码或文本,交互地设计、 测试和执行T-SQL语句、批处理、存储过程 和脚本 。
4.3 函数
4.数学函数 (1)ABS (numeric_expression ) (2)EXP (float_expression ) (3)CEILING (numeric_expression ) (4)FLOOR (numeric_expression ) (5)ROUND (numeric_expression,length ) (6)POWER ( numeric_expression,y ) (7)RAND ( [ seed ] ) (8)SIGN ( numeric_expression ) (9)SQUARE ( float_expression ) (10)SQRT ( float_expression )
4.2 数据类型、常量与变量
4.2.4 常量与变量
(6)货币型常量 $12和$542023.14。 (7)bit常量 使用数字0或1表示。 (8)二进制常量 0xAE、0x69048AEFDD010E和0x12Ef。 (9)uniqueidentifier常量 '6F9619FF-8B86-D011-B42D-00C04FC964FF' 和 0xff19966f868b11d0b42d00c04fc964ff。
4.2 数据类型、常量与变量
Transact-SQL语言简介
4.3 SQL Server 2000中的运算符 2000中的运算符
类别 算术运算符 符号 +(加),—(减),*(乘),/(除),%(取余或模) =(等于),>(大于),<(小于),>=(大于等于或不小于),!<(不小于),<=(小于等 于或不大于),!>(不大于),<>(不等于),!=(不等于) BETWEEN…AND… BETWEEN…AND…(在…之间),NOT 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 任务4 Transact-SQL语言简介 语言简介 学习目的和要求
1.了解 了解Transact-SQL语言的功能及特点; 语言的功能及特点; 了解 语言的功能及特点 2.掌握 掌握Transact-SQL语言的变量; 语言的变量; 掌握 语言的变量 3.理解 理解SQL Server支持的数据类型、运算 支持的数据类型、 理解 支持的数据类型 符、注释符和标识符。 注释符和标识符。
Server支持的数据类型 4.2 SQL Server支持的数据类型
类型表示
Int Smallint 数值型数据 Tinyint Real Float(n) Decimal(p[,q]) 字符型数据 CHAR(n) VarCHAR(n) 日期、时间型 数据 特殊数据 类型 文本和图象数 据类型 货币数据 类型 Datetime Smalldatetime Binary(n) Varbinary(n) Text Image Money Smallmoney
数据库原理及应用-第4章-SQL语言
建立学生表student,由学号、姓名、性别、年龄 、系别5个属性组成.
CREATE TABLE student
(Sno char(8) primary key, Sname char(20) not null ,
Ssex char(1) default ‘男’, Sage int check(Sage>=0 and Sage <=120),
Transact-SQL命令格式的约定
在Transact-SQL语言的命令格式中,
[ ]括起来的内容表示是可选的;
[,…n]表示重复前面的内容;
< >括起来表示在实际编写语句时,用相应的内容替代;
{ }括起来表示是必选的; 类似A|B的格式:表示A和B只能选择一个,不能同时都 选。
数据类型
系统数据类型 SQL Server预先定义好的,可以直接使用。
选择表中的若干行
1)消除重复的行:DISTINCT
1. 查询所有选修过课的学生的学号 SELECT Sno FROM SC
等价于:
SELECT ALL Sno FROM SC
结果中保留了重复的行
SELECT DISTINCT Sno FROM SC
结果中消除了重复的行
2)查询满足条件的元组
通过WHERE子句实现 常用的查询条件
约束 constraint
约束是SQL Server提供的自动保持数据库完整 性的一种方法 。
主键约束 primary key 主键能够唯一地确定表中的每一条记录,主键不能取空值。 主键约束可以保证实体的完整性。
唯一性约束 unique •唯一性约束用于指定一个或多个列的组合值具有唯一 性,以防止在列中输入重复的值。 •使用唯一性约束的字段允许为空值; •一个表中可以允许有多个唯一性约束; •可以把唯一性约束定义在多个字段上;
第4章 T-SQL语言
Select select select select
cast('2008-05-08 12:35:29.1234567' as time(7)) cast('2008-05-08 12:35:29.1234567' as date) cast('2008-05-08 12:35:29.123' as smalldatetime) cast('2008-05-08 12:35:29.123' as datetime)
4.1 T-SQL特点
一体化 两种使用方式,交互和嵌入 非过程化语言 简洁
4.2 T-SQL数据类型
分为系统数据类型和用户自定义数据类型 系统数据类型
数字型:整数,小数,负数、分数等
整数int,bigint,smallint,tinyint 非整型decimal(p,s),float
货币:money,smallmoney 日期:datetime,datetime2,date,time, datetimeoffset,smalldatetime
4.2 T-SQL数据类型--例子
Select cast('2007-05-03 12:35:29' as smalldatetime), cast('2007-05-08 12:35:30' as smalldatetime), cast('2007-05-08 12:59:59.998' as smalldatetime)
应用程序----作为一个批处理; 存储过程或触发器-----作为一个批处理; 由EXECUTE命令语句执行的字符串构成一个批处理
Select * from 客户表 Select * from 工作人员表 go
sql语句transact
sql语句transacttransact是SQL语言中的一个关键字,用于启动或结束一个事务。
事务是指一系列数据库操作的逻辑单元,要么全部成功执行,要么全部回滚。
在实际应用中,使用transact语句可以确保数据的一致性和完整性。
下面列举了十个使用transact的SQL语句示例:1. 启动一个事务:```BEGIN TRANSACTION;```这条语句用于启动一个新的事务。
2. 提交一个事务:```COMMIT;```这条语句用于提交当前事务,将事务中的所有操作永久保存到数据库中。
3. 回滚一个事务:```ROLLBACK;```这条语句用于回滚当前事务,将事务中的所有操作撤销。
4. 设置事务的隔离级别:```SET TRANSACTION ISOLATION LEVEL READ COMMITTED;```这条语句用于设置事务的隔离级别为读已提交,确保在事务执行期间不会读取到其他事务未提交的数据。
5. 使用SAVEPOINT设置一个保存点:```SAVEPOINT savepoint_name;```这条语句用于在事务中设置一个保存点,可以在事务执行过程中回滚到保存点。
6. 回滚到一个保存点:```ROLLBACK TO SAVEPOINT savepoint_name;```这条语句用于回滚事务到指定的保存点。
7. 设置事务的名称:```SET TRANSACTION NAME 'transaction_name';```这条语句用于为当前事务设置一个名称,方便在事务日志中进行标识。
8. 查看当前事务的状态:```SELECT * FROM sys.dm_tran_current_transaction;```这条语句用于查看当前事务的状态信息,包括事务ID、事务开始时间等。
9. 查看当前数据库中的所有事务:```SELECT * FROM sys.dm_tran_active_transactions;```这条语句用于查看当前数据库中所有活动的事务,包括事务ID、事务开始时间、事务状态等。
第4章1TransactSQL语言PPT课件
4.1.2 用户定义的数据类型
在SQL Server 2000中,用户定义的数据类型是基于 系统数据类型的。在创建一个用户定义的数据类型 时,必须给出以下三部分信息:
●新数据类型名
● 这种数据类型是基于哪种系统数据类型的
●可否为空
若用户定义的数据类型放在某个用户数据库中,则这 种数据类型仅能在此库中使用。若这种数据类型定 义在model数据库中,则所有的用户数据库均可使 用该数据类型。
Uniqueidentifier: 这 种 数 据 类 型 用 于 存 储 一 个 1 6 字 节长的二进制数据,称为全局惟一标识符代码 (Globally Unique Identifier,简写为GUID)。在 SQL Server中,用NEWID函数来生成GUID。即使 在不同的计算机及不同的数据库中,也不会有相同 的GUID。
有两种方式可以创建用户定义的数据类型: ①使用企业管理器创建用户定义数据类型。 ②利用系统存储过程sp_addtype创建用户定义数据类
型。 系统存储过程为用户提供了T_SQL语句创建定义数
据类型的途径,其语法形式如下:
sp_addtype [@typename=] type, [@phystype=] system_data_type
Smalldatetime:与datetime数据类型类似,但其日期 时间范围较小,它可以存储从1900年1月1日到2079 年6月6日内的日期和时间,精度为1分钟。每个 smalldatetime型数据占用4个字节的存储空间。
6. 货币数据类型
这种类型的数据可以存放一个正或负的货币值,其存 放的数据中小数点后总是4位。
7. 位数据类型
bit:这种类型的数据仅有两种取值:0或1,长度为1 字节。适用于存储一个逻辑值。
Transact-SQL程序设计——Transact-SQL基础
2 T✎ransact-SQL要素
全局变量与局部变量
变量是用来临时存放数据的对象,是SQL Server用于在T-SQL语句间传递数据的 方式之一。变量有名字和数据类型两个属性,由系统或用户定义并赋值。 SQL Server中的变量可以分为全局变量和局部变量两大类。
➢全局变量
全局变量以@@开头,由系统定义和维护,不能由用户创建,对用户来说是只读 的,大部分的全局变量记录了SQL Server服务器的当前状态信息。全局变量是不 可以赋值的。
Transact-SQL程序设计
——Transact-SQL基础
教学内容
Transact-SQL语言简介 Transact-SQL要素
1 Transact-SQL语言简介
Transact-SQL(简称T-SQL)语言是SQL Server使用的一种数据库查询和编程 语言,是结构化查询语言SQL的增强版本,增加了一些非标准的SQL语句, 使其功能更强大。使用T-SQL语句可建立、修改、查询和管理关系数据库, 也可以把T-SQL语句嵌入到某种高级程序设计语言(如VB、VC、DELPHI)中 。但T-SQL本身不提供用户界面、文件或I/O设备,编程结构简单而有限。
2 T✎ransact-SQL要素
局部变量
(1)局部变量的声明 在使用局部变量以前,必须使用DECLARE语句来声明这个局部变量。DECLARE语句 的语法格式如下:
declare @局部变量名 数据类型[,…n]
【例1】 使用DECLARE语句声明一个用于保存计数值的整型变量。
2 T✎ransact-SQL要素
2 T✎ransact-SQL要素
批处理
批处理就是单个或多个T_SQL语句的集合,由应用程序一次性发送给SQL Server解释并执行批处理内的所有语句指令。使用GO命令和EXECUTE命 令可以将批处理发送给SQL Server。
第04章 Transact-SQL语言基础
4.1 了解Transact-SQL编程语言
4.1.2 Transact-SQL语句分类
(3)数据控制语言。数据控制语言(DCL)是用来设臵 或更改数据库用户或角色权限的语句,包括GRANT, DENY,REVOKE等命令。在默认状态下,只有 sysadmin,dbcreator,db_owner或db_securityadmin等 人员才有权限执行数据控制语言。 (4)控制流语句。Transact-SQL还为用户提供了控制流 语句,用于控制SQL语句、语句块或者存储过程的执行 流程。常用流程控制语句有BEGIN…END、IF…ELSE、 WHILE、BREAK、GOTO、WAITFOR、RETURN等 主要语句。
清华大学出版社. SQL Server 2005数据库应用与开发
4.1 了解Transact-SQL编程语言
4.1.1 Transact-SQL概述
3.架构的使用和说明
(2)用户架构分离。架构与数据库用户分离对DBO和开 发人员而言有下列好处: 多个用户可以通过角色成员身份或 Windows 组成员 身份拥有一个架构。简化了删除数据库用户的操作。 删除数据库用户不需要重命名该用户架构所包含的对 象。 多个用户可以共享一个默认架构以进行统一名称解析。 开发人员通过共享默认架构可以将共享对象存储在为 特定应用程序专门创建的架构中,而不是 DBO 架构 中。 可以用更大的粒度管理架构和架构包含的对象的权限。
4.1 了解Transact-SQL编程语言 4.1.1 Transact-SQL概述
Transact-SQL语言用于处理SQL Server 2005数据库引擎实例的相关操作,主要包 括创建和管理数据库对象、插入、检索、 修改和删除数据。 Transact-SQL语言不是一种标准的编程语 言,只能够提供SQL Server 的数据引擎 来分析和运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如:编写 程序, 数据库中的student表中, 表中, 例如:编写T-SQL程序,在mydb数据库中的 程序 数据库中的 表中 统计并输出姓李的学生人数。 统计并输出姓李的学生人数。
--打开 打开mydb数据库 数据库 打开 use mydb go --申明局部变量 申明局部变量 declare @find varchar(30),@rs int --给局部变量赋值 给局部变量赋值 set @find='李%' 李 select @rs=count(*) from student where studentName like @find --输出统计结果 输出统计结果 print '姓李的学生人数为:' 姓李的学生人数为: 姓李的学生人数为 print @rs go
4.3.2 字符串函数
在数据库中存储的字符串函数可以实现对字符串的操 作、查找和转换等操作。(P114) 查找和转换等操作。 ) 如:返回字符表达式最左端字符的ASCII码: 返回字符表达式最左端字符的 码 ASCII(‘abc’) 返回 返回97 返回最左端的几个字符 LEFT(‘CHINA’,3) 返回 返回CHI
4.3.5 聚ቤተ መጻሕፍቲ ባይዱ函数
聚合函数可以返回整个或者几个列或者一个列的汇总数 据。常用的聚合函数有 AVG(平均值) (平均值) COUNT(计数) (计数) MAX(最大值) MAX(最大值) MIN(最小值) (最小值) SUM(求和) (求和) 除了COUNT以外,聚合函数都会忽略空值。所有聚合 以外, 除了 以外 聚合函数都会忽略空值。 函数均为确定性函数。也就是说, 函数均为确定性函数。也就是说,只要使用一组特定输入 值调用聚合函数,该函数总是返回相同的值。 值调用聚合函数,该函数总是返回相同的值。
⑵内联表值自定义函数
内联表值自定义函数以表的形式返回一个返回值, 内联表值自定义函数以表的形式返回一个返回值,即他返 回的是一个表。他直接使用 子句, 回的是一个表。他直接使用RETURN 子句,其中包含的 SELECT语句将数据从数据库中筛选出来形成一个表。 语句将数据从数据库中筛选出来形成一个表。 语句将数据从数据库中筛选出来形成一个表 使用内联表值自定义函数可以提供参数化的视图功能。 使用内联表值自定义函数可以提供参数化的视图功能。 内联表值自定义函数可以提供参数化的视图功能 例如:创建内联表值自定义函数, 例如:创建内联表值自定义函数,该函数名为 内联表值自定义函数 getstudentsInformation,用到了一个 用到了一个classID参数,函数的返回 参数, 用到了一个 参数 值为某班的全体学生信息。 值为某班的全体学生信息。
4.2.4 批处理
批处理是由一条或者多条Transact-SQL语句构成,以 语句构成, 批处理是由一条或者多条 语句构成 GO语句作为结束符的一组 语句作为结束符的一组SQL语句。前端应用程序会将所 语句。 语句作为结束符的一组 语句 有这些语句作为单个代码单元发送给SQL Server 2005。 有这些语句作为单个代码单元发送给 。 SQL Server 2005会将整个批处理作为一个整体来加以分 会将整个批处理作为一个整体来加以分 析、优化、编译和执行。如果在批处理语句中发现了任何错 优化、编译和执行。 误,都会导致整个批处理失败,也就是不会执行批处理中的 都会导致整个批处理失败, 任何语句。但是,在这个解析过程中, 任何语句。但是,在这个解析过程中,SQL Server 2005不 不 会检查对象的名字或模式, 会检查对象的名字或模式,这是因为在执行语句的时候模式 有可能会发生变化的缘故。 有可能会发生变化的缘故。
1 2 3 4 5 6 7 8 9
2.通配符 种 2.通配符(4种)
%:代表包含零个或多个字符的任意字符串。 :代表包含零个或多个字符的任意字符串。 计算机%' 如:where title like '%计算机 计算机 _(下划线):代表任意一个字符。 (下划线):代表任意一个字符。 ):代表任意一个字符 如:where year_born like 196_' []:代表指定范围内或属于方括号所指定的集合中的任意单个字符 : 如:where year_born like 196[1-4]' [^]:代表不在方括号之间指定的范围或集合内的任何单个字符。 :代表不在方括号之间指定的范围或集合内的任何单个字符。 如:where year_born like 196[^0-4]'
1.运算符(书108) 运算符( 运算符 ) 2.通配符(书110) 通配符( 通配符 ) 3.注释符(书110) 注释符( 注释符 )
1.运算符 1.运算符
运算符优先级顺序
运算符主要: 运算符主要: 算术运算符 比较运算符 逻辑运算符 连接运算符: 连接运算符 +
优先级顺序
运算符
~逻辑非 *乘 /除 %取模 +正 -负 +加 –减 +连接 &位与 比较运算符 位或 位异或 NOT AND ALL ANY BETWEEN IN LIKE OR SOME =赋值
⑶多语句表值自定义函数
多语句表值自定义函数可以看作是标量型和内联表值函 数的结合体,该语句返回值是一个表, 数的结合体,该语句返回值是一个表,用begin…end 语句 块包含起来的函数体, 块包含起来的函数体,返回值的表中的数据时由函数体中的 语句插入的。 语句插入的。 例如:创建多语句表值自定义函数。 例如:创建多语句表值自定义函数。 多语句表值自定义函数
使用查询编辑器
4.2 数据类型、常量与变量 数据类型、
系统数据类型 用户定义的数据类型 SQL SERVER中的运算符与通配符 中的运算符与通配符 批处理 常量与变量
4.2.1系统数据类型 系统数据类型 4.2.2用户定义的数据类型 可编程性→类型 用户定义的数据类型:可编程性 类型 用户定义的数据类型 4.2.3SQL SERVER中的运算符与通配符 中的运算符与通配符
4.3
Transact-SQL常用函数 Transact-SQL常用函数
函数给用户提供了强大的功能, 函数给用户提供了强大的功能,它使用户不需要编 写很多代码就能够完成某些任务。在数据库的日常维护 写很多代码就能够完成某些任务。 和管理中,函数的使用是非常频繁的。Transact-SQL提 和管理中,函数的使用是非常频繁的。Transact-SQL提 供了很多能返回信息的函数,主要包括字符串函数、 供了很多能返回信息的函数,主要包括字符串函数、时 间日期函数、数学函数、转换函数和聚合函数。 间日期函数、数学函数、转换函数和聚合函数。
3.注释符 3.注释符
单行注释:以--(两个连字符)开始,由换行符终止。 单行注释: (两个连字符)开始,由换行符终止。 --打开数据库 打开数据库 use database 多行注释:包含在 和 中 其规则是,第一行用/*开始 开始, 多行注释:包含在/*和*/中。其规则是,第一行用 开始, 接下来的是注释行,并且用 结束注释 结束注释。 接下来的是注释行,并且用*/结束注释。 /*打开作者信息表,显示所有作者信息*/ 打开作者信息表,显示所有作者信息 打开作者信息表 select * from authorinfo
产生GUID GUID的函数 4.3.1 产生GUID的函数
GUID是一个全局唯一标识符,使用它可以产生长度 是一个全局唯一标识符, 是一个全局唯一标识符 为16B的32个字符在任何两台计算机中都不会重复。 的 个字符在任何两台计算机中都不会重复。 个字符在任何两台计算机中都不会重复 declare @aaa uniqueidentifier set @aaa=newid() select @aaa
4.3.6 其它函数
⑴CONVERT 将一种数据类型转换为另一种数据类型 ⑵CURRENT_USER 返回当前用户名 ⑶ISDATE 某输入数据是否为合法日期 ⑷ISNUMERIC 某输入数据是否为数值
4.3.7 系统函数
系统函数用于显示与SQL Server 2005服务器、数据 服务器、 系统函数用于显示与 服务器 库和用户相关的特殊信息。 库和用户相关的特殊信息。 如:--主机信息 主机信息 print host_id() --主机 号 主机ID号 主机 print host_name() --数据库信息 数据库信息 print db_id() print db_name() --系统用户信息 系统用户信息 print suser_id() print suser_name()
4.3.8 用户自定义函数
用户自定义函数是接受参数、 用户自定义函数是接受参数、执行操作并将操作结果以 值的形式返回的过程。 值的形式返回的过程。 根据函数返回值形式的不同,可以创建三类自定义函数: 根据函数返回值形式的不同,可以创建三类自定义函数: 标量值自定义函数 内联表自定义函数 多语句表值自定义函数 自定义函数使用: 来创建。 自定义函数使用: create function 来创建。
⑴标量值自定义函数
标量值自定义函数返回一个确定类型的标量值, 标量值自定义函数返回一个确定类型的标量值,其返回 值类型为除text,ntext,image,cursor,timestamp和table外的其 和 值类型为除 外的其 他数据类型。即标量值自定义函数返回的是一个数值。 他数据类型。即标量值自定义函数返回的是一个数值。 例如:创建返回标量值的用户自定义函数, 例如:创建返回标量值的用户自定义函数,该函数名为 studentAge,用到了一个 用到了一个datetime型的参数,参数名为 型的参数, 用到了一个 型的参数 birthdate,函数返回值类型为 。 函数返回值类型为int。 函数返回值类型为
4.2.5 常量与变量
常量:表示一个特定数据值的符号。(P110) 常量:表示一个特定数据值的符号。( 。( ) 变量: 变量: 全局变量:系统内部使用的变量,以两个@@开头,在2005 中也被 开头, 全局变量:系统内部使用的变量,以两个 开头 看成是系统函数 。 如:select @@version as 版本号 局部变量:使用 语句定义, 局部变量:使用Declare@localvariable 语句定义,并通过 SELECT或SET @Localvariable语句在申明该变量的语句批处 或 语句在申明该变量的语句批处 理内赋予初始值 如:declare @aaa char(10) /*声明长度为 的字符型变量aaa*/ 声明长度为10的字符型变量 声明长度为 的字符型变量 set @aaa='dont''t' /*为局部变量赋值 为局部变量赋值*/ 为局部变量赋值 select @aaa