欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数据表的创建与操作.ppt

    • 资源ID:5986102       资源大小:388KB        全文页数:46页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据表的创建与操作.ppt

    第4章 数据表的创建与操作,第一节 数据类型,第4章 数据表的创建与操作,4.1 数据类型4.2 运算符与表达式4.3 系统内置函数4.4 用SSMS创建数据表及约束对象4.5 用T-SQL语句创建数据表及约束对象4.6 查看表信息、输入数据、编辑和删除记录4.7 数据表及约束对象的删除4.8 数据库应用实例电脑器材销售管理的数据表4.9 实训要求与习题,第4章 数据表的创建与操作,学习目的与要求数据表是数据库中最重要的对象,数据库的全部数据都存储在不同的数据表中,因而数据表的设计成功与否是数据库设计的关键,将直接影响到数据库使用的合理有效。了解SQL Server数据库系统,掌握数据表的数据类型、运算符与表达式、常用系统函数是创建数据库必备的基础知识。数据表及约束对象的创建以及数据的输入更新是创建数据库的重要环节。通过本章学习,读者应熟悉并掌握SQL Server数据库的数据类型、表达式和常用内置函数,掌握数据表及约束对象的创建、修改、删除以及数据的输入、更新、删除等操作,独立创建电脑器材销售管理diannaoxs数据库的各个数据表。,4.1 数据类型,数据类型决定了数据的存储格式、长度、精度等属性。SQL Server为我们提供了多达26种的丰富数据类型,用户还可以自己定义数据类型(见第7章)。4.1.1、二进制数据 SQL Server用binary、varbinary 和image三种数据类型来存储二进制数据。二进制类型可用于存储声音图像等数字类型的数据。1、定长二进制 binary(n)按n个字节的固定长度存放二进制数据,最大长度为8K字节,即1n8000。若实际数据不足n个字节,则在数据尾部加0补足n个字节。2、变长二进制 varbinary(n)按不超过n个字节的实际长度存放二进制数据,最大长度8K字节,即1n8000。若实际数据不足n个字节,按实际长度存储数据,不补充加0;,什么是数据类型,3、图像二进制 Image,图像二进制可存储不超过231-1个字节的二进制数据,比如文本文档、Excel图表以及图像数据(包括.GIF、.BMP、.JPEG文件)等。注意:l 二进制数据常量不允许加引号,默认用十进制书写,如1234、1011均视为十进制常量,如果使用十六进制则必须加0 x前缀。输出显示默认采用十六进制。l若实际数据二进制长度超过指定的n个字节,用局部变量存储时只截取二进制的前n个字节,其余二进制位舍掉。l数据库中二进制字段的数据不能在数据表中直接输入,即“无法编辑该单元”。l在用INSERT或UPDATE为数据表二进制字段输入、更新数据时,如果超过n字节,则系统提示“将截断字符串或二进制数据”并终止命令执行,不能保存该数据。,【例4-1】二进制数据1aa2bb3cc4共40位5个字节,可表示为0 x1aa2bb3cc4 若定义数据类型为binary(6)则数据后加0按6字节存储为:0 x1aa2bb3cc400 若定义数据类型为varbinary(6)则按实际数据存储为:0 x1aa2bb3cc4 若定义数据类型为binary(4)或varbinary(4),则在局部变量中存储为:0 x1aa2bb3c。存储到数据表字段中时,系统提示“将截断字符串或二进制数据”不能保存该数据。,、数值型数据,SQL Server数值型数据共8种,整型4种,实型4种。1字节型整数 TinyInt 占1个字节固定长度内存,可存储0-255范围内的任意无符号整数。2短整型整数 smallInt 占2字节固定长度内存,最高位为符号位,可存储-3276832767(-215215-1)的任意整数。3基本整型整数 Int 或Integer 占4字节固定长度内存,高位为符号位,可存储-2147483648-2147483647(-231-231-1)范围内的任意整数。4长整型整数 Bigint 占8字节固定长度内存,高位为符号位,可存储-263到263-1范围内的任意整据。注意:整型数据可以在较少字节里存储精确的整型数字,存储效率高,不可能出现小数的数据应尽量选用整数类型。,5近似值实型浮点数 real,占4字节固定长度内存,最多7位有效数字,范围从-3.40E+38到1.79E+38。6可变精度实型浮点数 float(n)l当n的取值为1-24时,数据精度是7位有效数字,范围从-3.40E+38到1.79E+38,占4字节内存。l 当n的取值为25-53时,精度是15位有效数字,范围从-1.79E+308到1.79E+308,占8字节内存。l实型浮点数常量可以直接使用科学记数法的指数形式书写。,7精确小数型数据 Numeric(p,s),lp指定总位数(不含小数点),p的取值范围1p38。即最多可达38位有效数字,不使用指数的科学记数法表示,但取值范围必须在-1038到1038-1之间。ls指定其中的小数位数,s的取值范围0sp。l numeric型数据在数据表里可带identity关键字(自动增长字段)。lnumeric型数据所占的存储空间随精度的不同而不同,一般说来对应关系为:p的取值范围 数据所占内存字节数 1-9 5 10-19 9 20-28 13 29-38 178精确小数型数据 Decimal(p,s)或 Dec(p,s)该类型数据与Numeric(p,s)类型用法相同,所不同的是Decimal(p,s)不能用于数据表的identity字段。,8精确小数型数据 Decimal(p,s)或 Dec(p,s),该类型数据与Numeric(p,s)类型用法相同,所不同的是Decimal(p,s)不能用于数据表的identity字段。,字符型数据,SQL Server提供了Char(n)、Varchar(n)和Text三种ASC码字符型数据。1定长字符型 Char(n)按n个字节的固定长度存放字符串,每个字符占用一个字节,长度范围1n8000;若实际字符串长度小于n,则尾部填充空格按n个字节的字符串存储。2变长字符型 Varchar(n)按不超过n个字节的实际长度存放字符串,可指定最大长度为1n8000;若实际字符串长度小于n,则按字串实际长度存储,不填充空格。当存储的字符串长度不固定时,使用Varchar数据类型可以有效地节省空间。,3文本类型 Text,Text类型存储的是可变长度的字符数据类型,最大长度为231-1字节2GB的数据。当存储超过8000字节时,可选择Text数据类型。l字符型数据采用ASC码字符集,英文符号占1个字节,汉字占2个字节。l字符型字符串常量必须使用单引号括起来。lChar、Varchar数据类型若不指定长度,默认为1字节。l若实际字符串长度超过指定的n个字节,用局部变量存储时只截取字符串前n个字节,其余字符舍掉。l字符型字符串数据可以在SSMS中直接输入到数据表中,但输入的字符串长度超过字段指定长度时系统不接受,也不会自动截取。l在用INSERT或UPDATE为数据表字符型字段输入、更新字符串时,如果超过n字节则系统提示“将截断字符串或二进制数据”并终止命令执行,不能保存该数据。,【例4-2】字符型字符串abcdABCD我们学习共12个字符占16字节。若定义数据类型为char(20)则存储为:abcdABCD我们学习 若定义数据类型为varchar(20)则按实际长度存储为:abcdABCD我们学习 若定义数据类型为char(10)或varchar(10),则在局部变量中存储为:abcdABCD我 存储到数据表字段中时,系统提示“将截断字符串或二进制数据”不能保存该数据。,统一字符型数据,统一字符型也称为宽字符型,采用Unicode字符集,包括了世界上所有语言符号,一个英文符号或一个汉字都占用2个字节的内存。前127个字符为ASC码字符。SQL Server提供了Nchar(n)、Nvarchar(n)和Ntext三种统一字符型数据。1定长统一字符型 Nchar(n)按n个字符的固定长度存放字符串,每个字符占用2个字节,长度范围1n4000;若实际字符个数小于最大长度n,则尾部填充空格按n个字符存储。2变长统一字符型 Nvarchar(n)按不超过n个字符的实际长度存放字符串,可指定最大字符数为1n4000;若实际字符个数小于n,则按字符串实际长度占用存储空间,不填充空格。,3统一字符文本类型 Ntext,Ntext存储的是可变长度的双字节字符数据类型,最多可以存储(230-1)/2个字符。l统一字符型数据长度n为“字符”个数,所占字节数为2*n。l统一字符型字符串常量必须使用单引号括起来。lNchar、Nvarchar数据类型若不指定长度n,默认为1个字符(2个字节)。l若实际字符串长度超过指定的n个字符,用局部变量存储时只截取字符串前n个字符,其余字符舍掉。l统一字符型数据可以在SSMS中直接输入到数据表中,但输入的字符个数超过字段长度时则系统不接受。l在用INSERT或UPDATE为数据表统一字符型字段输入、更新字符串时,若超过n个字符则系统提示“将截断字符串或二进制数据”并终止命令执行,不能保存该数据。,【例4-3】字符串abcdABCD我们学习作为统一字符型共12个字符占24字节。若定义数据类型为Nchar(14)则存储为:abcdABCD我们学习 若定义数据类型为Nvarchar(14)则按实际字符数存储为:abcdABCD我们学习 若定义数据类型为Nchar(10)或Nvarchar(10),则在局部变量中存储为:abcdABCD我们 存储到数据表字段中时,系统提示“将截断字符串或二进制数据”不能保存该数据。,日期/时间型数据,SQL Server提供的日期/时间数据类型可存储日期和时间的组合数据。以日期/时间类型存储日期或时间数据比字符型更简单,因为SQL Server提供了一系列专门处理日期和时间的函数来处理这类数据。若使用字符型存储日期和时间,计算机不能识别,也不能自动对这些数据按照日期和时间进行处理。SQL Server提供了Smalldatetime和Datetime两种日期/时间的数据类型。1短日期/时间型 Smalldatetime 占4个字节固定长度的内存,存放1900年1月1日到2079年6月6日的日期时间,可以精确到分。,2基本日期/时间型 Datetime,占8个字节固定长度的内存,存放1753年1月1日到9999年12月31日的日期时间,可以精确到千分之一秒,即0.001s。注意:l日期时间型常量与字符串常量相同必须使用单引号括起来。lSQL Server在用户没有指定小时以下精确的时间数据时,自动设置Datetime或Smalldatetime数据的时间为00:00:00。l数据库中默认的日期格式为“年-月-日”,输入时可使用年/月/日或年-月-日,也可以使用月/日/年、月-日-年、日/月/年或日-月-年。l如果使用日/月/年或日-月-年,系统不能区分时默认按“月-日-年”处理。,货币型数据,SQL Server提供了Smallmoney和Money两种货币型数据。1短货币型 Smallmoney 该类型占4个字节固定长度的内存,实际是由2个2字节的整数构成,前2个字节为货币值的整数部分,后2个字节为货币值的小数部分。货币值的范围从-214748.3648到+214748.3647,可以精确到万分之一货币单位。2基本货币型 Money 该类型占8个字节固定长度的内存,由2个4字节的整数构成,前4个字节为货币值的整数部分,后4个字节表示货币值的小数部分。货币值的范围从-263到263-1,可精确到万分之一货币单位。Money或Smallmoney类型的数值常量,应加货币符号$前缀,负数时加后缀$。如:$222.222,-333.333$,位类型数据 bit,l位类型只能存放0、1和NULL(空值),一般用于逻辑判断。l位类型数据占1位二进制内存,如果一个数据表中有8个以下的位类型字段,系统用一个字节存储所有这些字段,超过8个不足16个用2个字节存放。l位类型数据输入任意的非0值时,都按1处理。SQL Server 常用数据类型见表4.1。,其他特殊数据类型,1、Timestamp:也称为时间戳数据类型,它提供数据库范围内的惟一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。2、Uniqueidentifier:用于存储16字节长度的二进制数据类型,是SQL Server根据计算机网络适配器地址和CPU时钟而产生的全局惟一标识符代码(Globally Unique Identifier,简写为GUID)。3、sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQL Server数据。4、table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得用一个变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。,图像、文本型数据的存储方式,存储文本、图像等大型数据时,可使用Text、Ntext和Image三种数据类型,这三种数据类型的数据量往往比较大,在SQL Server 7.0以前的版本中,文本和图像数据被存储在专门的页中,在数据行的相应位置只保存指向这些数据的指针。SQL Server 2005提供了将小型文本或图像数据直接在行中存储的功能,不需要到另外的页中访问这些数据,使得读写文本和图像数据可以与读写普通字符串一样快。使用系统存储过程sp_tableoption可以指定文本或图像数据是否在表的行中存储。语法格式:sp_tableoption 表名,text in row,TRUE|FALSE,图像、文本型数据的存储方式,说明:l 当指定“TRUE”选项时,允许小型文本或图像数据直接在该表的行中存储,而且还可以指定文本或图像数据大小的上限值(24-7000字节),默认上限256字节。l当数据的大小不超过上限值而且同时数据行有足够空间时,文本和图像数据就会直接存储在行中。l若以上两个条件有一个不满足时,行中仍只存放指向数据存储位置的指针。【例4-4】在当前数据库中创建数据表example,字段bin_1存放TEXT类型数据,bin_2存放NTEXT类型数据,bin_3存放Image类型数据。CREATE TABLE example(bin_1 text,bin_2 ntext,bin_3 ntext Image)Go/*以下语句指定不大于1000字节的文本或图像数据在行中存储*/sp_tableoption example,text in row,TRUEsp_tableoption example,text in row,1000/*以下语句指定Mytable表不在行中存储文本和图像数据*/sp_tableoption Mytable,text in row,FALSE,、局部变量的定义与输出,本书在第7、8章将专门详细介绍T-SQL的程序设计、批处理、局部变量、自定义类型和函数、游标、存储过程与触发器,但在前几章也许会用到批处理及局部变量的概念,为此我们先简单介绍一下有关的知识。1、批处理 批处理是一个或多个SQL语句的集合,构成一个独立的程序模块,以GO语句为结束标志。从程序开头或从某一个GO语句开始到下一个GO语句或程序结束为一个批处理。2、局部变量 局部变量是用户自定义的变量,用于临时存储各种类型的数据。,3、定义局部变量,语法格式:DECLARE 变量名 数据类型(长度),n 例如:DECLARE x int,s decimal(8.4)注意:l局部变量必须以开头以区别字段名变量。固定长度的类型不需要指定长度。l 局部变量只在一个批处理内有效,其生命周期从定义开始到它遇到的第一个GO语句或者到程序结束。4、局部变量的赋值 语法格式:SET 局部变量=表达式5、显示输出局部变量 语法格式:PRINT 局部变量或表达式,Character 字符串,char(n)固定长度的字符串。最多 8,000 个字符。n varchar(n)可变长度的字符串。最多 8,000 个字符。varchar(max)可变长度的字符串。最多 1,073,741,824 个字符。text 可变长度的字符串。最多 2GB 字符数据。,Unicode 字符串,nchar(n)固定长度的 Unicode 数据。最多 4,000 个字符。nvarchar(n)可变长度的 Unicode 数据。最多 4,000 个字符。nvarchar(max)可变长度的 Unicode 数据。最多 536,870,912 个字符。ntext 可变长度的 Unicode 数据。最多 2GB 字符数据。,Binary 类型,bit 允许 0、1 或 NULL binary(n)固定长度的二进制数据。最多 8,000 字节。varbinary(n)可变长度的二进制数据。最多 8,000 字节。varbinary(max)可变长度的二进制数据。最多 2GB 字节。image 可变长度的二进制数据。最多 2GB。,Number 类型,tinyint 允许从 0 到 255 的所有数字。1 字节 smallint 允许从-32,768 到 32,767 的所有数字。2 字节 int 允许从-2,147,483,648 到 2,147,483,647 的所有数字。4 字节 bigint 允许介于-9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。8 字节 decimal(p,s)固定精度和比例的数字。允许从-1038+1 到 1038-1 之间的数字。占用 5-17 字节 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。,Number 类型,numeric(p,s)固定精度和比例的数字。允许从-1038+1 到 1038-1 之间的数字。占用5-17 字节 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。smallmoney 介于-214,748.3648 和 214,748.3647 之间的货币数据。4 字节 money 介于-922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。8 字节 float(n)从-1.79E+308 到 1.79E+308 的浮动精度数字数据。参数 n 指示该字段保存 4 字节还是 8 字节。float(24)保存 4 字节,而 float(53)保存 8 字节。n 的默认值是 53。4 或 8 字节 real 从-3.40E+38 到 3.40E+38 的浮动精度数字数据。4 字节,Date 类型,datetime 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。8 bytes datetime2 从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。6-8 bytes smalldatetime 从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。4 bytes date 仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。3 bytes time 仅存储时间。精度为 100 纳秒。3-5 bytes datetimeoffset 与 datetime2 相同,外加时区偏移。8-10 bytes timestamp 存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。,其他数据类型,sql_variant 存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。uniqueidentifier 存储全局标识符(GUID)。xml 存储 XML 格式化数据。最多 2GB。cursor 存储对用于数据库操作的指针的引用。table 存储结果集,供稍后处理。,(1)二进制数据类型,二进制数据包括 Binary、Varbinary 和 ImageBinary 数据类型既可以是固定长度的(Binary),也可以是变长度的。Binary(n)是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n+4 个字节。Varbinary(n)是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n+4个字节,不是n 个字节。在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。,字符数据类型,字符数据的类型包括 Char,Varchar 和 Text字符数据是由任何字母、符号和数字任意组合而成的数据。Varchar 是变长字符数据,其长度不超过 8KB。Char 是定长字符数据,其长度最多为 8KB。超过 8KB 的ASCII 数据可以使用Text数据类型存储。例如,因为 Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型存储在SQL Server 中。,Unicode 数据类型,Unicode 数据类型包括 Nchar,Nvarchar 和Ntext在 Microsoft SQL Server 中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中,允许选择一种字符集。使用 Unicode 数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode 标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所战胜的窨是使用非 Unicode 数据类型所占用的窨大小的两倍。在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储4000 个字符。当使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。,日期和时间数据类型,日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。使用 Smalldatetime 数据类型时,所存储的日期范围是 1900年 1 月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4 个存储字节)。日期的格式可以设定。设置日期格式的命令如下:Set DateFormat format|format _var|其中,format|format_var 是日期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默认情况下,日期格式为MDY。例如,当执行 Set DateFormat YMD 之后,日期的格式为年 月 日 形式;当执行 Set DateFormat DMY 之后,日期的格式为日 月有年 形式,数字数据类型,数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数整数由正整数和负整数组成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整数存储的数据类型是 Int,Smallint和 Tinyint。Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,而 Smallint 据类型存储数据的范围大于Tinyint 数据类型存储数据的范围。使用 Int 数据狗昔存储数据的范围是从-2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。使用 Smallint 数据类型时,存储数据的范围从-32 768 到 32 767(每一个值要求2个字节存储空间)。使用Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。精确小娄数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。,货币数据表示正的或者负的货币数量,在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。,特殊数据类型,特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有3种,即 Timestamp、Bit 和 Uniqueidentifier。Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系。Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。,用户定义的数据类型,用户定义的数据类型基于在 Microsoft SQL Server 中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。例如,可定义一种称为 postal_code 的数据类型,它基于 Char 数据类型。当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型和数据类型的可空性。,创建用户定义的数据类型,创建用户定义的数据类型可以使用 Transact-SQL 语句。系统存储过程 sp_addtype 可以来创建用户定义的数据类型。其语法形式如下:sp_addtype type,system_data_bype,null_type其中,type 是用户定义的数据类型的名称。system_data_type 是系统提供的数据类型,例如 Decimal、Int、Char 等等。null_type 表示该数据类型是如何处理空值的,必须使用单引号引起来,例如NULL、NOT NULL或者NONULL。例子:Use custExec sp_addtype ssn,Varchar(11),Not Null创建一个用户定义的数据类型 ssn,其基于的系统数据类型是变长为11 的字符,不允许空。例子:Use custExec sp_addtype birthday,datetime,Null创建一个用户定义的数据类型 birthday,其基于的系统数据类型是 DateTime,允许空。例子:Use masterExec sp_addtype telephone,varchar(24),Not NullEexc sp_addtype fax,varchar(24),Null创建两个数据类型,即 telephone 和 fax,删除用户定义的数据类型,当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype type。例子:Use masterExec sp_droptype ssn注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。,SQL SERVER的字段类型说明,以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。字段类型 描述 bit 0或1的整型数字 int 从-231(-2,147,483,648)到231(2,147,483,647)的整型数字 smallint 从-215(-32,768)到215(32,767)的整型数字 tinyint 从0到255的整型数字 decimal 从-1038到1038-1的定精度与有效位数的数字 numeric decimal的同义词 money 从-263(-922,337,203,685,477.5808)到263-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十 smallmoney 从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十 float 从-1.79E+308到1.79E+308可变精度的数字 real 从-3.04E+38到3.04E+38可变精度的数字,SQL SERVER的字段类型说明,datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟 timestamp 时间戳,一个数据库宽度的唯一数字 uniqueidentifier 全球唯一标识符GUID char 定长非Unicode的字符型数据,最大长度为8000 varchar 变长非Unicode的字符型数据,最大长度为8000 text 变长非Unicode的字符型数据,最大长度为231-1(2G)nchar 定长Unicode的字符型数据,最大长度为8000 nvarchar 变长Unicode的字符型数据,最大长度为8000 ntext 变长Unicode的字符型数据,最大长度为231-1(2G)binary 定长二进制数据,最大长度为8000 varbinary 变长二进制数据,最大长度为8000 image 变长二进制数据,最大长度为231-1(2G),在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节,此类单位的换算为:其中1024=210(2 的10次方),1KB(Kibibyte 千字节)=1024B,1MB(Mebibyte 兆字节 简称“兆”)=1024KB,1GB(Gigabyte 吉字节 又称“千兆”)=1024MB,1TB(Terabyte 万亿字节 太字节)=1024GB,1PB(Petabyte 千万亿字节 拍字节)=1024TB,1EB(Exabyte 百亿亿字节 艾字节)=1024PB,1ZB(Zettabyte 十万亿亿字节 泽字节)=1024 EB,1YB(Yottabyte 一亿亿亿字节 尧字节)=1024 ZB,1BB(Brontobyte 一千亿亿亿字节)=1024 YB注意:MiB和MB,KiB和KB等的区别:1KiB(kibibyte)=1024byte1KB(kilobyte)=1000byte1MiB(mebibyte)=1048576byte1MB(megabyte)=1000000byte这是因为硬盘生产商是以GB(十进制,即10的3次方=1000,如1MB=1000KB)计算的,而电脑(操作系统)是以GiB(2进制,即2的 10次方,如1MiB=1024KB)计算的,但是国内用户一般理解为1MB=1024 KB,所以为了便于中文化的理解,翻译MiB为MB也是可以的。同样根据硬盘厂商与用户对于1MB大小的不同理解,所以好多160G的硬盘实际容量按计算机实际的1MB=1024KB算都不到160G,这也可以解释为什么新买的硬盘“缺斤短两”并没有它所标示的那么大。注:10TB大约等于一个人脑的存储量。,

    注意事项

    本文(数据表的创建与操作.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开