1.数据类型

(1)常用数据类型 

1.整数类型

int

存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。

(每个数值占用 4字节)

smallint

存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据。

(每个数值占用 2 字节)

tinyint

存储范围是0到255 之间的整数,用来存储有限数目的数值。

(每个数值占用 1 字节)

bigint

存储范围是-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之间的整数。

(每个数值占用 8 字节)

bit

值只能是0或1,当输入0以外的其他值时,系统均把它们当1看待。常用来表示真假、男女等二值选择。

2.数值类型

decimal(p,s)

p 为精度(有效位),表示可储存数值的最大位数,小数点左右两侧都包括在内,默认最大位为38 位;s为小数位数,标识小数点后  面所能储存的最大位数,默认最小位为0位。如:123.45,则 p=5,s=2(内存大小取决于精度p)

numeric(p,s)

numeric 和 decimal 是功能相同的,同是用来保存精度可变的浮点型数据。

float

浮点型,它是一种近似数值类型,float(n)可储存1-53的可变精度浮点数值。

(内存大小取决于精度n)

money

货币型,能存储从-9220 亿到 9220 亿之间的数据,精确到小数点后四位。

(每个数值占用 8 字节)

3.日期时间

datetime

储存有效日期范围是1753/1/1~9999/12/31,可精准到3.33毫秒。(每个数值占用 8 字节)

smalldatetime

储存有效日期范围是1900/1/1~2079/6/6,精确到分钟。(每个数值占用 4 字节)

4.二进制类型

image

虽然类型名为image, 但是并不意味着只能保存图片二进制数据,实际上它可以保存任何二进制数据。

5.字符串类型

char(m)

固定长度字符串,长度为 m。

nchar(m)

国际化固定长度字符串,长度为 m。

varchar(m)

可变长度字符串,最大长度为m,且必须是一个介于 1 和 8,000 之间的数值。

nvarchar(m)

国际化可变长度字符串,最大长度为m, 且必须是一个介于 1 和 4,000 之间的数值。

text

可变长度字符串,最大长度为 231 - 1个字节。

ntext

国际化可变长度字符串,最大长度为 230 - 1个字符。

  国际化就是通用与标准。char、varchar、text储存的字符是基于ASCII编码格式,对于其他编码格式的字符可能会造成存储问题。Unicode字符集(万国码)就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、 nvarchar、ntext存储的正是Unicode编码格式的字符。所以一般来说,如果含有中文字符,用nchar、nvarchar、ntext, 如果只含英文字符,就用char、varchar、text。

作者:Esofar

出处:http://www.cnblogs.com/esofar/p/4852765.html

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

第一大类:整数数据

  bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.
  int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.
  smallint:以2个字节来存储正负数.存储范围为:-2^15至2^15-1
  tinyint: 是最小的整数类型,仅用1字节,范围:0至此^8-1  第二大类:精确数值数据   numeric:表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化.
  decimal:和numeric差不多  第三大类:近似浮点数值数据
  float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.
  real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38  第四大类:日期时间数据
  datatime:表示时间范围可以表示从1753/1/1至9999/12/31.使用8个字节.,精确到3.33毫秒
  smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节,精确到分钟  第五大类:字符串数据
  char:长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.
  varchar:长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉.
  text:长宽也是设定的,最长可以存放2G的数据.  第六大类:Unincode字符串数据
  nchar:长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.
  nvarchar:长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.
  ntext:长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.  第七大类:货币数据类型
  money:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8 个字节.
  smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.  第八大类:标记数据
  timestamp:该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新.
  uniqueidentifier:用于识别数据库里面许多个表的唯一一个记录.  第九大类:二进制码字符串数据
  binary:固定长度的二进制码字符串字段,最短为1,最长为8000.
  varbinary:与binary差异为数据尾部是00时,varbinary会将其去掉
  image:为可变长度的二进制码字符串,最长2G.

详细数据类型分类

  

(2)新增数据类型:

  ~ XML:专门用来存储xml

  ~varchar(max)与nvarchar(max):加个max是什么意思呢,不是传统意义上的8000,max指示该类型最大存储大小为2^32 - 1,约为2G。该类型用来替代原本的text与ntext类型,text与ntext在未来更高的版本会被抛弃

  ~varbinary(max):与varbinary相同特性,max指示该类型最大存储大小为2^32 - 1,约为2G

(3)数据存储基本拓展:

  概念:数据以页为单位存储,一个页8KB,去掉固定要用的相关开销,还有8060个字节可以使用。8个页组成一个扩展区;

  分配单元:

  【1】IN_ROW_DATA:存储行内数据

  【2】ROW_OVERFLOW_DATA:当【1】中的行数据超过一个页最大存储空间(即8060B时),存储溢出数据。原行内留下一个24B的指针

  【3】LOB_Data:存储Lob(二进制)对象

2.同义词

  概念:同义词的概念我是这么理解的,其实就是再起个名字;举个例子,李狗蛋有3个称呼,大名李狗蛋,外号二狗子,小名蛋蛋。

        由此可以看出,大名、外号、小名都代表的是同一个人,外号和小名是基于大名得来的,所以大名就叫做基对象,而小名和外号就叫做同义词。

  特点:

    (1)局部同义词名称唯一

    (2)对同义词做的任何更改其实就是在修改基对象

    (3)不能引用用户定义的聚合函数

  基本形式:

--基本形式
create synonym 同义词名
for 基对象
--实例演示
create synonym test102
for dbo.test101

3.分区表

  概念:其实就是把表中数据,根据水平或者垂直分割

    (1)水平分割:其实就是列太多,把它分到多个表中,要查的时候就join起来

    (2)垂直分割:其实就是行数据太多,导致单表太大,把它分成多个相同结构的表,分别根据某个逻辑(比如说时间字段)去进行分割

  操作:

       (1). 创建分区函数

    (2). 创建分区方案

    (3). 对表进行分区

  概念加实操参考:

    (1)基础:http://www.cnblogs.com/gered/p/8074747.html

    (2)深入:http://www.cnblogs.com/gered/p/8856585.html

    (3)探究:http://www.cnblogs.com/CareySon/archive/2011/12/30/2307766.html

(2.1)DDL增强功能-数据类型、同义词、分区表的更多相关文章

  1. (2.2)DDL增强功能-自定义函数与存储过程

    1.存储过程 精华总结: 通过对比@@ERROR一般和if判断结合使用,@@TRANCOUNT和try catch块结合使用,xact_abort为on可以单独使用Xact_abort为off时,如果 ...

  2. (2.5)DDL增强功能-触发器trigger

    SQL Server:触发器详解   1. 概述 2. 触发器的分类 3. Inserted和Deleted表 4. 触发器的执行过程 5. 创建触发器 6. 修改触发器: 7. 删除触发器: 8. ...

  3. (2.3)DDL增强功能-流程化控制与动态sql

    1.流程控制 在T-SQL中,与流程控制语句相关的关键字有8个: BEGIN...END BREAK GOTO CONTINUE IF...ELSE WHILE RETURN WAITFOR 其实还可 ...

  4. (2.4)DDL增强功能-数据汇总grouping、rollup、cube

    参考:https://www.cnblogs.com/nikyxxx/archive/2012/11/27/2791001.html 1.rollup (1)rollup在group by 子句中使用 ...

  5. 12c分区增强功能,新功能(文档ID 1568010.1)

    12c Partitioning Enhancements, New Features (Doc ID 1568010.1) APPLIES TO: Oracle Database - Enterpr ...

  6. virtualbox安装增强功能时【未能加载虚拟光盘】

    virtualbox安装增强功能时[未能加载虚拟光盘] 今天在使用Virtualbox中的Ubuntu虚拟机,想安装增强功能来实现更改分辨率,但是在安装时出错:未能加载虚拟光驱 VBoxsGuestA ...

  7. virtualbox安装增强功能(centos6.5)

    vitualbox安装增强功能(centos 6.5) 1. 安装依赖包 #yum install kernel-headers-$(uname -r) #yum install kernel-dev ...

  8. VirtualBox-Linux系统安装增强功能

    我们在安装之前,必须得先安装好它所需要的依赖包,不然安装过程必定会出现错误! 一.安装依赖包 #yum install kernel-headers #yum install kernel-devel ...

  9. 安装Virtual Box增强功能 - Ubuntu

    一.开发环境 操作系统:Windows 7Virtual Box 版本: 5.0.10 虚拟机系统: Ubuntu 12.04 LTS 二.问题 进入Ubuntu图形界面后,选择“设备” --> ...

随机推荐

  1. 【python】\\u的字符编码问题

    Str = "\\u559c\\u6b22\\u4e00\\u4e2a\\u4eba";Str = Str.decode("unicode-escape")

  2. 继承MonoBehaviour类的优缺点和相关报错

    Unity3D文档里虽然说所有脚本继承MonoBehaviour类,但如果你想自定义类,就可以不用继承MonoBehaviour,但是这个类只能调用其中的方法和属性,无法拖到场景的物体中使用. 所有从 ...

  3. windows下dubbo-admin和zookeeper安装部署

    1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...

  4. Ubuntu 建立桌面快捷方式

    非常多时候,在Ubuntu下软件能够通过命令安装.可是有时候比較方便的方法就是下载一个压缩包,解压就能够使用了. 可是每次使用都要先跳到解压文件夹.这就比較麻烦.所以能够通过创建桌面快捷方式来解决问题 ...

  5. 打地鼠游戏iOS源代码项目

    打地鼠游戏源代码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源代码.这也是一款高质量的打地鼠游戏源代码.能够拥有逐步上升的关卡的设置,大家能够在关卡时设置一些商业化的模式来盈利的,很完美的 ...

  6. mybatis由浅入深day02_3一对多查询

    3 一对多查询 3.1 需求(查询订单及订单明细的信息) 查询订单及订单明细的信息. 3.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. ...

  7. Android 中如何从一个App启动另外一个App(如启动支付界面、启动地图界面、应用商场下载App等场景)

    假定两个App,分别是A和B,当A运行某个功能需要启动B,一种是启动B应用,一种直接进入B的某个Activity.搜了很多资料,没有一个完整的.下面就A--Android5.1.1.B--Androi ...

  8. PL/SQL编程1-基础

    编写第一个存储过程 create or replace procedure test_pro1 is begin ','zydev'); end; / 查看错误 show error 执行存储过程 e ...

  9. fgetc read缓冲机制区别

    read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的 比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O ...

  10. 如何快速入门单片机C语言

    一.为什么要学单片机技术? 传统的电子产品升级改造成智能化的电子产品需要用到单片机技术.也就是说传统的电子产品如电视机.电子表.计算器.数码相机.手机.MP3.遥控器.洗衣机等产品智能化.微型化,需要 ...