天轰穿趣味编程系列视频教程之Sql Server开发视频教程辅助笔记第七讲:Transact-Sql 语言 (一)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
概述
• Transact-Sql 语言是Microsoft SQL Server中对数据 库进行控制、查询、定义使用的语言。可以说它 是我们和数据库系统对话的主要语言。 • SQL全称是“结构化查询语言(Structured Query SQL “ (Structured Language)” 。SQL是一种数据库查询和程序设计语 言,用于存取数据以及查询、更新和管理关系数 据库系统。SQL同时也是数据库脚本文件的扩展名。
– DLL语句可以创建、修改、删除数据库、表、索引、视图、 存储过程和其他对象
• 数据控制语句(Data Control Language,DCL)
– DCL语句用于控制用户和数据库对象的安全权限
• 附加的语言元素
– 附加的语言元素主要为了辅助SQL语言。例如SET ,DECLARE, OPEN ,FETCH,CLOSE,EXECUTE,if,else等等
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
Байду номын сангаас
注释
• 块注释 • 行内注释
/****************************************************************** * 项目:**教务管理系统 * 表名:course * 时间:2008-02-26 11:17:26 * 创建人:田洪川 * 用途:对表course(课程)的操作 * 测试:田洪川,均已通过 * 变更记录 * 时间 2008-03-5 9:11:20 * 变更人:田洪川 * 变更描述:增加一个或许简单信息的存储过程Stu_Course_GetSmall Stu_Course_GetSmall ******************************************************************/ -------------------------------------用途:是否已经存在 --项目名称:学籍管理系统 --说明:根据传入的课程主键@co_id判断数据库中是否存在这条数据 --时间:2008-02-26 11:17:28 -----------------------------------CREATE PROCEDURE Stu_course_Exists @co_id int AS DECLARE @TempID int SELECT @TempID = count(1) FROM course WHERE co_id=@co_id IF @TempID = 0 RETURN 0 --如果不存在就返回0 ELSE RETURN 1 --如果存在就返回1 GO 学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
declare @a int =10,@b int =20,@c int =30; --申明3个变量并同时赋值 if(@a<@b and @b>@c) --尝试修改比较、逻辑运算符 begin print '逻辑合理' end else begin print '逻辑错误' end
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
运算符优先级
级别 1 2 3 4 5 6 7 8 ~(位非) *(乘)、/(除)、%(取模) +(正)、-(负)、+(加)、(+连接)、-(减)、&(位与)、^(位 异或)、|(位或) =、>、<、>= 、<= 、<> 、!=, !> 、!<(比较运算符) NOT AND ALL、ANY、BETWEEN、IN、LIKE、OR、SOME =(赋值)
USE AdventureWorksDW GO CREATE TABLE BOOKS( ID int primary key, B_NAME varchar(100) ) GO
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
数据操作语句(DML)
• DML语句用于处理数据,包括数据检索、在表中 插入行、修改值、删除行等。主要有如下:
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
T-SQL语句分类
• 数据操作语句(Data Manipulation Language,DML)
– 查询、插入、修改、删除 数据
• 数据定义语句(Data Definition Language,DDL)
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
比较运算符
运算符 =(等于) > (大于) < (小于) >=(大于等于) <=(小于等于) <> (不等于) !=(不等于) !<(不小于) !>(不大于) 等于 大于 小于 大于等于 小于等于 不等于 不等于(非 ISO 标准) 不小于(非 ISO 标准) 不大于(非 ISO 标准) 含义
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
附加的语言元素
• 附加的语言元素主要为了辅助SQL语言。例如 SET ,DECLARE,OPEN ,FETCH,CLOSE,EXECUTE,if, else等等
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
语句 CREATE ALTER DROP
描述 用来创建新对象,包括数据库、表、视图、过程、触发器和函数 等常见数据库对象 用来修改已有对象的结构。根据用途的不同,这些对象使用 ALTER语句的语法也不同 用于删除已有的对象。有些对象是无法删除的,因为它们是与模 式捆绑的。这就是说,如果表中包含的数据参与了一个关联,或 者另一个对象依赖要删除的对象,就不能删除它
运算符
• 运算符共有算术运算符、逻辑运算符、位运算符、 一元运算符、赋值运算符、比较运算符、字符串 串联运算符这么几种。
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
布尔运算符
运算符 ALL AND ANY BETWEEN EXISTS IN LIKE NOT OR SOME 含义 如果一组的比较都为 TRUE,那么就为 TRUE。 如果两个布尔表达式都为 TRUE,那么就为 TRUE。 如果一组的比较中任何一个为 TRUE,那么就为 TRUE。 如果操作数在某个范围之内,那么就为 TRUE。 如果子查询包含一些行,那么就为 TRUE。 如果操作数等于表达式列表中的一个,那么就为 TRUE。 如果操作数与一种模式相匹配,那么就为 TRUE。 对任何其他布尔运算符的值取反。 如果两个布尔表达式中的一个为 TRUE,那么就为 TRUE。 如果在一组比较中,有些为 TRUE,那么就为 TRUE。
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
Sql Server全局变量
• 看列表
– 暂停视频抄一下,做个笔记 – 以后在我博客上慢慢查找 – SQL联机丛书中去找
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
事务管理语言
• 针对事务定义的语言元素,比如例如
– BEGIN TRANSACTION/COMMIT,ROLLBACK, TRANSACTION 等
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
标识符&命名规范
• 在Transact-Sql语言中,数据库对象的名称就是其 标示符。在SQL Server系统中所有对象都可以标示 符,例如服务器、数据库、表、视图、约束等等, 而且对于大多数数据库对象来说,标示符都是必 须的。 • 常见命名规范
学习目标
• Transact-Sql 语言概述和执行方式 • 数据库操作语言的特点:数据定义语言、数据操 纵语言、数据控制语言 • 语言元素的类型和特点,控制符号,变量,表达 式,注释 • 数据类型:数据库中数据的各种类型详解 • 内置函数:Sql Server数据库中各种内置函数和常 用内置存储过程
天轰穿 天轰穿趣 味编程系列视频教程
Sql Server 开发视频教程 开发视频教 频教程
Transact-Sql 语言 (一)
学云签约讲师: 田洪川(天轰穿 学云签约讲师: 田洪川 天轰穿 签约讲师 天轰穿)
Blog:http://www.ixueyun.com/blog/thcjp 微博:http://t.qq.com/tianhc 学号/QQ号:110535808 http://weibo.com/thcd
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
调试T-SQL
use master go declare @dbv varchar(30), @result varchar(30); set @dbv='CREATE'; SELECT @result = Event FROM DatabaseLog WHERE Event like '%'+@dbv+'%' select @result; go
Use master go declare @max int; set @max=1; while @max<10 begin set @max=@max+1; print @max; end print '终于循环完了'
--申明一个变量@max --为变量@max赋值 --如果@max小于就进入循环 --每次循环就给@max加 --打印当前@max的值
上节回顾
• 数据库中的数据是放在那里的? • 如果数据库在运行一段时间之后,发现目前的容 量满足不了大量的数据库存储,怎么办? • 如果数据库崩溃了怎么办? • 为什么数据库总是处在“正在还原”的状态?怎 么办? • 在做实例的时候分别都用了些什么语法?
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
– – – – SELECT INSERT DELETE UPDATE
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
数据控制语句(DCL)
• DCL语句用于控制用户和数据库对象的安全权限。 一些对象有不同的权限集。可以给特定的用户或 者用户组授予或者拒绝这些权限。这些用户或者 用户组属于一个数据库角色或者Windows用户组, 主要有 GRANT,DENY,REVOKE等。
– – – – – CREATE TABLE,DROP TABLE ,ALTER TABLE , CREATE VIEW,DROP VIEW CREATE INDEX,DROP INDEX, CREATE PROCEDURE,ALTER PROCEDURE,DROP PROCEDURE CREATE TRIGGER,ALTER TRIGGER,DROP TRIGGER
• 事务管理语言
– 针对事务定义的语言元素,比如例如BEGIN TRANSACTION/COMMIT,ROLLBACK
学云 www.ixueyun.com 为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
数据定义语句(DDL)
• 用于创建、管理数据库中的对象。DLL语句可以创 建、修改、删除数据库、表、索引、视图、存储过 程和其他对象:例如:
实践
declare @a int =10,@b int =20,@c int =30; --申明3个变量并同时赋值 if(@a<@b and @b>@c) --尝试修改比较、逻辑运算符 begin print '逻辑合理' end else begin print '逻辑错误' end
学云 www.ixueyun.com
– 见词知意 – 不可太长(不能超过3个英文单词) – 多模块则加前缀
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
局部变量
• 局部变量,它是用以在编程过程中临时保存单个 特定数据类型的的值对象。在Sql Server编程中一 般用于存储过程,自定义函数,批处理中
学云 www.ixueyun.com
运算符
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
表达式
• 表达式是标识符、值和运算符的组合,SQL Server 可以对其求值以获取结果。访问或更改数据时, 可在多个不同的位置使用数据。 • 表达式可以是下列任何一种:
– – – – – – 常量 函数 set @dbv='CREATE'; 列名 declare @a int =10 变量 SELECT B_NAME FROM BOOKS 子查询 CASE、NULLIF 或 COALESCE
学云 www.ixueyun.com
为您提供高品质课件、学习督导服务、即时答疑、知识交易平台
全局变量
• 全局变量是Sql Server系统定义并赋值的一系列变 量,我们只需要使用,自己却无法定义和赋值, 例如我们使用@@SERVERNAME来 返回运行SQL Server 2008本地服务器的名称。
相关文档
最新文档