T-SQL入门攻略之1-初识T-SQL

来源:互联网 发布:重生还珠之我是知画 编辑:程序博客网 时间:2024/04/29 11:21

1:SQLT-SQL

  1.1SQL语言

  SQL Structured Query Language的缩写,翻译为结构化查询语言

  SQL语言可以分为四类:

  数据查询语言(Data Query Language): select

  数据定义语言(Data Definition Language): create ,alter,drop

  数据操纵语言(Data Manipulation Language):insert ,update,delete

  数据控制语言(Data Control Language):grant,revoke

  1.2 T-SQL语言

  Transact-SQL 即事务SQL,也简称为T-SQL,它是微软公司对SQL语言的扩充,SQL语言的超集,是应用程序与SQLServer数据库引擎沟通的主要语言.主要由以下几个部分组成.

  1.2.1数据定义语言Data Definition Language ,DDL主要用于创建数据库及相关对象,修改及删除数据库对象.:

  Create 创建数据库对象

  Alter  修改数据库对象

  Drop  刪除数据库对象

  1.2.2数据控制语言Data Control Language,DCL 用于设置或者更改用户对数据库访问的权限.

  Grant  赋予用户权限

  Deny  禁止访问数据库对象,且无法从其他角色继承权限

  Revoke收回权限

  1.2.3数据查询语言Data Query Language,DQL

Select

1.2.4数据操纵语言Data Manipulation Language,DML 直接或间接操作表中的数据

使表中数据发生变化

Insert  插入数据

Update 更新数据

Delete  删除数据

1.2.5系统存储过程System Stored Procedure SP_开头,保存在master数据库中.

1.2.6一些附加的语言元素

1.2.6.1注释

单行注释--(两个连续的减号)

多行注释/* */

:

declare @I int --定義編量

set @i=9999

/*

*/

1.2.6.2变量

局部变量 : declare @I int

全局变量 : select @@version

1.2.6.3 运算符

1.2.6.4 函数

1.2.6.5流程控制语句

2:T-SQL执行方式

2.1直接调用执行

2.2嵌入式执行

2.3模块绑定执行

2.4通过调用层接口(CLI)执行

3:批处理

 3.1概念:

  是同时从应用程序发送到MSSQL并得以执行的一组单条或者多条的T-SQL语句.

MSSQL将批处理语句编译成单个可执行的单元,称为执行计划,执行计划中的语句每次执行一条.

T-SQL中通常遇到两类错误:编译错误与运行时错误

编译错误:是编译时产生的错误,如语法错误会导致编译错误

create table tb(ID)

/*

訊息173,層級15,狀態1,行1

資料行'ID' 的定義必須包含資料類型。

*/

运行时错误:在运行时候才产生的错误(编译已经通过):算术溢出等

select 13/0

/*

訊息8134,層級16,狀態1,行1

發現除以零的錯誤。

*/

注意:批处理对编译错误与运行时候错误处理方式不一样

如果在批处理里出现编译错误,则批处理中任何一条语句都不会执行.因为先将批处理的语句编译成一个可执行的单元,如果存在编译错误,就无法生成可执行但与,更不能执行了.

如果在批处理里存在运行时错误,则在大多数情况下会停止执行批处理中当前错误语句之后的语句,但也有些运行时错误,仅停止执行当前语句,而继续执行其他语句.但是如果批处理位于事务中,那么在遇到运行时候错误则需要视事务的定义来决定.后续将介绍.

3.2示例

use db_study      --1批处理

go

select * from tb --2批处理

go

select @@error   --3批处理

 

3.3批处理使用规则

3.3.1 Create 语句不能在批处理中与其他语句结合使用;如果包含Create 语句,则批处理必须以Create 语句开始;所有跟在批处理后的其他语句将被解释为第一个

Create 语句定义的一部分.这写语句包括create default,function,proc,rule,schema,trigger,view

  3.3.2不能在同一个批处理中更改表然后引用新列

  3.3.3 如果execute语句是批处理中第一条语句则不需要execute关键字反之必须有.

  P  --过程名此处省略execute

原创粉丝点击