资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第三章 SQL语言,第三章 SQL语言,3.2 T-SQL基础,1、标识符,定义:由用户定义的可识别的字符序列;,规则:,第一个字符必须是字母或下划线(_)或,或#;,后续字符可以是:字母、数字、_、#、$、,等;,注意:不能使用SQL中的关键字和运算符,不允许嵌 入空格或其他特殊字符,2、运算符,用来进行数学运算或比较运算,有以下几类:,(1)算术运算符,用于数值的算术运算,包括加、减、乘、除和取模(求余数)运算等。,(2)赋值运算符,等号(=),用于对变量赋值;,(3)比较运算符,用来比较两个表达式的相互关系,包括 =,=,,结果为true,flase或unknown;,(4)逻辑运算符,用于测试表达式,返回值true或false;包括and,or,not,in,like,exists,betweenand 等。,(5)连接运算符,字符串连接使用加号(+);,(6)运算符的优先顺序,从高到低:,(*,/,%),(+,-),(=,=,),(not),(and),(between,in,like,or),(=),有括号的先运算括号内的表达式。,3、变量,(1)局部变量,由用户定义,可对其赋值并可参与运算;,局部变量名前有一个,符号,使用前必须通过declare语句对其声明,declare,变量名 变量数据类型,对变量赋值使用select语句,格式:,select,变量名=常量值,(2)全局变量,由系统定义和维护,变量名前必须有,。可以使用select语句查看全局变量,格式:,select,变量名,(3)数据类型,1)字符型(char,varchar),由字母、数字和符号等组成,输入字符型数据时须用单引号将数据括起来,并需要规定其存储长度(最长为255);,固定长度类型(char),输入数据未达到定义长度时,系统在数据尾部添加空格,例:存储身份证号码或邮编时定义为char类型,可变长度类型(varchar),指存储数据所允许的最大长度,实际存储时只保存有效数据,实际占用空间 小于或等于定义的长度。如存储地址时就应该使用varchar型,注意:当输入数据长度大于定义长度时,自动将多余字符截掉并不报错。,CREATE TABLE My_Char,(,culumn1 char(10),column2 varchar(20),),INSERT INTO My_Char,(column1,column2),VALUES,(SQL SERVER,SQL SERVER 2000),SELECT*FROM My_Char,结果:,column1 column2,-,SQL SERVER SQL SERVER 2000,2)日期时间类型,有datetime和smalldatetime两种类型,比较如,下:,日期、时间数据类型必须用单引号括起来,3)整数类型,包括int、smallint、tinyint三种类型,比较如下:,例:,CREATE TABLE My_Int,(,culumn1 int,column2 smallint,column3 tinyint,),INSERT INTO My_Int,(column1,column2,column3),VALUES,(10,100,1000),SELECT*FROM My_Int,4)浮点数类型,用于处理值范围很大的数字,使用时有一定的精度,包括float和real类型;,float:-1.79E+3081.79E+308,占用8B,精度最多15位;,real:-3.40E+383.40E+38,占用4B,精度位数最多7位;,CREATE TABLE My_Float,(,culumn1 float,column2 real,),INSERT INTO My_Float,(column1,column2),VALUES,(1.23456789E20,3.1415926E10),SELECT*FROM My_Float,结果:,column1 column2,-,1.23456789E20 3.1415926E10,5)精确数类型,两种类型:decimal(p,s)和numeric(p,s),精度(p)指数据中所存储的十进制数据的位总和,小数位(s)指小数点右边能存储的数字位数的最大值。(s)一定要小于(p),与浮点型区别:精确数类型用户可以自定义精度的位数(最多28位)。,CREATE TABLE My_Decimal,(,culumn1 decimal(4,3),),INSERT INTO My_Decimal,(column1),VALUES,(3.1415926),SELECT*FROM My_Decimal,结果:,column1,-,3.142,6)货币型,输入货币型数据时,可在前加上货币符号;包括money和smallmoney类型,精度都是小数点后4位。,CREATE TABLE My_Money,(,column1 money,column2 money,),INSERT INTO My_Money,(column1,column2),VALUES,($123456789,$-1234),SELECT*FROM My_Money,7)位数据类型,一种逻辑数据类型,只有1和0两个值,一般用作true和false。,CREATE TABLE My_Bit,(,column1 bit,column2 bit,),INSERT INTO My_Bit,(column1,column2),VALUES,(100,0),SELECT*FROM My_Bit,8)文本型,某一列需存储255个以上字符时使用。,9)图象型,10)时间戳型,由系统自动赋值的一个计数器数据;,例:P235,
展开阅读全文