一、T-SQL语言的分类

  DDL-数据定义语言

    create-创建

    alter-修改

    drop-删除(针对对象)

  DML-数据操作语言

    Insert-插入

    update-更新

    delete-删除(针对对象的内容)

  DQL-数据查询语言

    select-查询

  DCL-数据控制语言

    revoke-撤销

    deny-拒绝

    grant-同意、授权

二、语法元素

  批处理元素

    go-语法结束标志,执行前面的语句或一个完成的处理过程

    exec-调用执行存储过程

  注释

    行注释:--

    块注释:/*  */

三、数据类型

  整数型

    Bigint:8个字节,范围:-263~263-1,精度:19

    Integer:4个字节,范围:-231~231-1,精度:10

    Smallint:2个字节,范围:-215~215-1,精度:5

    Tinyint:1个字节,范围0~255,精度:3

  精确数值型

    Numeric(5,3) -共五位数,其中三位是小数

    Decimal(15,5)-共15位数,其中五位是小数(默认精度为18)

    Decimal(p,s)-p为精度,s为小数位数

    精度为1-9,长度为5个字节

    精度为10-19,长度为9个字节

    精度为20-28,长度为13个字节

    精度为29-38,长度为17个字节

    注:Numeric与Decimal在是同义词,可互换使用,建议使用Decimal

  近似数值型

    real等价于float(24)

    float[(n)]其中n为存储float数值尾数的尾数(以科学记数法表示),因此可以确定精度和存储大小。如果指定了n,则它必须是介于1和53之间的某个值。n的默认值为53。

n 值 精度 存储大小
1-24 7 位数 4 个字节
25-53 15 位数

8 字节

  货币型

    Money 范围:-263~263-1,精确小数后4位,占8个字节

    Smallmoney 范围:-231-231-1,精确小数后4位,占4个字节

  位型

    bit 表示0或1

    SQL Server 数据库引擎 可优化 bit 列的存储。 如果表中的 bit 列为 8 列或更少,则这些列作为 1 个字节存储。 如果 bit 列为 9 到 16 列,则这些列作为 2 个字节存储,以此类推。

    字符串值 TRUE 和 FALSE 可转换为 bit 值:TRUE 转换为 1,FALSE 转换为 0。

    转换为 bit 会将任何非零值升为 1。

  日期时间型

    date 范围:0001-01-01 到 9999-12-31 字符长度:10位 存储大小:固定3个字节

    datetime 日期范围:1753 年 1 月 1 日到 9999 年 12 月 31 日 时间范围:00:00:00 到 23:59:59.997 字符长度:最低 19 位到最高 23 位 存储大小:8 字节

    smalldatetime 日期范围:1900-01-01 到 2079-06-06 时间范围:00:00:00 到 23:59:59(2017-07-07 23:59:59 将舍入为2017-07-08 00:00:00) 字符长度:最高19位 存储大小:固定4个字节 精度:一分钟

    time 范围:00:00:00.0000000 到 23:59:59.9999999 存储大小:固定5个字节 精度:100纳秒 字符长度:最小 8 位 (hh:mm:ss),最大 16 位 (hh:mm:ss.nnnnnnn)

  字符型

    char 固定长度(以空格填补多余长度)

    varchar 可变长度

    Nchar “Nuicode”固定长度

    Nvarchar “Nuicode”可变长度

    “Nuicode”国际标准码:双字节模式 如:一个汉字=两个字节

  文本型

    text 一个字符占用一个字节,数据的最大长度为231-1(2,147,483,647)个字符

    Ntext 一个字符占用两个字节,数据的最大长度为230-1(1,073,741,823)个字符

  使用数据类型的指导原则

    1.如果列的长度可变,使用某个可变数据类型

    2.要为以后数据的拓展预留空间

    3.精确数值型,建议使用decimal

    4.如果存储量超过了8000字节,使用text.如果存储量小于8000字节,使用char,可能时,最好使用varchar,原因在于它比text和image有更强的功能

    5.对于货币类型来说,使用money数据类型

    6.不要把float和real数据类型作为主键,原因在于这些数据类型的值是不精确的,它们不适于在比较中使用

四、标识符

  标准标识符

    标准标识符可以包含1到128位字符,包括字母,符号(_、@或#)及数字。标准标识符中不允许有空格。

  限定标识符([ ]/””)

    当对象名字包含空格时

    当保留关键字被用作对象名或对象部分的名字时

  标识符的命名规则

    名字尽量短

    尽量使用有意义的名字

    使用简单的清晰的命名习惯

    使用能区分出对象类型的标识符,尤其是视图和存储过程的名字

    保持对象名和用户名的唯一性

  特殊标识符

    # 局部临时变量

    ## 临时变量

    @ 局部变量

    @@ 全局变量

五、变量

  变量是可以赋值的SQL语句元素。

  在T-sql中,你可以使用局部变量。

  用户可以使用decare语句来定义一个局部变量,通过使用set和select语句为这个局部变量赋值,局部变量名前必须带有@.如果一个变量前有两个@@符号,那么它将被作为函数处理。

  例:定义一个字符型变量,赋值为"customer",并显示变量内容

  declare @tempName varchar(20)

  set @tempName='customer'

  select @tempName

六、运算符

  概述

    运算符是进行数学计算、字符操作及字段、常量和变量比较的符号。

  运算符的种类

    算述运算符:+,-,*,/,%

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

    字符运算符:+

    逻辑运算符:and,or,not用于连接where 子句中的查询条件

  运算符的优先级

运算符 优先级
+(正)-(负)~(按位取反) 1
*、/ 2
+(加),-(减) 3
=,>,<,>=,<=,<> 4
Not 5
And 6
all,between,in,like,or 7
=(赋值) 8

T-SQL语法基础的更多相关文章

  1. SQL语法基础之高级应用

    SQL语法基础之高级应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.存储过程与函数 1>.CREATE PROCEDURE 用来创建存储过程 mysql> ? ...

  2. SQL语法基础之DROP语句

    SQL语法基础之DROP语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看DROP帮助信息 mysql> ? DROP Many help items for yo ...

  3. SQL语法基础之SELECT

    SQL语法基础之SELECT 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SELECT查看帮助信息 1>.查看SELECT命令的帮助信息 mysql> ? SEL ...

  4. SQL语法基础之ALTER语句

    SQL语法基础之ALTER语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看ALTER的帮助信息 mysql> ? ALTER Many help items fo ...

  5. SQL语法基础之INSEART语句

    SQL语法基础之INSEART语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.查看INSERT方法的帮助信息 mysql> ? INSERT ...

  6. SQL语法基础之UPDATE语句

    SQL语法基础之UPDATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看UPDATE语句的帮助信息 1>.查看UPDATE的帮助信息 mysql> ? ...

  7. SQL语法基础之DELETE语句

    SQL语法基础之DELETE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.查看DELETE的帮助信息 mysql> ? DELETE Na ...

  8. SQL语法基础之CREATE语句

    SQL语法基础之CREATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.使用“?”来查看MySQL命令的帮助信息 mysql> ? CR ...

  9. oracle PL/SQL语法基础

    目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...

  10. SQL——语法基础篇(上)

    用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来 ...

随机推荐

  1. Oracle-10:分析函数

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 分析函数: 分析函数,可以修改排序的规则!!!!!!!!!!!!!!!!!!!!!!!! 首先把数据库脚本给放 ...

  2. SSM-Spring-21:Spring中事物的使用案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 股票买卖案例(我会用三种开启事物的方法 代理工厂bean版的,注解版的,aspectj xml版的) 简单的介 ...

  3. 监听Web容器启动与关闭

    在Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期. 要监听web ...

  4. 深入js隐式类型转换

    前言 相信刚开始了解js的时候,都会遇到 2 =='2',但是 1+'2' == '1'+'2'为false的情况,这时候应该会是一脸懵逼的状态,不得不感慨js弱类型的灵活让人发指,隐式类型转换就是这 ...

  5. index_levedb.go

    )     binary.BigEndian.PutUint64(key, fid)     return l.db.Delete(key, nil) } //关闭资源 func (l *LevelD ...

  6. 在使用MFC对话框时遇到的用户交互

    有时我们需要点击对话框上的一个按钮的时候,对话框隐藏起来,然后执行完某个操作后,对话框又弹出来, 这时我们可以使用BeginEditorCommand()和CompleteEditorCommand( ...

  7. 复仇者联盟3热映,我用python爬取影评告诉你它都在讲什么

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  8. 对于zuul服务网关框架资料整理

    本次博客只是整理了一些 看过的博客.源码等 zuul入门(1)zuul 的概念和原理 https://www.cnblogs.com/lexiaofei/p/7080257.html 深入理解Zuul ...

  9. 前端教程(1)http协议的深刻理解

    一 HTTP协议简介 作为学习前端开发的开始,我们必须搞明白以下几件事 1.什么是互联网      互联网=物理连接介质+互联网协议     2.互联网建立的目的? 数据传输打破地域限制,否则的话,我 ...

  10. FOFA爬虫大法——API的简单利用

    FOFA是一款网络空间搜索引擎,它通过进行网络空间测绘,帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析.应用分布统计.应用流行度等. 何为API?如果你在百度百科上搜索,你会得到如 ...