iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL学习之T-SQL编程之标识符、变量、批处理与运算符
  • 653
分享到

SQL学习之T-SQL编程之标识符、变量、批处理与运算符

2024-04-02 19:04:59 653人浏览 独家记忆
摘要

1、标识符:(1)定义:就像每个人都要有个名字一样,在SQL Server中,每一项对象也都要有一个作为标识用的名称,这就是标识符。例如数据库名称、数据表名称、字段名称等等,这些名称统称为标识符。(2)命名

1、标识符:

(1)定义:就像每个人都要有个名字一样,在SQL Server中,每一项对象也都要有一个作为标识用的名称,这就是标识符。例如数据库名称、数据表名称、字段名称等等,这些名称统称为标识符。

(2)命名规则:

            a、英文字符:A~Z或a~z,在sql中是不用区分大小写的。

 b、数字:0~9,但数字不得作为标识符的第一个字符。

 c、特殊字符:_、#、@、$,但#、@、$ 不得作为标识符的第一个字符。

 d、特殊语系的合法文字:例如中文文字也可作为标识符的合法字符。

特殊说明:若对象名称不符合上述规则,只要在名称的前后加上中括号,该名称就变成合法标识符了(但标识符的长度仍不能超过128个字符)

注意:标识符不能是SQL的关健词,例如“table”、“TABLE”、“select”、“SELECT”等都     不能作为标识符。

    标识符中不能有空格符,或_、#、@、$之外的特殊符号。

    标识符的长度不得超过128个字符长度


2、变量:

(1)分类:

SQL Server中存在两类变量:

全局变量: 由系统定义和维护,变量名前加“@@”

       如:@@VERSio

局部变量:

       由用户定义和使用,仅在声明它的批处理、存储过程或触发器中有效。变量名加“@”如:        @mystr


(2)局部变量的声明:

基本格式:

       declare @变量名称 数据类型


变量的赋值:

       格式1:  定义变量的同时赋值

       格式2:  set 赋值,(set @变量名 = 表达式)

              select赋值,(select @变量名 as 表达式)

举例:

DECLARE    @A  CHAR(20)

DECLARE    @f  float,@cn  char(8)=‘aa’


注意事项:

       一次可以声明多个变量,用逗号隔开

       所有局部变量在声明后均初始化为NULL

       声明的局部变量可以用set或select赋值

       set语句一次只能给一个变量赋值,select语句可同时为多个变量赋值。


(3)局部变量的输出:

局部变量的输出可以通过print和select实现,区别在于,print一次只能输出一个变量的值,select一次可以输出多个变量的值


3、批处理与脚本:

(1)批处理:

       批处理是由一条或多条T-SQL语句组成的语句集。这些语句被应用程序作为一个整体提交        给服务器,并在服务器端作为一个整体执行。可根据自己的编程习惯和编写批处理的要求使        用批处理


       在查询分析器中,可以用GO命令标志一个批处理的结束。GO不是T-SQL语句,它的作用是        通知查询分析器有多少语句要包含在当前的批处理中。

       查询分析器将第一个GO之前的语句或者两个GO之间的语句,或者最后一个GO之后的语句       分别作为一个批处理,分别组成一个字符串交给服务器去执行


使用批处理应注意的问题:

                a:不能在一个批处理中引用其他批处理中定义的变量

                b:不能将注释从一个批处理开始,在另一个批处理中结束

                c:不能在一个批处理中修改一个表的结构,然后在同一个批处理中引                  用刚修改的新列

                d:不能在一个批处理中创建一个数据库,然后在同一个批处理中选择                  该库

                 e:大多数带CREATE关键字的语句不能与其他语句在同一个批处理中,如                   CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE                     TRIGGER与CREATE VIEW语句,但是CREATE TABLE、CREATE                       DATABASE、CREATE INDEX可以

                 f:当需要执行存储过程时,需使用EXEC语句。如果存储过程是批处理                   中的第一条语句,那么省略EXEC关键字也可以执行该存储过程

                g:每个批处理都是独立执行的,并不会相互影响。即无论前一个批处                   理是否正确执行,下一个批处理仍会继续执行


(2)脚本:

      脚本是一系列顺序提交的批处理。脚本可以直接在查询分析器等工具中输入并执行,也可以保       存在文件中,再由查询分析器等工具打开执行

      一个脚本可以包含一个或多个批处理。脚本中的Go命令标志一个批处理的结束,如果一个脚本       中没有包含GO命令,那么它整个被视为是一个批处理


3、运算符:

(1)定义:运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。SQL Server 使用下列几类运算符:算术运算符、赋值运算符、按位运算符、比较运算符、逻辑运算符、字符串连接运算符


(2)算术运算符:

算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(整数相除的余数),用于数值和日期时间的运算。

上述一些运算符的作用大家已经清楚,在此不再赘述,这里仅对日期时间数据的运算作说明。日期时间与数值可做加或减运算,其意义分别为日期加几天或减几天,结果仍为日期时间数据。


(3)赋值运算符:

赋值运算符只有一个,那就是“=”(等号),用来将数值或字符串指定给字段或变量。 


(4)按位运算符:

按位运算符包括&、|、^三种,用来对位进行逻辑运算。

&:为按位与(AND)运算符。当运算符前后的操作数都为1时,结果为1,只要有一个不为1,结果就是0。

|:为按位或(OR)运算符。此运算符前后的操作数只要有1个为1,结果就为1,只有两个都为0的时候,结果才为0。

^:为异或(Exclusive OR)运算符。只有当两个操作数的值不一样的时候才会是1,否则为0。


(5)比较运算符:

比较运算符又称关系运算符,用于测试两个表达式的值之间的关系,其运算结果为布尔类型的值TRUE或者FALSE。

除text、ntext 或p_w_picpath类型的数据外,比较运算符可以用于所有的表达式。


(6)逻辑运算符:

逻辑运算符用于对某个条件进行测试,以获得其真实情况。逻辑运算符和比较运算符一样,返回带有TRUE或FALSE的布尔数据类型。


(7)字符串连接运算符:

字符串连接运算符号为“+”,是用来连接字符串的。它可连接字符串变量、列及字符串表达式。若有其他数据类型的数据要与字符串相加,则必须转换为字符类型。


(8)运算符优先级:

当使用多个运算符来组成表达式,优先级较高的运算符会优先做运算。如果希望某部分能够优先运算,那么可用小括号括起来。如果有多层小括号,则在内层的算式优先。比如“3*(6/(4-2))”,结果为9。

下面将优先级从高到低依次列出: 

()括号

+(正)、-(负)、~(按位 NOT)

*(乘)、/(除)、%(模)

+(加)、(+ 串联)、-(减)

=,  >,  <,  >=,  <=,  <>,  !=,  !>,  !< 比较运算符

^(位异或)、&(位与)、|(位或)

NOT

AND

ALL、ANY、BETWEEN、IN、LIKE、OR、SOME

=(赋值) 



您可能感兴趣的文档:

--结束END--

本文标题: SQL学习之T-SQL编程之标识符、变量、批处理与运算符

本文链接: https://www.lsjlt.com/news/38558.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sql中外码怎么设置
    sql 中外码设置步骤:确定父表和子表。在子表中创建外码列,引用父表主键。使用 foreign key 约束将外码列链接到父表主键。指定引用动作,以处理父表数据更改时的子表数据操作。 ...
    99+
    2024-05-15
  • sql中having是什么
    having 子句用于过滤分组结果,应用于分组后的数据集。它与 where 子句类似,但基于分组结果而不是原始数据。用法:1. 过滤分组后的聚合值。2. 根据分组后的...
    99+
    2024-05-15
  • 在sql中空值用什么表示
    在 sql 中,空值表示未知或不存在的值,可使用 null、空字符串或特殊值表示。处理空值的方法包括使用操作符(is null/is not null)、coalesce 函数(返回第一...
    99+
    2024-05-15
    oracle
  • sql中number什么意思
    sql 中的 number 类型用于存储数值数据,包括小数和整数,特别适合货币、度量和科学数据。其精度由 scale(小数点位数)和 precision(整数字段和小数字段总位数)决定。...
    99+
    2024-05-15
  • sql中空值赋值为0怎么写
    可以通过使用 coalesce() 函数将 sql 中的空值替换为指定值(如 0)。coalesce() 的语法为 coalesce(expression, replacement),其...
    99+
    2024-05-15
  • sql中revoke语句的功能
    revoke 语句用于撤销指定用户或角色的权限或角色成员资格。可撤销的权限包括 select、insert、update、delete 等,撤销的对象类型包括表、视图、存储过程...
    99+
    2024-05-15
    敏感数据
  • sql中REVOKE是什么意思
    revoke 是 sql 中用于撤销用户或角色对数据库对象权限的命令。它通过撤销权限类型、对象级别和目标权限来实现:权限类型:撤销 select、insert、update、d...
    99+
    2024-05-15
  • sql中sp是什么意思
    sql中的sp是存储过程的缩写,它是一种预编译的、已命名的sql语句块,存储在数据库中,可以被用户通过简单命令调用。存储过程的特点有:可重用性、模块化、性能优化、安全性、事务支持。存储过...
    99+
    2024-05-15
    敏感数据
  • sql中references是什么意思
    sql 中的 references 关键字用于在外键约束中定义表之间的父-子关系。外键约束确保子表中的行都引用父表中存在的行,从而维护数据完整性。references 语法的格式为:fo...
    99+
    2024-05-15
  • sql中判断字段为空怎么写
    sql 中可通过 4 种方法判断字段是否为空:1)is null 运算符;2)is not null 运算符;3)coalesce() 函数;4)case 语句。例如,查询所有 colu...
    99+
    2024-05-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作