SQL2008入门教程-数据类型

 

 

 

 

SQL2008入门教程-数据类型_第1张图片

1.系统数据库介绍

1.1 master

master数据库记录SQL Server系统的所有系统级别信息,包括安装过程中的设置等初始化信息。它记录所有的登录帐户和系统设置,记录实例中所有的数据库名称、数据库文件的位置等信息。

1.2 model

model数据库用作在系统上创建的所有数据库的模板。当发出 CREATE        DATABASE语句时,新数据库的第一部分通过复制model数据库中的内容创建。

1.3 msdb

msdb数据库用于存储作业、警报以及操作员,SQL Server Agent服务通过msdb数据库调度作业、监视SQL Servser错误触发警报,并将作业或警报的消息传递给操作员。

1.4 tempdb

tempdb数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储SQL Server生成的工作表。 empdb数据库在SQL Server每次启动时都重新创建,因此该数据库在系统启动时总是干净的。

 

2.SQLServer中的数据类型

2.1 整数数据类型 

1、int 
    int 数据类型存储从-231 到231(2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储。 
2、smallint
    smallint 数据类型存储从-215 到215 -1 ( 32,767 )之间的所有正负整数。每个smallint 类型的数据占用2 个字节的存储空间。
 3、tinyint
    tinyint数据类型存储从0 到255 之间的所有正整数。每个tinyint类型的数据占用1 个字节的存储空间。
 4、bigint
    bigint 数据类型存储从-263  到263-1 之间的所有正负整数。每个bigint 类型的数据占用8个字节的存储空间。 

2.2浮点数据类型

    浮点数据类型用于存储十进制小数。采用上舍入(Round up 或称为只入不舍)方式进行存储。所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1 ,并进行必要的进位。如:对3.141保留2 位,结果为3.15 。
1、单精度类型(real) 
    real数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个real类型的数据占用4 个字节的存储空间。
2、双精度类型(float)
    float数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个float 类型的数据占用8 个字节的存储空间。 float数据类型可写为float[ n ]的形式。n 指定float 数据的精度。n 为1到15 之间的整数值。
 3、精确数值类型(decimal、numeric)
         decimal数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2 到17 个字节来存储从-1038 +1到1038-1 之间的数值。可将其写为decimal( p, [s])或Numeric(p,[s])的形式,p 和s 确定了精确的比例和数位。 例如:decimal (15, 5),表示共有15 位数,其中整数10 位,小数5。 

2.3字符数据类型

 是使用最多的数据类型,使用时在其前后加上单引号’或双引号” 。 
1、 char
         char 数据类型的定义形式为char(n)。每个字符和符号占一个字节的存储空间,n 取值为1 到8000,若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
 2、nchar
    nchar数据类型的定义形式为nchar(n)。 它与char 相似,不同的是nchar数据类型n 的取值为1 到4000。 采用UNICODE 标准字符集, 每个字符占用两个字节的存储空间,可以将全世界的语言文字都囊括在内,在一个数据列中可以同时出现中文、英文、法文、德文等。
3、varchar
    varchar数据类型的定义形式为varchar(n)。与char 类型相似,n 的取值也为1 到8000, 不同的是,varchar数据类型具有变动长度的特性,存储长度为实际数值长度,若输入数据的字符数小于n ,则系统不会在其后添加空格来填满设定好的空间。 一般情况下,由于char 数据类型长度固定,因此它比varchar 类型的处理速度快。
 4、nvarchar
   nvarchar数据类型的定义形式为nvarchar(n)。 它与varchar 类型相似。不同的是,nvarchar数据类型采用UNICODE 标准字符集, n 的取值为1 到4000。

2.4日期和时间数据类型

1、 datetime
    用于存储日期和时间的结合体。它可以存储从公元1753 年1 月1 日零时起到公元9999 年12 月31 日23 时59 分59 秒之间的所有日期和时间,其精确度可达三百分之一秒,即3.33 毫秒。所占用的存储空间为8 个字节。
2、 smalldatetime
   smalldatetime 数据类型与datetime 数据类型相似,但其日期时间范围较小,为从1900 年1 月1 日到2079 年6 月6日,时间精度较低,只能精确到分钟,其分钟个位上为根据秒数四舍五入的值,即以30 秒为界四舍五入。使用4 个字节存储数据。
 
日期的输入格式很多大致可分为三类:
英文+数字格式
此类格式中月份可用英文全名或缩写,以下格式均为正确的日期格式:
June 21 2000、 Oct 1 1999、 January 2000 、2000 February
数字+分隔符格式
允许把斜杠(/)、连接符(-)和小数点(.)作为用数字表示的年、月、日之间的分
隔符。如:
YMD:2000/6/22   2000-6-22   2000.6.22
MDY:3/5/2000   3-5-2000    3.5.2000
DMY:31/12/1999   31-12-1999   31.12.2000 
纯数字格式
纯数字格式是以连续的4 位、6位或8 位数字来表示日期。20000601---2000 年6 月1 日  991212---1999 年12 月12 日    1998---1998 年 1月1日
时间输入格式
在输入时间时必须按“小时、分钟、秒、毫秒”的顺序来输入,用冒号隔开。当使用12 小时制时用AM(am) 和PM(pm)分别指定时间是午前或午后,若不指定,系统默认为AM。如:
    3:5:7.2pm---下午3 时5 分7 秒200 毫秒
    10:23:5.123Am---上午10 时23 分5 秒123 毫秒
    可以使用SET DATEFORMAT 命令来设定系统默认的日期-时间格式。

 

2.5二进制数据类型

  1、binary
    用于存储二进制数据。其定义形式为binary( n), n 表示数据的字节数(长度),取值为1 到8000 。binary 类型数据占用n+4 个字节的存储空间。在输入数据时必须在数据前加上字符“0X” 作为二进制标识。
2、varbinary
    varbinary数据类型的定义形式为varbinary(n)。 它与binary 类型相似,n 的取值也为1 到8000,varbinary数据类型具有变动长度的特性,存储长度为实际数值长度+4个字节。由于binary 数据类型长度固定,因此它比varbinary 类型的处理速度快。

2.6逻辑数据类型

     bit数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。 bit 类型不能定义为NULL 值。

2.7文本和图形数据类型

  这类数据类型用于存储大量的字符或二进制数据。
1、text
    text数据类型用于存储大量文本数据,其容量理论最大为231-1 (2G)个字节,在实际应用时需要视硬盘的存储空间而定。
2、 ntext
    ntext数据类型与text.类型相似不同的,是ntext 类型采用UNICODE 标准字符集(Character Set), 因此其理论容量为230-1(1G)个字节。
 3、 image
    image数据类型用于存储大量的二进制数据Binary Data。 其理论容量为231-1(2G)个字节。其存储数据的模式与text 数据类型相同。通常用来存储图形等OLE (Object Linking and Embedding,对象连接和嵌入)对象。在输入数据时同binary数据类型一样,必须在数据前加上字符“0X”作为二进制标识 。

2.8货币数据类型
   货币数据类型用于存储货币值。在使用货币数据类型时,应在数据前加上货币符号,系统才能辨识其为哪国的货币,如果不加货币符号,则默认为“¥”。

1、 money
    money 数据类型的数据是一个有4 位小数的decimal 值,其取值从-2 63到263-1(+922,337,203,685,477.5807),数据精度为万分之一货币单位。money 数据类型使用8个字节存储。
2、 smallmoney
    smallmoney数据类型类似于money 类型,但其存储的货币值范围比money数据类型小,其取值从-214,748.3648到+214,748.3647,存储空间为4 个字节。

 

 

你可能感兴趣的:(sqlserver)